Expenditure Version

When in doubt, go with V2

To change your expenditure version, go to Settings > Expenditure > Expenditure Version


We recommend using the Expenditure V2 algorithm for all people and circumstances. When the Expenditure V1 algorithm was released, it was the best solution on the market for back-calculating expenditure. If it weren’t for Expenditure V2, it still would be.

The primary differences are that compared to Expenditure V1, Expenditure V2 will:

  • Reduce the frequency and magnitude of over-correction periods.

  • Start responding sooner to true changes in energy expenditure.

  • Communicate gaps in data availability better.

Expenditure V2 FAQ

What is average expenditure?

Average expenditure is the output of our expenditure algorithm; you can learn how expenditure is calculated in the expenditure knowledge base article.

For a more comprehensive breakdown of expenditure that includes the why behind it, you should check out the algorithms and philosophy article.

How do I interpret changes in expenditure?

We have a complete knowledge base article dedicated to this topic: how to interpret changes to your energy expenditure.

What is flux range?

Flux range is an indicator of change magnitude. It tells you about time periods where notable movement/change in your expenditure is occurring and how large the navigable space of that change is.

Navigable space refers to the fact that the algorithm could have taken any path through that shaded area of the chart. One of the new features of Expenditure V2 is the algorithm's ability to navigate through the flux range intelligently instead of relying on a fixed route.

This intelligence is similar to how a modern GPS navigation system might consider things like roadblocks, traffic, and fuel efficiency when choosing which roads to use while navigating you to your destination. In this GPS navigation example, the navigable space would be the number of unique routes the system had the potential to choose.

Notably, if a GPS navigation system has to choose between more potential routes, that does not lower its confidence in the selected course. The expenditure algorithm behaves the same when faced with a larger flux range.

It's tempting to think of flux range as a confidence interval, and that's not a harmful simplification, but it's not technically accurate. If it were a confidence interval, it would mean that a larger flux range represents a larger potential for error, but this is not a direct relationship.

If all this sounds a little wild and confusing, have no fear, there's no need to interpret the flux range yourself. We only show the flux range for fun and curiosity.

What is the paused status?

Paused status indicates when the expenditure algorithm is not actively calculating new results. Paused status is shown when data availability is too low for the algorithm to continue processing and reverts to a holding strategy.

Paused status is communicated by showing a square point maker instead or a circular point marker on the chart.

Expenditure V1 is actually paused in all of the same locations, but the holding strategy is different. Expenditure V1’s strategy is to pause calculations but continue following the smoothing curve. This can be non-ideal because it presumes that the directionality of expenditure will continue during the holding period, but this isn’t always true. With Expenditure V2, we’ve figured out how to provide a true pause, which is the strategy that performs better.

Should I worry about data availability?

Not at all. When data availability is too low, the status will become paused, so monitoring the sliding scale of data availability itself is unnecessary. Furthermore, even paused status doesn’t always need to be cause for concern. You can still get great results with occasional pausing. A more obvious scenario is vacationing; if you choose not to track on vacation, the paused status should be a comforting signal that everything is handled and will resume without issue a short while after you return to tracking.

What does the maximum and minimum data availability represent?

Even though the algorithm doesn’t use a weekly simple moving average, it can be helpful to think of data availability on a weekly rolling basis. For each data point, looking back seven days, data availability is assessing the amount of nutrition and weight data that’s present.


Nutrition Data: 7 out of 7

Weight Data: 5 to 7 out of 7


Nutrition Data: 6 out of 7

Weight Data: 1 out of 7

What should I do if I have a persistent or one-off challenge tracking nutrition often enough to receive expenditure updates?

When talking about regular tracking and not intentional breaks like vacations, this is the ranking from best to worst on how to handle the inability to track a day of nutrition fully:

  1. Nutrition is roughly estimated within 30% of your typical tracking accuracy.

  2. Nutrition is not logged; A 0 Calorie day of nutrition is ignored unless the day is marked as a fasting day.

  3. Nutrition is partially logged

The 1st and 2nd are both good options, and the 3rd should always be avoided. A few good strategies for estimating a full day of Calorie intake are:

  • Paying attention to intuitive eating cues like hunger and fullness at key parts of the day or surrounding meals.

  • Running through a loose mental map of the day’s food consumption.

  • Comparing the day you are trying to estimate to previous days of eating that are similar.

One good way to take the result of these strategies and turn it into a number is to get your weekly Calorie intake average from the Nutrition page on the dashboard and estimate up or down from that figure.

How does Expenditure V2 work?

If you're looking to know how we improved Expenditure V1, a good summary, avoiding all of the minutiae, would be to say:

  • Expenditure V2 relies on all of the same basic physiological principles that Expenditure V1 does.

  • We have tuned all the existing parameters of the Expenditure V1 algorithm for optimal results.

  • We have improved the holding strategy used when data availability is too low.

  • Through extensive R&D that we have been toiling away on since the pre-release beta of MacroFactor, we have implemented an entirely new layer of processing that goes beyond perfecting the basics. To significant effect, this layer uses mathematical techniques that have never been applied to this problem domain before.

  • We have slightly reduced how much the expenditure output is smoothed because the new techniques were so effective.

Why did you improve Expenditure V1?

We don't believe that being the best at something is an excuse not to seek improvement. We were, and are still, motivated to pursue excellence in this domain.

Why is Expenditure V1 still available if Expenditure V2 is better in every way?

We didn't want to interrupt anyone's current program if they weren't ready to swap over. Existing users can choose to swap over whenever they please.

Also, we thought it would be fun to keep the original expenditure algorithm around for reminiscing purposes.

Did this answer your question?