On 17 August, an athlete on our roster logged 168 g of protein.
The habit their morning check-in grades protein against is 130 g, so that day scored as on track. The remaining-protein figure in the same app, on the same day, measured it against 173 g and put them 5 g short. Both numbers were sitting in the same database row.
The short answer
Coaching apps often hold two daily protein numbers: a habit target you agreed to, which grades your check-in and your streak, and a computed target derived from your bodyweight, which drives the rings and the remaining figure. Nothing reconciles them. On our roster they disagreed for 10 of 25 athletes by between 19 g and 91 g, and in every one of those 10 cases the agreed habit was the lower number, so the surface that tells you how you are doing is systematically the more forgiving one.
Two numbers, two jobs
The habit target is a sentence. Someone wrote "Hit 160g protein a day across your three meals and snacks", a number was pulled out of it, and that number is what the daily check-in grades. It is a commitment, and its value is that a human agreed to it.
The computed target is arithmetic. Bodyweight times a coefficient, 2.0 g/kg normally and 2.2 g/kg on a cut in our case, recalculated weekly as bodyweight moves. It is what the macro rings fill toward, what the home-screen widget shows, and what the "you have 40 g to go" line subtracts from.
Both are reasonable. They are just answers to different questions, and an athlete sees both without being told they are different. Twenty of our 25 computed targets land on exactly 2.0 or 2.2 g/kg, which is the formula showing through; the other five were pinned by a human.
The gap only ever leans one way
Ten of the 25 athletes holding both numbers had them disagree by 15 g or more. That much was expected. What was not expected is the direction.
In 10 cases out of 10, the habit was the lower number. Not once was it higher.
That is not noise, and the reason is visible in the numbers. The conflicted habit targets run from 0.99 to 1.88 g/kg with a median of 1.52. The computed targets they sit against run 2.00 to 2.20. Habits are round, human, achievable figures arrived at in conversation: 100, 120, 130, 140, 160, 170, 180. Formulas do not round to human comfort.
Among the 15 athletes whose two numbers agree, the habit median is 2.05 g/kg, right on the formula. So the split is clean: when a habit was set near the computed figure it stayed there, and when it was set by what felt reasonable it landed about half a gram per kilogram lower and stayed there too.
The consequence is one-directional. The check-in that says "nice work, protein is on track" is grading against the softer of the two numbers every time it disagrees.
How often does it actually bite?
Rarely enough to be invisible, often enough to matter. Across 80 logged days from the conflicted athletes who log food at all, 17 days (21%) landed between the two numbers: graded on track by the morning check-in and short by the rings.
Two honest caveats, both large. Five of the ten conflicted athletes have never logged a day of food, so they are absent from this entirely. And of the 80 days, 75 come from just two people, so read 21% as a description of those two rather than a rate. One of them landed in the band on 6 of 6 logged days.
The other number from that pass is worth stating even though it is not this article's point: on only 1 of the 80 days did anyone actually reach their computed target. Most days miss both numbers, which is a different problem.
The same sentence, stored three ways
This is where it stops being a reconciliation problem and starts being a data problem.
Three athletes have essentially the same habit, written by the same coach in nearly the same words. Here is what got stored as their daily target:
| Habit text | Bodyweight | Stored as | Which is |
|---|---|---|---|
| 35-40g protein at both lunch and dinner | 75.6 kg | 75 g | 0.99 g/kg |
| 35-40g protein at lunch and dinner | 79 kg | 140 g | 1.77 g/kg |
| 35-40g protein at lunch and dinner, built around your meat and veg base | 67 kg | 140 g | 2.09 g/kg |
One sentence, three athletes, and the number the check-in grades them against differs by 87%. For the first athlete the two stated amounts were added together, 35 plus 40, and the sum was filed as a whole day. For the other two something inferred a daily figure instead.
The 75 g reading is the damaging one, and not only because it is low. At 0.99 g/kg it sits barely above the 0.8 g/kg RDA for a sedentary adult and well under the bottom of every athlete range, so that athlete is graded as having hit their protein on any day they clear roughly half of what the same app's rings ask for. Every one of their 6 logged days landed in that band.
The sentence is not badly written. It is good advice: the common recommendation is around 0.4 g/kg per meal across four or more meals, which for a 75.6 kg athlete is roughly 30 g a sitting, so 35-40 g at two meals is sound. The problem is that a per-meal instruction was asked to live in a field that means a daily total, and it says nothing at all about breakfast or snacks. There is no correct way to store it, so it got stored three ways.
Our code now catches the extreme version of this. Any habit target below 1.2 g/kg is flagged as too low to be a whole day, and the coach is told to use the computed target and ask what was meant rather than congratulate anybody for reaching it. That check catches exactly one of the ten conflicts. The other nine are genuine disagreements between two defensible numbers, and no rule can settle those.
So which number is right?
Neither, which is the honest and slightly annoying answer.
The ISSN position stand puts 1.4-2.0 g/kg/day as sufficient for most exercising people to build or maintain muscle. Morton and colleagues, in a meta-analysis of 49 studies and 1,863 participants, found a breakpoint at 1.62 g/kg/day (95% CI 1.03 to 2.20), beyond which additional protein produced no further training-induced gains in fat-free mass. In a deficit the picture shifts upward, with roughly 1.8-2.7 g/kg recommended to protect lean mass when energy is short.
Line our two distributions up against that. The conflicted habits sit at a median of 1.52 g/kg, essentially on Morton's breakpoint. The computed targets sit at 2.0-2.2 g/kg, inside the deficit range Helms and colleagues arrived at, just below the ISSN's own hypocaloric figure of 2.3-3.1 g/kg, and above the point where more protein stops adding muscle.
So the agreed habit is close to the evidence-based figure for building muscle, and the computed target is close to the evidence-based figure for holding onto it while cutting. Both are defensible. They diverge because they were derived for different purposes, by different mechanisms, months apart, and nobody ever put them side by side.
Our own code refuses to pick a winner, deliberately, and the reasoning is worth borrowing. Overwriting the habit with the formula throws away a number a person actually agreed to, and one of ours had been deliberately lowered from 160 g to 130 g at a review. Overwriting the formula with the habit would have cut that 75 g athlete from 166 g to 75 g. Either automatic fix is worse than the conflict.
What to do about it
- Find out which number grades you. If your app shows a streak, a check-in verdict or an adherence percentage, something is being compared against a stored goal, and it is not necessarily the number in your macro rings.
- Pick one and make the other match. The value of a target is that it is a single number you can be honest about. Two is worse than either.
- Prefer the one you agreed to, unless it is implausible as a day. Under about 1.2 g/kg is a signal that a per-meal or two-meal amount got recorded as a daily total, and that is a data-entry problem rather than a goal.
- Write goals as daily totals, and keep per-meal advice separate. "35-40 g at lunch and dinner" is good coaching and a bad target field. "150 g a day, roughly 40 g a meal" is both.
The general version, which is the reason this is worth an article: when a number both grades you and motivates you, check what it is actually being compared against. Ours were 43 g apart at the median, in the flattering direction, every time.
Sources
- International Society of Sports Nutrition Position Stand: protein and exercise, 2017. The 1.4-2.0 g/kg/day range, the 0.25 g/kg or 20-40 g acute dose, distribution every 3-4 hours, and 2.3-3.1 g/kg during hypocaloric periods.
- Morton et al., A systematic review, meta-analysis and meta-regression of the effect of protein supplementation on resistance training-induced gains in muscle mass and strength in healthy adults, British Journal of Sports Medicine, 2018. 49 studies, 1,863 participants, breakpoint 1.62 g/kg/day.
- Schoenfeld and Aragon, How much protein can the body use in a single meal for muscle-building? Implications for daily protein distribution, JISSN, 2018. The 0.4 g/kg per meal across at least four meals figure.
- Helms et al., A Systematic Review of Dietary Protein During Caloric Restriction in Resistance Trained Lean Athletes. The 1.8-2.7 g/kg deficit range.
- Our own arithmetic:
server/src/nutritionTargets.ts,proteinTargetConflictandcomputeNutritionTargets.
Kipp computes the target and stores the habit like everyone else, and then checks whether the two agree. When they do not, the coach is handed both numbers and told not to quote them interchangeably, to settle on one with you rather than picking for you, and never to congratulate a day that only cleared the lower one.
