Skip to main content

MPSGE Documentation and Starting the Household Disaggregation

Mitch Phillipson December 19, 2025


This week I have been working on two projects: documenting MPSGE.jl and starting the household disaggregation for WiNDC. Both of these projects are going surprisingly well. I’ll discuss a few interesting points about each below.

Household Disaggregation

I have started the household disaggregation for WiNDC, it going surprisingly well. I have translated the raw data acquisition code from R into Julia, and about halfway through the disaggregation process. I plan to have this done by the end of the year.

Part of my goal with the household disaggregation is create a detailed guide of how to disaggregate data using the WiNDCContainer framework. This is a necessary step to make WiNDC more friendly for users, who will want to customize their data.

MPSGE Documentation

The documentation for MPSGE is currently too minimal to be useful. To rectify this, I’ve written a new section of the documentation that describes the backend of MPSGE. It is currently available in the preview documentation here.

The real goal of this work is to reinforce my understanding of what is important in MPSGE’s design and implementation. The current implementation of MPSGE is “forward design”, meaning that we were figuring out how MPSGE worked as we were implementing it. This is not the best way to design anything, it is much better to have an end goal and design towards that, or backwards design. By writing this documentation, I am forcing myself to think about what the important parts of MPSGE are, and how they fit together. This will be invaluable when I start to make changes to MPSGE in the future.

In the new year I plan to redesign MPSGE. I plan on using backwards design to make MPSGE more use friendly, efficient, and extensible. I will be writing the documentation as I go, which will hopefully solve the lack of documentation problem that MPSGE currently has.

My goal is to not change the user interface of MPSGE. This will make it so that end users won’t need to modify their code, but get all the advantages. If this isn’t possible, I will make sure to document any changes thoroughly.