Field note 09 · Food arithmetic
Why Calories and Macros Do Not Always Match
Four worked examples and a repeatable check for the gap between a calorie total and its protein, carbohydrate and fat.
Check the comparison before correcting the food
Your app shows 300 kcal for a food, but the protein, carbohydrate and fat appear to add up to something else. It is tempting to change one number until everything agrees. First check whether you are comparing the same serving, the same units and the same definition of carbohydrate. A neat total made from mismatched inputs is still a misleading total.
This article gives you a short investigation, not an automatic verdict on a label or an AI estimate. The goal is to locate the disagreement and decide what to verify next. It is useful whether the original entry came from a package, a recipe, a photograph or text.
Keep the original values while you investigate. If you edit a saved item, make a note of the source and reason. Changing grams merely to force the total to match removes the clue that could explain the discrepancy.
Use 4/4/9 as a first-pass check
For a simple screen, multiply protein grams by 4, carbohydrate grams by 4 and fat grams by 9, then add the results. The unit is kilocalories, usually called calories on food labels. Use grams of each macronutrient, not the total weight of the food.
Screened energy = 4 × protein + 4 × carbohydrate + 9 × fat
This approximation is not a universal reference measurement. FAO describes general and food-specific conversion factors, with different treatment for components such as fibre, polyols and alcohol. Labels also round displayed quantities. The purpose of the screen is to find a question worth checking, not to replace the original nutrient information with whichever number looks tidiest.
Before using the equation, write down the country or reference system, serving size, whether the figures are per 100 g or per serving, and the amount eaten. Do not compare one serving’s calories with a whole package’s macros. Keep kcal distinct from kJ, and do not add sugar grams on top of carbohydrate grams as if they were separate energy sources.
Four examples, four different next steps
Example 1 · straightforward agreement
One declared serving
Suppose a serving contains 20 g protein, 30 g carbohydrate and 10 g fat. The screen gives 20 × 4 + 30 × 4 + 10 × 9 = 80 + 120 + 90 = 290 kcal. If the entry also says 290 kcal, the arithmetic agrees.
What this establishes: these four stored values are internally consistent under the simple formula. It does not establish that the serving was correctly identified, that its weight was measured or that the recipe matches what you ate. Internal consistency and external accuracy are different checks.
Example 2 · rounded components
A small difference need not mean a wrong item
For an illustrative rounding exercise, imagine unrounded values of 10.4 g protein, 20.4 g carbohydrate and 5.4 g fat. Their 4/4/9 total is 41.6 + 81.6 + 48.6 = 171.8 kcal. If those grams are displayed as 10, 20 and 5, the same screen using displayed values gives 165 kcal.
The 6.8 kcal difference arises before changing the food at all. This is a mathematical illustration, not a statement that these exact displays follow every country’s label rules. Check the relevant label framework; do not assume that rounded visible grams can reconstruct an unrounded total exactly.
Next step: preserve the label’s declared values and identify the rounding convention before treating a small mismatch as a correction opportunity.
Example 3 · different portion bases
Per 100 g is not the amount on your plate
A hypothetical food lists 20 g protein, 30 g carbohydrate and 10 g fat per 100 g, with the 290 kcal total from example 1. For 150 g, multiply every value by 1.5: 30 g protein, 45 g carbohydrate, 15 g fat and 435 kcal.
If an entry retains the per-100-g macros but displays 435 kcal for the consumed portion, the simple screen appears to be 145 kcal short. The mismatch is not solved by inventing an extra ingredient. The energy and macros were attached to different amounts.
Next step: bring all values onto the same basis. Our Nutrition Label Decoder helps with portion arithmetic; it does not identify which source value is true.
Example 4 · an omitted energy component
Three macro columns may not tell the whole story
Consider an illustrative entry with 10 g protein, 20 g carbohydrate, 5 g fat and a separately specified 10 g of alcohol. The three-macro screen gives 165 kcal. Using the general 7 kcal/g factor for alcohol adds 70 kcal, giving 235 kcal in this deliberately simplified example.
Do not add alcohol, fibre or any other component again if the source has already included its energy. Different carbohydrate definitions also require care. This example shows why an omitted field can explain a gap; it is not a recommendation to consume alcohol or a universal recipe for recalculating labels.
Next step: inspect the complete source and conversion method. If the source does not provide enough information, mark the difference unresolved instead of guessing the missing component.
What our own technical screen found
In a read-only audit on 29 September 2026, we inspected 3,513 stored food-analysis records from 39 account nodes selected within a 60-node pilot. We flagged positive-calorie entries only when the absolute difference from 4/4/9 exceeded both 20 kcal and 10% of recorded energy. That selected 285 records. Raising the relative threshold to 25%, while retaining the 20 kcal threshold, selected 47.
Those thresholds are editorial triage rules, not validated nutrition tolerances. They avoid letting very small rounding differences dominate a review queue. They do not classify everything below the threshold as correct, or everything above it as wrong. A large portion mismatch can be a straightforward bookkeeping problem; a perfectly matching set of AI-generated numbers can still describe the wrong food.
The records span 2024–2026 and form a limited, unevenly distributed technical sample, not a representative user survey. Internal/test-account status was not fully classified, and no independent food reference was available for this screen. These are counts of records selected for review, not a rate of incorrect AI estimates or a description of typical users. Use the data-reading checklist to distinguish a calculation check from a broader conclusion.
A five-step check you can repeat
- Align the amount. Put calories and every macro on the same serving or weight basis.
- Align the units. Separate kcal from kJ and nutrient grams from food weight.
- Check the source. Prefer the actual package or identified recipe to an unrelated generic item.
- Check the method. Look for rounding, fibre, polyols, alcohol or a documented conversion difference.
- Record the resolution. Correct a confirmed transcription or portion error; otherwise keep the uncertainty visible.
For a mixed recipe, also ask whether ingredient weights refer to raw or cooked food. Water gained or lost during cooking can change the amount represented by 100 g even when a total recipe is otherwise accounted for. Do not replace an unknown recipe with a precise-looking number simply because it makes the arithmetic easier.
The final note can be short: “The macros were per serving and energy was per container; all values now use the same amount.” Or: “The serving basis matches, but the source’s conversion method is not available.” Both are better than an unexplained correction. If nutrition numbers are being used for a medical decision, this arithmetic screen is not a substitute for the appropriate professional guidance.
Next, check whether the day’s log is complete. A precise calculation for one item cannot supply the rest of a missing day.
Sources and scope
- FAO: calculation of food energy and conversion factors.
- FDA: serving information and Nutrition Facts.
- FDA: nutrition-labelling databases and rounding.
- Original Nutrinaut read-only technical screen, 29 September 2026: a fixed-seed SHA-256 account-key ordering selected 60 nodes; all food-analysis records in the 39 nodes with that branch were inspected. The thresholds and findings are stated above. This was not a transactionally frozen research cohort.
Sources support the arithmetic and its limitations, not the accuracy of an individual Nutrinaut estimate. Examples are invented; the stated aggregate audit counts are real technical observations.
Found a factual or arithmetic error? Use the contact page and include the article URL and the source that needs checking. See our corrections policy.