For: Dan · From: David · Date: April 23, 2026 · Season: Fall 2026 (32,909 units committed)
The engine is safe to keep running Fall 2026 production — but one-third of the forecast is exogenous growth-target uplift, not model mechanics, and five gaps need to close before Summer 2026 locks.
The Situation
FM-01 is the production engine driving Fall 2026 fragrance commits (32,909 units across Flannel + Leaves, Autumn Heirloom, Ginger Pumpkin). This is its first formal validation since moving to monitoring status on April 21. Summer 2026 production commits lock next — that's the reason this validation happened now, not later.
Bottom Line
⚠ CONDITIONALLY VALIDATED
Keep running the engine. Five gaps must close before Summer 2026's production lock. None are show-stoppers, but together they cover roughly $86K–$165K of resolvable exposure on the Summer 2026 season.
Why You Should Care
If we commit to the Fall 2026 forecast as-is and repeat the pattern on Summer 2026:
The forecast is more optimistic than the bottom-up data supports. Fall 2026: raw bottom-up demand decays to ~18,618 units; the top-down growth target adds 10,897 units of pure uplift to reach 32,909. 33% of the target is faith in growth, not mechanics.
Underforecast costs ~2.5× more than overforecast on this portfolio. Blended Cu ≈ $9.41/unit, Co ≈ $3.72/unit. Missing 10% to the downside costs ~$31K in lost margin; missing 10% to the upside costs ~$12K in carrying cost.
Margin data is missing for 3-Wick Candle and 2oz Discovery Packs. Half the Fall SKU rows have null margin_per_unit — $177K in projected margin is understated by ~$40K–$80K.
Stockout contamination is unquantified. Sea Salt Neroli and Pomelo's 2025 declines feed the pooled decay curve as real demand signal; if those months were stockout-suppressed, the model systematically underforecasts recovered fragrances by ~$20K–$40K.
Cross-fragrance cannibalization isn't modeled. Coconut Soleil Y1 × Cabana Y2 is the Summer 2026 high-risk case; DuckDB now has the 2023 data needed to re-open Improvement #2.
Figure 1. Dollar exposure by error scenario. Blended Cu and Co for Fall 2026 mix. Underforecast costs more than overforecast because lost margin on spray + candle exceeds carrying cost on held inventory.
What Needs to Happen Before Summer 2026 Commits
Close Margin Data Gaps on 3-Wick + 2oz Packs — resolves up to $80K in unreported margin exposure. Owner: Nikita → ETL. Effort: Low.
Quantify Stockout Contamination in Pooled Decay Curve — resolves ~$20K–$40K underforecast bias on recovered decay fragrances. Owner: David (analysis) → Dan (policy decision). Effort: Medium.
Confirm Summer→Fall Cu/Co Carry-Forward with Nikita — resolves ~$8K–$15K exposure if Fall carrying cost differs. Owner: Nikita → David. Effort: Low.
Re-attribute Summer 2025 Backtest Error (growth target vs mechanics vs allocation) — resolves ~$18K–$30K in mis-attributed error currently masking engine drift. Owner: David. Effort: Medium.
Document Scaling Dominance in the Summer 2026 Config — one-line changelog entry noting ~33–45% of Summer's forecast is top-down uplift. Framing, no dollars — but it changes the tolerance band you read. Owner: David. Effort: Low.
What I'd Do Differently
Ship the engine with per-SKU prediction intervals exposed in the JSON output. The engine already computes 70% and 90% CIs internally but only emits them at fragrance level. Nikita's production decision is per-SKU. Effort: Low.
Re-open Cannibalization Exploration before Summer 2026. DuckDB now has 2023 data — the gate we were waiting on is satisfied. The Coconut Soleil × Cabana case is exactly the scenario Improvement #2 was drafted for. Effort: Medium-High.
Stand up a forecast_run_log table. Every production-driving run should be audited (timestamp, config hash, grand_target, demand-signal verdict). JSON output files get overwritten; the audit trail vanishes. Effort: Low-Medium.
Red Flags
⚠ Growth-Target Dominance: 33% of Fall 2026 (45% of Summer 2026) is top-down uplift, not bottom-up mechanics. A 5pp growth-target miss translates directly to ~$12K–$20K in production cost exposure — larger than most mechanics errors. The engine's accuracy is more dependent on Dan's growth-target call than on its decay curves.
⚠ Stockout-Censored Decay: Sea Salt Neroli and Pomelo 2025 declines (retired fragrances, -76% and -79%) feed the category-age pooled curve as clean demand signal. If stockouts suppressed real demand, the curve is biased steep — every returning fragrance inherits a steeper decay prior than reality warrants.
Validation Status
⚠ CONDITIONALLY VALIDATED
Conditions to upgrade to VALIDATED: DO FIRST block (above) complete; Summer 2026 season actuals show fragrance-level MAPE ≤ 25% or mechanics-only MAPE ≤ 15% after error attribution; economic cost beats naive-model baseline; no hard decay trigger fires.
Monitoring requirement: track Fall 2026 projection vs. actuals as the season unfolds. Flag fragrance × format drift > 20% of point forecast immediately — don't wait for season end.
Next scheduled re-validation: 2026-10-31 (end of Summer 2026 season).