How Deficit calculates your calories

· 9 min read

Open a calorie calculator on the internet, punch in your stats, and you'll get a number. Most of them default to the same equation, so the results land close to each other.

That equation is Mifflin-St Jeor, published in 1990. It takes your weight, height, age, and sex. It doesn't take your body composition, so it can't tell a lean lifter from a softer person of the same weight.

Deficit starts from lean mass instead. For an average body, the output looks a lot like a standard calculator's. For a lean, trained body, the two start to part ways. The full pipeline runs as follows.

The pipeline in one diagram

Weight and body fat feed lean body mass and BMR. Activity and diet merge in to produce TDEE. The deficit factor merges in to produce the calorie goal. Weight + body fat % Lean body mass (LBM) BMR (Cunningham) Activity (PAL) Diet (TEF) TDEE Body fat % → deficit Calorie goal
The four levers: BMR formula, activity multiplier, diet multiplier, and deficit factor all combine into the daily calorie goal.

Four levers: BMR formula, PAL multiplier, TEF multiplier, deficit factor. Most calculators expose two (BMR and a single activity multiplier). Deficit exposes all four because all four affect the final number.

Lever 1: the BMR formula

BMR (basal metabolic rate) is the calories your body burns at rest to keep organs running, blood circulating, and cells dividing. For most people it accounts for 60 to 70% of total daily energy expenditure.

What everyone else uses

Mifflin-St Jeor (men)   = 10×weight(kg) + 6.25×height(cm) − 5×age + 5
Mifflin-St Jeor (women) = 10×weight(kg) + 6.25×height(cm) − 5×age − 161

The inputs are total weight, height, age, and sex. What's absent is body composition. Mifflin-St Jeor doesn't know whether your 80 kg (176 lb) is mostly muscle or mostly fat. It treats both identically.

For an average-composition adult, that's fine. Total weight is a decent proxy for lean mass at population scale. It gets weaker at the edges. An 80 kg lifter at 12% body fat has 70.4 kg (155 lb) of lean mass. An 80 kg person at 28% body fat has 57.6 kg (127 lb). Mifflin-St Jeor gives them the same BMR.

What we use

Cunningham = 370 + 21.6 × LBM(kg)

This is the Cunningham equation in its 1991 form. Cunningham proposed it as a general prediction equation, built from lean body mass (fat-free mass) alone. It is numerically the same as the Katch-McArdle formula you'll find in some online calculators. Height, age, and sex aren't inputs, because lean mass is the thing those proxies stand in for.

For a typical body, Cunningham and Mifflin-St Jeor land close to each other. The difference is that Cunningham moves when your body composition moves, and Mifflin-St Jeor doesn't.

Why this matters in practice

