Back to articles
THE KEXBI DIFFERENCE

Why macro tracking apps are inaccurate: the data gap

Standard databases rely on flat, legal nutrition labels. KEXBI maps eight dimensions of food data to align your plate with circadian athletic recovery.

~4 MIN · KEXBI RESEARCH
AT A GLANCE

The argument in five lines

  1. The packet on a chicken breast prints one macro line. KEXBI holds eight dimensions of data for the same food.
  2. Macros come in two states, then per-cooking-method (grilled, boiled, pan-fried, roasted, air-fried). Cooking changes the number on the label.
  3. Micronutrients are tracked at amino-acid resolution. Leucine, lysine, valine per 100 g. Load-bearing for protein-quality scoring, absent from the packet.
  4. Meal-slot fit is scored across 11 slots from digestion speed, GI, fat, fibre, and protein type. Chicken breast reads 0.97 at lunch and dinner, 0.33 at pre-bed, 0.0 post-workout immediate.
  5. Provenance is verified against USDA, with fields RD-locked once a registered dietitian has reviewed them. No user-contributed macros.

Pick a chicken breast out of the fridge. The packet shows a nutrition line: about 120 kcal per 100 g, 23 g of protein, 1.2 g of fat, no carbs. A shelf-life date, an origin, a barcode. That is the whole record most food apps carry too, sometimes with a handful of missing decimals.

KEXBI carries a different document for the same food. The macros are there. So are seven other dimensions: cooked-state macros, per-method transforms, micronutrients at amino-acid resolution, glycemic data, gastric residence, protein type, meal-slot fit across 11 windows, and verified provenance. The purpose of the depth is not thoroughness for its own sake. It is what turns a food from a number into a decision the engine can make.

The packet answers what you ate. The document answers whether you should eat it now.

Chapter 01 · The packetWhat a nutrition label carries, and what it does not

The label on the packet is a legal document, not a coaching one. It carries the macronutrient breakdown that regulation requires: energy, protein, fat (of which saturates), carbohydrate (of which sugars), fibre, salt. A shelf-life date. The country of origin. A short ingredients line. For a whole food like chicken breast, that is enough for a legal shelf, and it is what most tracker apps store.

On the packet

Chicken breast · 100 g

  • Energy · 120 kcal
  • Protein · 23 g
  • Fat · 1.2 g
  • Carbs · 0 g
  • Salt · 0.12 g
  • Shelf-life date
  • Country of origin
In KEXBI

Chicken breast · 8 dimensions

  • Macros, raw and cooked
  • Per-cooking-method transforms
  • Micronutrients at amino-acid resolution
  • Glycemic index and load
  • Gastric residence and protein type
  • Meal-slot fit across 11 windows
  • Verified provenance and RD-locked fields
  • Chrononutrient timing bias

The packet answers one question: what did you eat, in macro terms. It does not answer whether the food fits the meal slot, whether cooking changed the numbers, or what part of the micronutrient profile drives recovery. Those questions matter for an athlete. The document carries the answers.

Chapter 02 · Two macro statesRaw and cooked, with a yield factor

Chicken breast is stored in KEXBI on a raw basis, matching the USDA SR Legacy convention [1]. Raw is what you buy. Raw is what the packet lists. But raw is not what you eat.

