← Blog

Why Your TDEE Calculator Is Probably Wrong

Every online TDEE calculator uses the same approach: plug in your age, weight, height, and an activity level guess, then multiply by a textbook number. The result is a population average, and for any individual, it can be off by 200 to 400 kcal.

That's the difference between losing a pound a week and maintaining.

How static formulas work

The most common formula is Mifflin-St Jeor (1990):

BMR (male)   = 10 x weight(kg) + 6.25 x height(cm) - 5 x age + 5
BMR (female) = 10 x weight(kg) + 6.25 x height(cm) - 5 x age - 161

This gives you your Basal Metabolic Rate: the energy your body burns at complete rest. To get TDEE (Total Daily Energy Expenditure), you multiply by an "activity factor":

Activity LevelMultiplier
Sedentary1.20
Lightly Active1.375
Moderately Active1.55
Active1.725
Very Active1.90

The problem is obvious once you see it: the jump from "Sedentary" to "Lightly Active" is 175 kcal for someone with a BMR of 1,800. That's an entire banana plus a tablespoon of peanut butter. And most people have no idea which category they actually fall into.

Where the error compounds

The activity multiplier is where the real damage happens. Research shows individual TDEE variation of ±15% even among people with identical stats and self-reported activity levels. For a 2,200 kcal TDEE estimate, that's a range of 1,870 to 2,530 kcal.

Factors the formula can't capture:

  • NEAT (Non-Exercise Activity Thermogenesis): fidgeting, posture, walking around the house. This alone can vary by 700+ kcal/day between individuals
  • Metabolic adaptation: your body adjusts expenditure based on prolonged deficit or surplus
  • Thermic effect of food: varies with macronutrient composition
  • Sleep quality: poor sleep reduces next-day expenditure
  • Stress hormones: cortisol affects both appetite and expenditure

A static formula captures none of this. It gives you the average for "someone like you," not you.

What adaptive TDEE does differently

The first thing to understand is what your daily scale readings actually look like. This is 35 days of real-world weight data. The grey dots are raw daily weigh-ins, the blue line is the 7-day Exponential Moving Average (EMA) that filters out the noise:

Daily weight vs smoothed trend: raw scale readings bounce ±1 kg from water, glycogen, and sodium while the EMA reveals the true downward trend

Instead of estimating from a formula, adaptive TDEE works backwards from what's actually happening to your body.

The core insight: if you know how many calories you ate and how your weight changed, you can calculate what your body actually burned.

Here's the math:

  1. Track calorie intake over a rolling window (we use 28 days)
  2. Track weight change over the same window, smoothed with a 7-day Exponential Moving Average to filter out water/glycogen noise
  3. Fit a linear regression to the smoothed weight data to get the true trend (kg/day)
  4. Convert to calories: multiply the daily weight slope by 7,700 kcal/kg (the energy density of body tissue)
  5. Calculate TDEE: average daily intake - caloric impact of weight change

If you're eating 2,200 kcal/day and losing 0.04 kg/day (smoothed):

caloric impact = -0.04 x 7,700 = -308 kcal/day
TDEE = 2,200 - (-308) = 2,508 kcal/day

This number reflects YOUR actual metabolism: NEAT, adaptation, genetics, all of it. No guessing your activity level.

Why 28 days matters

Early adaptive implementations used 14-day windows. We tested this and found it was too noisy.

Daily weight fluctuates by ±1 kg from water retention, glycogen stores, food mass in transit, and sodium intake. For someone losing 0.5 kg/week, the expected 14-day signal is ~1 kg, barely above the noise floor.

Here's the honest test. You're standing at day 31, looking back at your EMA-smoothed weight data. If you fit a regression to the last 14 days vs the last 28 days, both ending right now, you get two different stories:

Looking back 14 days vs 28 days from today. The 14-day lookback shows a recent uptick while the 28-day lookback reveals the overall downward trajectory

The 14-day slope is +0.027 kg/day, accurately reflecting a recent uptick, likely water retention or a sodium-heavy weekend. The 28-day slope is -0.050 kg/day, essentially identical to the actual fat-loss rate of -0.049 kg/day.

Both are real. The short window tells you what's happening right now, useful for catching genuine divergences from your plan. The long window tells you the trajectory: what your body is actually doing over time. For TDEE calculation, the trajectory is what matters. For day-to-day awareness, the recent trend has its place.

The convergence

Adaptive TDEE doesn't snap to the right answer immediately. It converges over days, clamped to a maximum adjustment of ±100 kcal/day to prevent wild swings from noisy data.

Adaptive TDEE convergence. The estimate starts at the Mifflin-St Jeor formula value and converges toward the true TDEE over 42 days, closing a 230 kcal gap

The formula estimated this person's TDEE at 2,250 kcal, 230 kcal below their true expenditure of 2,480. That's enough to stall weight loss entirely. The adaptive algorithm activates once enough data accumulates and steadily closes the gap, converging to within ~20 kcal of the true value.

After about 28 days of consistent logging and weighing, you have something no online calculator can give you: a TDEE derived from your body's actual response to what you eat.


Static TDEE calculators aren't useless. They give you a reasonable starting point. But if you've been tracking calories for weeks and the scale isn't moving the way you expected, the formula might be the problem.

Adaptive TDEE in Onyx Tenet is free. It activates automatically after about 4 weeks of logging and weighing. No subscription required.

Related articles