Two men, both 80 kg / 178 cm (5'10") / 30 years old, different body composition:

  • Person A: 28% body fat. LBM = 57.6 kg.
  • Person B: 12% body fat (3-year lifter). LBM = 70.4 kg.

Mifflin-St Jeor gives them both 1,768 kcal BMR. Cunningham gives Person A 1,614 kcal and Person B 1,891 kcal. That's a 276 kcal/day gap that Mifflin-St Jeor can't see, because the only thing that differs between the two men is what their weight is made of.

Neither equation measures anyone. Both are estimates. But if two people with such different bodies get the same number, at least one of the two plans starts off. The weekly check-in (more on that below) is what corrects it.

Lever 2: PAL, the physical activity multiplier (low on purpose)

BMR alone isn't your daily calorie burn. It's your "lying motionless in bed" burn. To get from BMR to total daily energy expenditure (TDEE), you multiply by an activity factor (PAL).

Generic PAL tables run from 1.2 (sedentary) to 1.9 (very active), and you pick a row by how active you feel. Deficit builds the number from two answers instead: your daily steps and your workouts per week.

Daily stepsScore
Under 5,0000
5,000 to 8,0001
8,000 to 12,0002
12,000 or more3

Strength and sports sessions add up into a second score: none is 0, 1 to 2 a week is 1, 3 to 4 is 2, and 5 or more is 3. The two scores add up to a total from 0 to 6:

Total scorePAL
01.20
1 to 21.30
3 to 41.45
5 to 61.55

Why it stops at 1.55

The top bucket is 1.55, not 1.9. That's deliberate. With the diet multiplier from the next lever, the whole activity side spans 1.30 to 1.78 times BMR. Even the top of that range sits below the 1.9 of a generic table.

The reason is practical. A plan that starts a little low is easier to correct from the weekly weight trend. If you lose faster than planned, the app raises your goal.

Hard endurance training doesn't fit into a multiplier that stops at 1.55. So the app handles it on the day instead. A running, cycling, swimming, or tennis session of 60 minutes or more earns Fuel: part of the calories Apple Health measured for it goes back into that day's budget. The multiplier covers your normal week. Fuel covers the long sessions on top.

Lever 3: TEF, the thermic effect of food

Generic activity factors bundle digestion in with everything else. You can't see it, and you can't change it.

It's worth seeing, because it isn't fixed. Digestion costs something like 8 to 15% of the calories you eat. Protein costs the most (about 25% of its calories go to digestion), carbs sit in the middle (about 10%), and fat costs the least (about 3%). Whole foods cost more than ultra-processed equivalents. A high-protein, mostly home-cooked diet has a measurably higher TEF than a takeout-and-cereal diet of the same total calories.

Deficit splits TEF out as its own multiplier, picked by your diet style:

Diet styleTEF multiplier
Convenience (takeout, delivery, ready-made)1.08
Home cooked (whole foods, lean protein, vegetables)1.10
Performance focused (very high protein and fiber)1.15

That's why the PAL buckets above look low next to a generic table: digestion isn't inside them. PAL × TEF together give the full activity side, from 1.30 (1.20 × 1.08) to 1.78 (1.55 × 1.15).

Lever 4: the deficit, anchored on body fat instead of ambition

Once you have TDEE, you subtract a percentage to define the cut. The naïve approach is "pick a number you can stick to," usually 20% or 25%. That's fine, but it ignores how much fat you actually have to lose.

Deficit suggests a deficit using linear interpolation between body fat anchor points, with different anchors for men and women:

Men: body fat Women: body fat Suggested deficit Why
6% or less14% or less5%Very lean. Small deficit to protect lean mass.
15%23%20%Standard cutting target.
25%33%25%More fat, can sustain a deeper cut.
35%43%30% (men), 28% (women)Significant fat to lose.
45% or more53% or more33%The deepest cut the app suggests.

Women's anchors sit 8 body fat points higher (essential body fat is structurally higher), but the structure is the same: leaner → smaller deficit → more careful protection of lean mass.

The math is interpolation, not category bands. A man at 18% body fat (between the 15% and 25% anchors) gets 21.5%, partway between 20% and 25%, not a sudden jump at a category boundary. The suggestion is a starting point. You can move the pace yourself when you set up the cut.

The whole pipeline, end to end

For Person B from earlier (80 kg, 12% body fat, 5,000 to 8,000 steps a day, lifting 3 to 4 times a week, home-cooked diet). Steps score 1 plus workout score 2 is 3, so PAL is 1.45:

LBM       = 80 × (1 − 0.12)               = 70.4 kg
BMR       = 370 + 21.6 × 70.4              = 1,891 kcal
TDEE      = 1,890.6 × 1.45 × 1.10          = 3,016 kcal
deficit % = interpolate(12%, male)         = 15%
factor    = 1 / (1 − 0.15)                 = 1.176
goal      = 3,015.6 / 1.176                = 2,563 kcal/day
loss/week = (3,015.6 − 2,563) × 7 / 7,700  = 0.41 kg (0.9 lb)

The 7,700 is the calories in 1 kg of body fat. A cut runs in cycles of 4 to 12 weeks, 8 by default. At this pace, an 8-week cycle plans for about 3.3 kg (7.3 lb).

Plus a protein target. Below 25% body fat for men (32% for women), protein scales to body weight. For a lifter on a cut the range is 1.6 to 2.2 g per kg (0.73 to 1 g per lb). More training and a bigger deficit move you up the range. Person B trains 3 to 4 times a week on a moderate deficit, so he lands in the lower part of the range:

protein = 80 × 1.75 = 140 g/day   (0.79 g per lb)

At or above the 25% / 32% line, protein scales to lean mass instead, at 1.8 to 2.2 g per kg of lean mass. That keeps the target from growing with fat you're about to lose.

Five inputs (weight, body fat %, sex, activity, diet style), one cohesive output (calories + protein). The formula doesn't use height, age, or any compensating fudge factors.

Then the algorithm takes over

The number above is a starting estimate. Every formula is an estimate. The real test is what happens when you eat at it.

After each week of tracking, the app compares your weight change to what the plan predicted. If you lost more than expected, your real burn was higher than estimated, and the app raises your goal. If you lost less, the app lowers it. The change is capped at ±10% of your current goal per week, so the system can't over-correct on a single noisy week. On a cut, the goal never goes above your estimated maintenance, and never below 1,200 kcal.

Week by week, the goal follows what your weight actually does. The starting number stops mattering and observed reality takes over. The choice of formula matters most in week 1, when no data exists yet. Each week after, it matters less.

But week 1 still matters. A first number that's far off makes the cut feel wrong from day one, and an off start is the easiest one to quit. That's why the app starts from your lean mass and leans a little low: a small miss, in the direction the weekly check-in can fix.

Try the math yourself

The calculators on the site run the same math as the app:

The calculators use the same numbers as the app. The difference is what happens after week 1: the app starts adjusting, and the calculator gives you the starting point.

Related: how Deficit works (every formula with its sources), and why logging gets easy after 3 days.

Sources

Deficit is our iOS app. It handles all of this for you, and the first week is free.

Download on the App Store