Cooking a chicken breast drives off water. A 100 g raw breast lands closer to 75 g on the plate. The macros do not disappear with the water; they concentrate. That is the yield factor. For skinless chicken breast, the factor sits at roughly 0.75, sourced from USDA Agricultural Handbook 102 (Bognár's yield tables) [2]. It is a KEXBI implementation value calibrated against that reference, not a value from any single trial.

The yield transform Raw chicken breast · 100 g · 120 kcal · 23 g protein · 1.2 g fat
Cooked chicken breast · 75 g on the plate · same macros, higher density per gram
Cooked-basis · 160 kcal · 31 g protein · 1.6 g fat per 100 g cooked

Weighing 100 g of cooked chicken and looking up "chicken breast" in a generic tracker often returns the raw number. The result is an athlete who thinks they ate 23 g of protein when the plate carried 31. Across a day, that is enough to under-count a lean-mass protein target by 30 or 40 g. KEXBI stores raw, materialises cooked when the user records what they ate, and never asks the reader to hold both numbers in their head. The next article in this series covers the raw-vs-cooked problem in full.

Chapter 03 · Per-cooking-method transformsGrilled, boiled, pan-fried, roasted

Yield is not the only thing cooking changes. Method matters. Grilled chicken breast drops fat slightly; pan-fried gains fat from the oil; deep-fried gains fat and carbs from the batter. KEXBI stores a macrosCookedByMethod block on every protein that has a meaningful method-to-macro delta, with nine standard methods covered: boiled, steamed, grilled, baked, roasted, pan-fried, deep-fried, microwaved, pressure-cooked. Air-fried is added where the difference matters.

The Meal Architect uses this to pick methods per slot. A pre-workout window at T minus 60 pulls boiled or steamed protein: fast to clear the stomach, minimal added fat. An anchor slot (lunch or dinner) pulls grilled or baked: the flavour lands, and the T minus 3 hour clearance window absorbs the moderate fat. A post-workout meal one to two hours out preserves lean-protein selection: boiled or steamed if the aim is a fast rebuild, grilled if the aim is satiety [5]. The method is not a garnish. It is a routing decision.

Chapter 04 · The micros the packet never printedAmino acids, minerals, and vitamins per 100 g

The packet lists no leucine content. It lists no B3. No selenium, no phosphorus, no potassium. Yet those are the fields that matter for whether the protein triggers muscle protein synthesis, supports recovery, and covers micronutrient targets that a hard training week burns through faster than a sedentary week.

The microShadow block on the chicken breast document carries the numbers the packet skips. Amino acid resolution is not decorative. The 2.5 g of leucine threshold that clears the MPS window in trained adults [6] is only measurable if the leucine per 100 g is stored per food, not averaged into a generic "protein" bucket.

Chicken breast · microShadow (per 100 g) Selected micronutrients relevant to athletic recovery. Sourced USDA FoodData Central.
Amino acids · protein-quality scoring
LeucineTriggers MPS threshold; a 130 g cooked breast clears the 2.5 g leucine bar1.8 g
Lysine2.1 g
Valine1.1 g
B-vitamins
Niacin (B3)76 percent of DV per 100 g13.7 mg
Pyridoxine (B6)0.8 mg
Minerals
Selenium50 percent of DV per 100 g27.6 µg
Phosphorus210 mg
Potassium330 mg

Same food, different lens. The nutrition label sees calories and protein. KEXBI sees the amino acid signature and the recovery-relevant micros. The engine uses the second view to decide whether the meal covers the day's leucine, whether the athlete needs a B-vitamin lift, and whether the food pairs well with sleep or training.

Chapter 05 · Gastric residence and protein typeHow long the food sits, and what kind it is

Two more fields the packet does not carry. Gastric residence is the digestion speed of the food (fast under 60 minutes, moderate 60 to 120, slow over 120). Protein type classifies the protein into a functional bucket: lean, fatty, whey, casein-dominant, casein-moderate, plant, or none.

For chicken breast, the classification reads moderate digestion, lean protein. That combination is why chicken lands as a textbook lunch and dinner slot fit and why it does not land as a post-workout immediate fit. The 60 to 120 minute clearance window makes it ideal for anchor slots (the meal has time to digest before the next event); it makes it wrong for the 30 to 60 minute post-workout window where the target is a fast protein that primes MPS immediately. Whey does that job. Chicken does not.

Where the classification comes from Gastric residence and protein type are derived from the food's macro profile (protein, fat, fibre) and its physical form (solid vs liquid vs powder). Whey isolate carries "whey" and "fast". Cottage cheese carries "casein-moderate" and "slow". Chicken breast carries "lean" and "moderate". These are the same buckets a sports dietitian uses on instinct, formalised.

Chapter 06 · Meal-slot fitThe same food, scored across 11 windows

The centrepiece of the document is a mealSlotFit block: a 0 to 1 score for each of 11 named slots. Breakfast, snack, lunch, dinner, pre-bed, pre-workout at T minus 120, T minus 60, T minus 30, intra-workout, post-workout immediate, post-workout meal. Each score is derived from the digestion speed, GI, fat load, fibre load, and protein type described above, then anchored against sports-nutrition consensus [3,4,5]. The result is not one number but eleven.

Figure 01 · Chicken breast, scored across 11 slots

The same food, different score per slot

Slot Score Reading
Lunch0.97Anchor fit. Moderate digestion clears before evening; lean protein at a peak socialising slot.
Dinner0.97Anchor fit. Same reasoning; the dominant Western cuisine slot.
Post-workout meal (1 to 2 h)0.73Good fit. Lean protein for the rebuild window, moderate speed acceptable at 60 min plus.
Pre-workout T minus 1200.30Marginal. Moderate digestion clears in the window, but the slot usually calls for slower carb and higher volume.
Pre-bed0.33Marginal. Not slow enough to hold amino acids overnight; casein-moderate foods outscore.
Breakfast0.27Low fit. Cooking effort and cultural convention penalise; raw chicken unacceptable.
Snack0.27Low fit. Requires cooking; not a typical snack food.
Pre-workout T minus 600.20Low fit. Digestion too slow for the tighter window.
Pre-workout T minus 300.10Off limits. Solid protein this close to a session sits heavy.
Post-workout immediate0.00Off limits. The MPS window calls for whey speed; chicken cannot land the leucine peak fast enough.
Intra-workout0.00Off limits. Solid protein during work degrades performance.
Fig 1. Chicken breast reads as a strong fit at lunch and dinner, marginal in the pre-workout and pre-bed windows, and off limits during and immediately after training. Same food, different score per slot.

The 11 scores are the engine's routing map for the food. When the Meal Architect plans a day, it does not ask "is chicken healthy". It asks "does chicken fit slot X for this athlete today". That question has 11 different answers per food. Averaging them into one number collapses the information.

Chapter 07 · Provenance and verificationWhere the numbers come from, and who signed them off

Every field on the document carries a dataSources record. Macros on the chicken breast entry read VERIFIED for calories and protein. Micronutrients read USDA, meaning the source is USDA FoodData Central [1]. Yield factor reads USDA_AH102, pointing at Agricultural Handbook 102 [2]. Nothing on the record is user-contributed. Nothing is a scraped average.

Above that sits a small human-in-the-loop system. Once a registered dietitian has reviewed a food and signed off on the numbers, the reviewed fields join an agentLockedFields list. Subsequent enrichment passes are permitted to fill sparse fields but cannot overwrite the RD-locked ones. That is how the database avoids drift over time.

None of the above is visible in the app. The user sees the food, picks it, records it. The document under the surface is what makes the plan the food ends up in coherent.

The takeawayOne food, eight dimensions

The nutrition label on a chicken breast is legally sufficient for a shelf. It is not sufficient for a plan.

KEXBI holds macros in two states, per-cooking-method transforms, micronutrients at amino-acid resolution, glycemic data, gastric residence, protein type, meal-slot fit across 11 windows, and verified provenance. Eight dimensions of the same food, connected. That is the depth per ingredient. Every food in the database carries it.

The next four articles in this series each take one of those dimensions apart in depth: raw vs cooked, glycemic load timing, meal-slot fit, and the moat against generic trackers.

Continue the series · 2 of 5
Weighing Food Raw vs Cooked · Why Your Macros Are Wrong
→ Yield factors, kitchen-scale reality, and where crowd-sourced trackers get the maths wrong

References

  1. USDA FoodData Central. Standard Reference food composition tables (SR Legacy and Foundation Foods). USDA Agricultural Research Service.
  2. Bognár A. Tables on weight yield of food and retention factors of food constituents for the calculation of nutrient composition of cooked foods (dishes). Berichte der Bundesforschungsanstalt für Ernährung. 2002. (USDA Agricultural Handbook 102, updated.)
  3. Kerksick CM, Arent S, Schoenfeld BJ, et al. International Society of Sports Nutrition position stand: nutrient timing. J Int Soc Sports Nutr. 2017;14:33.
  4. Thomas DT, Erdman KA, Burke LM. American College of Sports Medicine Joint Position Statement. Nutrition and Athletic Performance. Med Sci Sports Exerc. 2016;48(3):543 to 568.
  5. Jäger R, Kerksick CM, Campbell BI, et al. International Society of Sports Nutrition position stand: protein and exercise. J Int Soc Sports Nutr. 2017;14:20.
  6. Trommelen J, van Loon LJC. Pre-sleep protein ingestion to improve the skeletal muscle adaptive response to exercise training. Nutrients. 2016;8(12):763.

The chicken breast document values quoted throughout (macros, yield factor, micronutrients, meal-slot fit scores) are the live entries in KEXBI's verified pantry dataset, sourced from the references above and, where noted, calibrated as KEXBI implementation values against the cited literature. The 0.75 yield factor for skinless chicken breast is from USDA Handbook 102 (Bognár 2002). The 11-slot meal-fit taxonomy is KEXBI's implementation choice; the underlying rules for what qualifies a food for a slot are anchored in Kerksick 2017 and Thomas 2016. Amino acid values per 100 g are drawn from USDA FoodData Central.

BETA UNDERWAY

Ready to apply the science?

Home Experience Engine About Notify