Back to methodology
Onboarding calculation
Target Rollover Methodology
How optional target rollover adjusts today from yesterday without creating an infinite carry-forward loop.
Status: Optional onboarding setting on the precision-tracking screen.
Last updated: June 15, 2026
Inputs and outputs
Inputs
- Yesterday meal totals
- Persistent base targets
- Seasonally adjusted calorie target when enabled
Outputs
- One-day calorie, protein, fiber, sugar, saturated-fat, and extracted omega-6 oil adjustments
Formula
if rollover disabled: no adjustment
if no logged meals yesterday: no adjustment
calorie overage adjustment = -min(actual - target, cap, target - 1200)
calorie cap = min(300, max(150, base_calories * 0.15))
protein deficit adjustment = min(target - actual, min(35, max(5, target * 0.25)))
fiber deficit adjustment = min(target - actual, min(12, max(3, target * 0.30)))
sugar overage adjustment = -min(actual - target, target - 10, min(10, max(3, target * 0.25)))
saturated fat overage adjustment = -min(actual - target, target - 5, min(6, max(2, target * 0.30)))
extracted omega-6 oil overage adjustment = -min(actual - target, target - 3, min(5, max(1, target * 0.30)))
Calculation steps
- Read yesterday logged meals only.
- Compare yesterday totals against persistent base targets.
- Apply capped corrections for one day.
- Never read today adjusted targets as the next base. This keeps rollover stateless and prevents repeated carry-forward.
Guardrails
- Rollover only runs when the user enables it.
- It does not punish missing data; no logged meals means no rollover.
- Calories are never rolled below the 1200 kcal floor.
Sources
Application logic This calculation is an optional operational rule and does not claim an external clinical source.
These formulas describe how Unflame estimates onboarding targets. They are planning estimates and should be reviewed against real-world trends, user preference, symptoms, and professional guidance where relevant.