← Enchanted FitnessUpdated May 11, 2026

How we calculate things

Every plan in this app is the output of a real formula or a real filter, not a vibe. This page lists the math, the rules, and the sources, so you can sanity check your numbers against your inputs and tell us when something looks wrong.

Nothing here is medical advice. The formulas are population averages applied to the body data you entered. Your actual metabolism varies. If a target feels wrong for your body, change your inputs in settings or talk to your doctor.

Calorie targets

BMR x activity multiplier, then a goal-based adjustment.

Open

Every calorie target is built in three steps. We compute a resting baseline, scale it up for how active you are, then apply a small adjustment up or down depending on your goal.

1. Resting baseline (BMR)

Basal Metabolic Rate uses the Mifflin-St Jeor equation, the standard clinical estimator for healthy adults:

BMR_male   = 10 * weight_kg + 6.25 * height_cm - 5 * age + 5
BMR_female = 10 * weight_kg + 6.25 * height_cm - 5 * age - 161

Weight and height are converted from pounds and inches before the formula runs. When sex is set to "prefer not to say," we blend the two formulas 50/50. People on hormone replacement therapy get a duration-aware blend (see HRT blend).

1b. Sharper baseline when body fat is known (Katch-McArdle)

If you filled in body fat % during onboarding or in Settings, we swap Mifflin-St Jeor for Katch-McArdle. Katch-McArdle uses lean body mass directly, so it ignores sex and the HRT blend entirely. It's more accurate for anyone outside average body composition (very lean, very muscular, or carrying more body fat than the population Mifflin was tuned for).

lean_mass_kg = weight_kg * (1 - body_fat_pct / 100)
BMR_katch    = 370 + 21.6 * lean_mass_kg

Body fat is optional. Leaving it blank keeps Mifflin as the fallback, which is still a solid estimator. Filling it in is a sharper read; updating it in Settings refreshes the baseline for the next plan regeneration.

Source: Katch & McArdle, Nutrition, Weight Control & Exercise (1977)

2. Activity multiplier (TDEE)

Total Daily Energy Expenditure is BMR multiplied by a Physical Activity Level, the same set the FAO/WHO/UNU expert consultation uses for energy planning:

SelectionMultiplierWhat it means
Sedentary1.20Desk job, little movement
Lightly active1.375Light walking, 1 to 3 sessions/week
Moderately active1.553 to 5 sessions/week
Very active1.7256 to 7 hard sessions/week
Athlete1.90Two-a-days, training is the job

3. Goal adjustment

We add or subtract calories based on the goal you picked. Picking lose fat AND build muscle clamps to a fixed recomp deficit so the cut and the bulk don't silently cancel each other out:

Goal selectionAdjustment
Lose fat (alone)-500 kcal/day
Build muscle (alone)+300 kcal/day
Maintain0 kcal/day
Recomp-100 kcal/day
Lose fat + Build muscle (combo)-200 kcal/day (recomp clamp)

Worked example: common case

35-year-old male, 180 lbs, 5'10", moderately active, goal = lose fat.

  • BMR = 1745 kcal
  • TDEE = 1745 x 1.55 = 2705 kcal
  • Goal = -500 kcal
  • Daily target = 2205 kcal

Worked example: outlier (recomp clamp)

36-year-old, sex prefers not to say, 153 lbs, 5'9", moderately active, goals = lose fat + build muscle.

  • BMR (50/50 blend) = 1531 kcal
  • TDEE = 1531 x 1.55 = 2374 kcal
  • Goal = -200 kcal (recomp clamp, not the average of -500 and +300)
  • Daily target = 2174 kcal

If the number feels too high, the two real levers are dropping activity (saves ~325 kcal at one step lower) or picking only one goal (a pure cut would save ~300 more).

Source: Mifflin-St Jeor (1990)

Source: FAO/WHO/UNU Expert Consultation on Human Energy Requirements (2001)

Macro split

Goal picks the ratio. Keto and paleo override that. Then convert kcal to grams.

Open

Daily calories get split into protein, carbs, and fat. The goal picks the default ratio. A few dietary styles override that ratio because the diet itself dictates the math.

Defaults by goal

GoalProteinCarbsFat
Lose fat40%30%30%
Build muscle30%45%25%
Maintain30%40%30%
Recomp40%35%25%

When two goals are picked the splits average. The recomp clamp on calories does not change the macro split logic.

Dietary style override

Keto and paleo lock the ratio because the diet's defining feature is the macro distribution itself:

StyleProteinCarbsFat
Keto25%5%70%
Paleo35%30%35%

Vegan, vegetarian, gluten-free, and Mediterranean don't dictate ratios, so they fall through to the goal split. They still drive food filtering (next section).

Calories to grams

protein_g = (calories * protein_pct) / 4
carbs_g   = (calories * carbs_pct)   / 4
fat_g     = (calories * fat_pct)     / 9

Kcal per gram: protein 4, carbs 4, fat 9. Rounded to nearest whole gram. The reconstructed total can drift a few kcal from the calorie target because of rounding.

Worked example

2174 kcal, dietary style = keto.

  • Protein: 2174 x 25% / 4 = 136 g
  • Carbs: 2174 x 5% / 4 = 27 g
  • Fat: 2174 x 70% / 9 = 169 g

Source: Macronutrient ratios in clinical keto (Volek + Phinney)

HRT metabolic blend

People on hormone therapy get a duration-aware blend between male and female BMR formulas.

Open

The Mifflin-St Jeor formula has a male variant and a female variant. The formulas exist because cisgender male and female bodies have different average lean mass at the same height and weight. People on hormone replacement therapy shift over time, and the longer they've been on therapy the closer the metabolic profile gets to the target sex's average.

The blend

BMR = BMR_female + blend * (BMR_male - BMR_female)
// blend = 1.0 -> fully male formula
// blend = 0.0 -> fully female formula

How blend is determined

Start from the user's sex assigned at birth: male = 1.0, female = 0.0, prefer not to say = 0.5. Then if they're on HRT, shift toward the target sex by a duration-scaled amount:

Duration on HRTShift toward target sex
Less than 6 months25%
6 to 12 months50%
1 to 2 years75%
2+ years95%

Estrogen monotherapy and full feminizing stacks shift toward the female formula. Testosterone monotherapy and masculinizing stacks shift toward the male formula. People not on HRT or who prefer not to disclose stay at their base blend.

Worked example

AMAB person (base blend = 1.0), 2+ years on a feminizing stack. Shift = 95%.

  • New blend = 1.0 x (1 - 0.95) = 0.05
  • BMR is 95% of the way to the female formula.

This is an approximation. There is no peer-reviewed BMR formula validated specifically for trans bodies on HRT, so we use sex-blended Mifflin-St Jeor scaled by duration. If you have measured RMR data, override your activity level or goal to match observed expenditure.

Spot something off?

If a number doesn't match what you'd expect from your inputs, send a note. The math is open on this page so anyone can audit it. Suggestions for clearer wording or better sources are welcome too.

coaching@enchantedfitness.app →