Unflame
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

  1. Read yesterday logged meals only.
  2. Compare yesterday totals against persistent base targets.
  3. Apply capped corrections for one day.
  4. 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.