← All posts

Why your TDEE calculator is wrong — and what to use instead

TDEE calculators are population averages applied to one person. Here's why yours is off, by how much, and how an adaptive TDEE fixes it.

You typed your height, weight, age and “moderately active” into a box. It gave you 2,540 calories. You ate 2,540 calories for six weeks and nothing happened.

The calculator was not lying to you. It was answering a different question than the one you asked.

What a TDEE calculator actually computes

Every online TDEE calculator runs the same two steps. First it estimates your basal metabolic rate from an equation — usually Mifflin-St Jeor, occasionally Harris-Benedict or Katch-McArdle. Then it multiplies that by an activity factor, typically somewhere between 1.2 and 1.9.

Both steps are population averages. Mifflin-St Jeor was derived by regression against a sample of real people, and it predicts measured BMR within about 10% for roughly 80% of them. That sounds decent until you do the arithmetic: 10% of a 1,700-calorie BMR is 170 calories a day, and that is before the activity multiplier amplifies it.

The activity multiplier is worse. It is a single number standing in for everything you do that is not lying still — your job, your step count, your fidgeting, your training, and the way all of those change when you start dieting. Picking “moderately active” instead of “lightly active” can swing the answer by 300 calories. There is no objective test for which one you are.

The error compounds in the direction you least want

Two things make the estimate drift further once you actually start.

Adaptive thermogenesis. As you lose weight, your expenditure falls by more than the loss of tissue alone accounts for. You move less without noticing, and the same activity costs fewer calories at a lower bodyweight. The number that was right in week one is too high by week eight.

Logging error. Self-reported intake is systematically under-reported, and not by a trivial margin — studies routinely find 20% or more. Your calculator does not know this. It cannot.

So you have an estimate with a wide confidence interval, multiplied by a guess, drifting downward over time, compared against an input that is biased low. The surprising thing is not that it fails. It is that anyone expects it to work.

The fix: measure instead of estimate

Here is the thing a calculator cannot do but your own data can. Over any window of time:

Energy expenditure = calories eaten − change in body energy stores

If you know what you ate and you know how your weight actually moved, expenditure is the only unknown, and you can solve for it. You do not need to estimate your activity level, because your activity level already showed up in the result.

Two details make this work in practice rather than in theory.

Use a weight trend, not a weigh-in. Daily bodyweight swings several pounds on water, glycogen, sodium and gut contents. A single weigh-in is mostly noise. An exponentially weighted moving average of daily weigh-ins strips that out and leaves the signal — which is why the trend line, not this morning’s number, is what should drive any decision.

Blend against a prior while data is thin. In week one you have almost no signal, so the equation’s answer is unstable. Weighting a Mifflin-based prior heavily at the start and letting real observations take over as they accumulate gives you a number that is usable immediately and accurate later.

What this looks like day to day

An adaptive TDEE recalculates every week from your logged intake and your trend weight. If you have been eating 2,300 and your trend is flat, your expenditure is 2,300 — regardless of what any calculator claimed. If the trend starts falling faster than your goal rate, your target goes up. If it stalls, your target comes down.

Sane implementations clamp how far the target can move in one week, because a single bad week of logging should nudge the estimate, not throw it.

This also fixes the under-reporting problem, in a slightly counterintuitive way. If you consistently under-log by 15%, the computed expenditure is under-stated by roughly the same 15% — and the target it hands you is also scaled down to match. You get a target that works in the units you actually log in. Consistency matters far more than accuracy here.

What to do with this

If you are using a static number from a calculator, stop treating it as a fact and start treating it as a hypothesis. Log intake consistently for two to three weeks, track your weight trend rather than individual weigh-ins, and adjust based on what the trend did — not on what the calculator predicted it should have done.

Momentum does this automatically: it reverse-computes your expenditure from your own logs and weight trend, blends it against a Mifflin prior while your data is thin, and recalibrates weekly with a clamp on how fast the target can move. You get a calorie target that follows your metabolism instead of a stranger’s average.