Grow Fragrance · Internal · Holiday Season

Holiday Lineup — Historical Performance & 2026 Forecast

Holiday 2023–2025 Actuals · 2026 Forecast V1 · Nov 1 – Jan 31
Prepared for: Nikita Patel & Dan Swimm
Date: May 27, 2026
Prepared by: Dave DeLissio
Status: DRAFT
2026 Plan
Seasonal Demand
Performance by SKU
Growth Target
Config — As Run (V6)
Engine Audit

Holiday 2026 Plan

Source: forecast_output_holiday_final.json · Engine v2 · Growth rate 8.0% · Season: Nov 1 – Jan 31 (92 days)
Amazon 2-pack allocation confirmed — V6. VP + PSP Amazon 2-pack set to 1,000 units per fragrance (2,000 total), mirroring Fall 2026 standard allocation. Enabled 2026-05-29.

Forecast by Fragrance & SKU

Fragrance Format 2026 Forecast Notes
Winter Hearth  Capped New 2026
Winter Hearth5oz Spray1,800Fixed cap — oil-constrained new launch
Winter Hearth2oz Spray1,000Fixed cap
Winter Hearth Total2,800
Vanilla Peppermint  Y2 Returning
Vanilla Peppermint5oz Spray13,00656.6% share · V6 engine
Vanilla Peppermint8oz Candle2,50710.9% share
Vanilla PeppermintCar Freshener3,22914.1% share
Vanilla PeppermintAmazon 2-Pack (5oz Spray) Capped1,000Hard cap · VP + PSP 2-pack · enabled V6
Vanilla PeppermintDiffuser Overlay3,229= Car Freshener units (additive)
Vanilla Peppermint Core Total (excl. diffuser)19,742
Palo Santo Pine  4 Formats incl. 3 New
Palo Santo Pine8oz Candle87615.4% share
Palo Santo Pine5oz Spray New 20262,54244.7% share · Y1 overlay applied (1.875×)
Palo Santo PineCar Freshener New 202663211.1% share · Y1 overlay applied (1.875×)
Palo Santo PineAmazon 2-Pack (5oz Spray) Capped1,000Hard cap · VP + PSP 2-pack · enabled V6
Palo Santo PineDiffuser Overlay632= Car Freshener units (additive)
Palo Santo Pine Core Total (excl. diffuser)5,050
Grand Total (all SKUs incl. diffuser overlays)31,453

30-Day Launch Readiness — Units in Warehouse by Nov 1

Buffer window: 30d

Production timing requirement only — not additional units. Total to produce = forecast (unchanged). Formula: round(forecast / 92 × buffer_days). Winter Hearth: all units must be finished by Nov 1 regardless of buffer.

Forecast source: forecasting/forecast_output_holiday_final.json · Engine v2 · Run 2026-05-28

Diffuser overlay applied post-engine: units(Diffuser) = units(Car Freshener) per fragrance. WH excluded. Same methodology as Fall 2026.

Launch readiness: formula = round(forecast / 92 season days × buffer_days). Season = Nov 1–Jan 31. Buffer default = 30 days (adjustable via slider on Forecast tab).

Amazon 2-Pack (5oz Spray): 1,000 units per fragrance (VP + PSP) · 2,000 total · enabled V6 2026-05-29. Mirrors Fall 2026 standard allocation.


2026 Lineup & Key Decisions

All lineup decisions confirmed. BOMs verified, oils procured, decay rates locked, format matrices set. No open decisions remain for purchasing purposes.

Confirmed Decisions

Growth Target
8.0%
6 demand signals · 72% support score · Locked in V1
VP Decay Rate
0.0%
Override — 1 observed season, not yet calibratable
PSP Decay Rate
0.0%
Override — new-format year; pooled rate wrong direction
WH Method
Fixed Caps
1,800 × 5oz Spray + 1,000 × 2oz Spray · oil-constrained
Diffuser Overlay
= CF Units
VP: 3,229 · PSP: 632 · Additive, no BOM required at planning
Amazon 2-Pack (5oz Spray)
1,000/frag
VP + PSP · 2,000 total · mirrors Fall 2026 standard · enabled V6 2026-05-29
PSP New Format Treatments
Confirmed
Y1 distribution approximated for PSP new formats (5oz Spray, Car Freshener, Diffuser)
Season Window
92 days
Nov 1 – Jan 31 · Launch buffer: 30 days in-warehouse by Nov 1

FragranceStatusFormatsBOMOilsDecay2026 Forecast
Winter Hearth New Capped ✓ Caps Set 5oz Spray (1,800) · 2oz Spray (1,000) HH oil 11.34 kg · Forest Rev.6 4.06 kg N/A — capped new launch 2,800
Vanilla Peppermint ✓ Ready 5oz Spray · 8oz Candle · CF · Diffuser ✓ Confirmed Givaudan · $105/lb · MOQ 55 lbs 0% locked (override) 22,971 (incl. diffuser)
Palo Santo Pine ✓ Ready 8oz · 5oz Spray · CF · Diffuser ✓ Confirmed CE-218468 · Confirmed procured (Nikita, 2026-05-26) 0% locked (override) 5,682 (incl. diffuser)

PSP oil confirmed procured by Nikita, 2026-05-26. Pine Forest NF (CE-218468) at Custom Essence, $51.70/lb, MOQ 50 lbs.

WH oil: no vendor established yet for future orders. Holiday Hearth used Belle Aire at $75/lb — closest analog for sourcing.

Amazon 2-Pack (5oz Spray) allocation: 1,000 units per fragrance (VP + PSP), 2,000 total, enabled V6 2026-05-29. Separate fragrance oil requirement applies.

Seasonal Demand Curves

Daily sell-through by fragrance · Nov 1 – Jan 31 · Shopify + Faire · Actuals only
Winter Hearth excluded. No historical sales data exists. Production-capped run — all 2,800 units must be finished and in-warehouse by Nov 1. Demand shape not applicable.
All Vanilla Peppermint Palo Santo Pine Pine Forest retired Holiday Hearth retired Snowscape retired
2025 2024 2023
VP 2025 PSP 2025 PSP 2024 Pine Forest Holiday Hearth Snowscape Solid = 2025 · Dashed = 2024 · Dotted = 2023

Daily Demand — 7-Day Rolling Average

Solid = 2025 actual · Dashed = 2024 actual · Dotted = 2023 actual (partial season launch)

Demand Timing — Key Milestones (VP 2025 benchmark)

Best available timing benchmark for Holiday 2026 production planning
MilestoneDateCumulative %Implication
Week 2Nov 1439%Strong front-load — nearly 40% of season sells in first 2 weeks
Black FridayNov 2858%Majority of season through by BF week
Week 5Dec 571%Reorder window for raw materials is closed by this point (1–3mo lead time)
Mid-DecemberDec 1483%Finished-goods flex still possible (1–3 day production) if raw materials on hand
Dec 31Dec 3195%Season effectively closed; Jan tail is small

Demand curve data: parquet fact_orders, Shopify + Faire, holiday windows Nov 1 – Jan 31. VP: 2025 season only (Y1 debut). PSP: 2024 and 2025.

Retired fragrances (PF, HH, SC) show 2023–2025 actuals. 2023 = partial season launch (Dec–Jan only). Shopify + Faire only (Amazon excluded from curves).

Weekly Sell-Through — 2024 vs 2025

Units sold per week · Shopify + Faire · Nov 1 – Jan 31 · Select fragrance to compare seasons
Fragrance:

Week 1 = Nov 1–7 (weeks are Mon–Sun aligned to calendar). VP 2024 not shown — VP launched Holiday 2025. PSP 2024 reflects first-season launch with lower absolute volume.

SKU-Level Performance · Holiday Seasons

Window: Nov 1 – Jan 31 · Shopify + Faire (candles); Shopify only (sprays, car fresheners) · Amazon shown separately
Amazon 3-pack (PF / HH / SC): Units per fragrance from Nikita's actuals — 2024: ~386/frag · 2025: 1,254/frag. Lake ETL mapping error affects this ASIN; Nikita's figures are authoritative.
Fragrance Format 2023 Units 2024 Units 2025 Units 2026 Forecast YoY 23→24 YoY 24→25 2026 vs 2025
Pine Forest  Retired — Not in 2026 Lineup
Pine Forest5oz Spray 2263,0965,533 +1,270%+79%
Pine Forest5oz Spray (Amazon indiv.) 1,479 New
Pine Forest5oz Spray (3-pack share) ~1,254¹~3861,254 −69%+225%
Pine ForestCar Freshener 10956186 +415%−85%
Pine Forest Total (Shopify+Faire)3353,7055,673+1,006%+53%
Holiday Hearth  Retired — Not in 2026 Lineup
Holiday Hearth5oz Spray 963,1441,078 +3,175%−66%
Holiday Hearth5oz Spray (Amazon indiv.) 77834 +983%
Holiday Hearth5oz Spray (3-pack share) ~1,254¹~3861,254 −69%+225%
Holiday Hearth6.5oz Candle 881,298290 +1,375%−78%
Holiday Hearth8oz Candle New 2025 221 New
Holiday Hearth Total (Shopify+Faire)1844,4421,668+2,314%−62%
Snowscape  Retired — Not in 2026 Lineup
Snowscape5oz Spray 2623,2713,511 +1,149%+7%
Snowscape5oz Spray (3-pack share) ~1,254¹~3861,254 −69%+225%
Snowscape6.5oz Candle 291,158710 +3,893%−39%
Snowscape8oz Candle New 2025 621 New
SnowscapeCar Freshener 851,3180 +1,450%−100%
Snowscape Total (Shopify+Faire)3765,8004,891+1,443%−16%
Vanilla Peppermint  Y2 — 2026 Lineup
Vanilla Peppermint5oz Spray 5,79113,006 Y1+124.6%
Vanilla Peppermint8oz Candle 1,1432,507 Y1+119.3%
Vanilla PeppermintCar Freshener 1,4113,229 Y1+128.8%
Vanilla PeppermintDiffuser Overlay 3,229 New
Vanilla PeppermintAmazon 2-Pack (5oz Spray) Capped 1,000 New
Vanilla Peppermint Total (Shopify+Faire+Amazon)8,34522,971Y1+175.3%
Palo Santo Pine  4 Formats — 2026 Lineup
Palo Santo Pine6.5oz Candle Removed 1421,490969 +950%−35%Discontinued
Palo Santo Pine8oz Candle New 2025 788876 Y1+11.2%
Palo Santo Pine5oz Spray New 2026 2,542 New
Palo Santo PineCar Freshener New 2026 632 New
Palo Santo PineAmazon 2-Pack (5oz Spray) Capped 1,000 New
Palo Santo PineDiffuser Overlay 632 New
Palo Santo Pine Total (Shopify+Faire+Amazon)1421,4901,7575,682+950%+18%+223.4%
Winter Hearth  Capped New 2026
Winter Hearth5oz Spray 1,800 New
Winter Hearth2oz Spray 1,000 New
Winter Hearth Total2,800New
Grand Total — All Fragrances 1,037 15,437 22,334 31,453 ³ +1,576% +104% +40.8%

¹ Amazon 2023 3-pack units per Nikita's file (RS-Holiday2023 ASIN). Lake ETL mapping error for this ASIN; Nikita's figures are authoritative.

² Shopify candles include Faire wholesale. Sprays/CF are Shopify direct only (validated attribution rule).

PSP 2026 per-format decline vs 2025 reflects redistribution across 4 formats (candle + spray + CF), not demand decline. Fragrance-level 0% decay override preserves the total.

Retired fragrances (PF, HH, SC) shown for historical reference only — not in 2026 lineup.

³ 2026 Grand Total reflects active lineup only (VP + PSP + WH). Retired frags (PF, HH, SC) have no 2026 forecast.

Growth Target — Honest Assessment

V6 engine · Data-driven estimate: 5–6% organic · Locked at 8% (aspirational stretch)
Production Decision
Plan at 5–6% organic  ·  Lock production at 8% base (31,453 units)
Data directly supports 5–6% growth. The 8% plan is reachable — not reckless — but requires two conditions: email channel activates before Nov 1 and VP Year 2 tracks at or above Q1 momentum (+5.5%). Establish a Nov 7 checkpoint; week-1 VP sell-through will confirm or flag. The 30-day launch buffer provides production flex to respond.
H2025 Full Program Base (All Fragrances)
24,176
VP 8,883 + PSP 1,757 + PF 5,673 + HH 1,668 + SC 4,891 · Engine grand_base
Q1 2026 Unit Growth (leading signal)
+5.5%
46,490 → 49,070 all-channel units · Jan–Mar 2026 · Lake cutoff Apr 29
Locked V1 Target
8.0%
Aspirational · Requires email activation + VP Y2 outperformance
Why the 2026 numbers are much larger than 2025 VP+PSP. The V2 engine is lineup-agnostic: the grand_base (24,176) includes all five 2025 fragrances — VP, PSP, and the three retired fragrances (PF 5,673 + HH 1,668 + SC 4,891). The 8% growth target is applied to that full pool. VP and PSP must absorb the retired-fragrance demand plus organic growth. VP+PSP 2025 alone (10,301 units) is not the comparable base for this growth calc — the full 2025 program is.
YTD Jan–Apr 2026 all-channels is −9.2% — but this is a base-effect artifact, not a signal. April 2025 was the peak of VP's Y1 launch ramp (16,003 Shopify units alone). That comp makes 2026's April look weak (-41.3% YoY) when business fundamentals are intact. Holiday 2026 performance depends on Nov–Jan dynamics, not pre-season comps. The relevant signals are Q1 units (+5.5%), ad spend trajectory (+34.2%), and returning order rate (49%).
Data-Driven Estimate
5–6%
Data-Driven Target — What the Data Directly Supports
Q1 2026 momentum (+5.5%) is the strongest comparable leading indicator. Business fundamentals are healthy (ad spend +34%, returning orders 49%) but email ($0 in 2025) is an unactivated lever the 8% target implicitly needs. At 5–6%, the returning lineup (VP+PSP) grows modestly and WH adds 2,800 fixed units.
VP Year 2: No holiday Y1→Y2 comparable exists. Pooled all-fragrance median: −7.2%. But VP's Y1 fundamentals (49% returning orders, strong ad spend) suggest flat-to-modest-positive. Estimate: 0% to +5% → 8,544–8,971 units.
PSP: Adding 3 new formats creates incremental demand channels. Candle-only H2024→H2025: +16.5%. With elasticity weight 0.8 + format redistribution, V1 lands at 1,217. Directionally reasonable.
WH: Fixed at 2,800. Not demand-modeled. Adds real incremental volume regardless of organic rate.
At 5% organic: ~VP 8,971 + PSP 1,217 + WH 2,800 = 12,988 (essentially V1 base).
Data Floor
3–4%
VP flat Y2 (pooled decay applied);
email stays inactive
Data Base ✓
5–6%
Q1 momentum holds;
VP modest growth
Data Stretch
7–9%
Email activates;
VP Y2 outperforms
V1 Locked
8%
Holiday 2026 Growth Target — As Run (V6)
8% is at the upper end of what data directly supports. It is achievable if email channel activates (currently $0 contributing) and VP Year 2 exceeds the Q1 momentum signal. The bear scenario (5%) is essentially the data-grounded floor. Locking at 8% is a reasonable aspirational target — not reckless, but above the neutral read of signals.
Bear
5%
30,544 units total
Data-floor scenario
Base ✓
8%
31,453 units total
Locked in V6
Bull
12%
32,662 units total
Email activated

Demand Signal Assessment

Support score: 61% (11/18) · 3 strong + 1 moderate · 2 counter-signals

Bear / Base / Bull — Total Units

Includes WH (2,800 fixed) + VP + PSP + diffuser overlays


Signal Scorecard

Six signals assessed · Net read: 5–6% organic growth · 8% requires email activation + VP Year 2 outperformance

Signal Reading Weight Implication for Holiday 2026
Q1 2026 Units
Jan–Mar 2026 · All channels
✓ +5.5%
46,490 → 49,070
High Cleanest apples-to-apples comp. Directly supports a 5–6% holiday base. Reaching 8% requires this rate to hold or accelerate through November.
Returning Order Rate
2024 → 2025
✓ 49.0%
+4.5pp YoY
High Half of orders are repeat — structurally bullish for VP Year 2. Repeat buyers in 2025 are the demand base for 2026. Pushes VP Y2 above the −7% pooled decay median.
Ad Spend
2024 → 2025
~ +34.2%
$833K → $1.1M
Medium Spend grew 4× the unit growth rate — ROAS may be compressing. More fuel, but efficiency is unknown. Positive forward indicator, not conclusive.
VP Year 2 Decay
Holiday Y1 → Y2
— Unknown
One season observed
High No holiday Y1→Y2 comp exists. Pooled median −7.2% with 62pp std dev — unusable. Plausible range: 8,000–9,200 units. V4 locks at 0% (flat) — conservative and defensible. Each 5% error = ~425 units.
Email Revenue
Klaviyo 2025
✗ $0
Zero campaigns
High The 8% target's primary upside lever is currently inactive. If email stays dormant through Holiday 2026, the model loses its key driver. Email activation before Nov 1 is the highest-leverage action available.
YTD −32.8%
All channels · Jan–May 2026
✗ −32.8%
Base-effect artifact
Ignore Jan–May 2025 captured the holiday January tail + full VP launch ramp. This reflects the shift to a holiday-concentrated model, not demand deterioration. Use Q1 units (+5.5%) as the operative signal.
Bottom Line — Production Decision
Lock production at 8% base (31,453 units). The data floor is 5–6%, but 8% is achievable if two conditions hold: email activates before Nov 1, and VP Year 2 tracks Q1 momentum. Neither requires a heroic assumption. Set a Nov 7 checkpoint: if VP week-1 sell-through runs below the 2025 pace, flag immediately — the 30-day launch buffer provides flex to respond without emergency production.
30,544
Bear · 5%
Email stays dark
VP flat-to-down
PLAN
31,453
Base · 8%
V6 locked
Nov 7 checkpoint
32,662
Bull · 12%
Email activates
VP Y2 outperforms

Holiday 2026 Config — As Run (V6)

V6 engine run 2026-05-29 · Amazon 2-pack allocation enabled (1,000/frag VP + PSP) · Source: Holiday_2026_Config_V1.yaml

V1 → V6 Changelog

Key parameters and post-processing steps changed across the V1 → V6 progression are documented below with rationale.

Component V1 (2026-05-26) V6 (2026-05-29) Why Changed
season_days
Engine parameter
61 92 Bug fix: the holiday season crosses a year boundary (Nov 1 – Jan 31). V1 used 61 days (Nov 1 – Dec 31 only), truncating 31 days of January sell-through. The launch buffer denominator was wrong, overstating the daily rate and the units required by Nov 1. Fixed via get_season_window() cross-year patch.
8oz Candle alias
Engine demand pull
Manual workaround Fixed in engine V1: pull_seasonal_demand() renamed "8oz Candle" → "3-Wick Candle" internally, causing a demand lookup miss. V1 compensated with apply_format_split_fix() in the export script — a post-engine patch using 2025 actuals. V2 fixes the alias in the engine itself, removing the need for the workaround.
VP V2 product aliases
PRODUCT_ALIASES map
Not mapped Added VP launched a V2 SKU mid-season in 2025 with new product IDs. These IDs were present in the Parquet lake but absent from PRODUCT_ALIASES, so V1 missed their demand in the historical pull. V2 adds the VP V2 aliases, correctly capturing the full 2025 season demand for the shape-scaling step.
PSP Year 5 elasticity weight
FM-01 engine parameter
0.5× 0.8× V1 used the default 0.5× Y5 weight, calibrated on single-format fragrances. PSP 2026 adds 3 new formats (spray, CF, diffuser), expanding its addressable demand pool. A 0.5× weight underrepresents this expansion. 0.8× reflects a format-expansion adjustment — new channels reduce the typical mature-fragrance decay effect.
Post-processing
export_forecast_xlsx_holiday.py
apply_format_split_fix() called Removed With the 8oz alias fixed in the engine, running apply_format_split_fix() on top of the correct engine output would produce wrong numbers (double-correction). The workaround was removed entirely. V2 engine output flows directly to the Excel export with no post-processing patch applied.
Amazon 2-pack allocation
pack_allocation config
0 units — pending decision 1,000 / fragrance V1–V4 held the VP + PSP Amazon 2-pack at zero pending allocation decision. V6 enables 1,000 units per fragrance (2,000 total), mirroring Fall 2026 standard 2-pack allocation. PSP units remain contingent on oil procurement confirmation. Units are allocated within the engine's grand total pool.

Key Config Values — V6 As Run

ParameterV6 ValueRationale
Growth rate8.0%V6 locked. Signal scorecard: Q1 +5.5% (direct support), returning rate 49% (bullish), email $0 (risk). Data floor = 5–6%; 8% is aspirational stretch. See Growth Target tab.
VP decay rate0.0% override1 observed season — inter-season decay not yet calibratable
PSP decay rate0.0% overridePooled −18.1% is wrong direction vs +18% actual; new-format year makes aggregate unreliable
WH methodFixed capsNew launch, no history. 5oz: 1,800 cap · 2oz: 1,000 cap. Oil-constrained production ceiling.
Diffuser overlay= CF unitsNo BOM finalized at planning; CF is closest demand analog. Same methodology as Fall 2026.
Amazon packs1,000/frag · VP + PSPAmazon 2-pack enabled V6 2026-05-29. 1,000 units per fragrance (2,000 total), mirroring Fall 2026 standard allocation. PSP procurement constraint retained — pack output contingent on oil confirmation.
Season days92Nov 1 – Jan 31 (cross-year fix applied in V2 engine; confirmed through V4). V1 used 61 days — truncated January.
Launch buffer30 daysround(forecast / 92 × 30) units in-warehouse by Nov 1 — production timing only. Adjustable via slider on Forecast tab.

Engine Audit — How the Forecast Was Built

Engine v2 · Holiday_2026_Config_V1.yaml · V6 run 2026-05-29 · All numbers chain to 31,453
H2025 Actuals
24,176
Grand Base — all 5 frags + discovery
×1.08
+1,934
Engine Target
26,111
8% growth applied · SKUs allocated
PSP Y1
+1,481
+ PSP Y1 Overlay
27,592
New formats corrected to Y1 weight
Diffuser
+3,861
Final Plan
31,453
+30.1% vs H2025
incl. overlays · engine alone = +8.0%
Production target · V6 locked

Step 1 — H2025 Grand Base (24,176 units)

Every fragrance that sold in Holiday 2025 contributes to the starting total — including the three retired fragrances. The 2026 active lineup (VP, PSP, WH) must absorb that retired demand and grow 8% on top. Without retired frags, the base would be ~10,640 and the plan would be ~11,500 units.

🟢 Active 2026: Vanilla Peppermint · Palo Santo Pine · Winter Hearth  ·  ⬜ Not Returning: Pine Forest · Snowscape · Holiday Hearth · Discovery Packs

Step 2 — Pooled Decay vs. Applied Override

The engine calculates a "default" decay rate from 25 historical fragrance transitions. For Holiday 2026, both active fragrances override the pooled −7% default to 0% — VP because no Y1→Y2 holiday comparable exists, PSP because three new formats create incremental demand channels.

Pooled Y1→Y2 median: −7.0% (n=15) · Y2→Y3: −0.7% (n=10) · Stdev ±50pp — honest uncertainty

Steps 3–5 — Growth Target & Elasticity Scaling

The raw decay-adjusted forecasts sum to 13,440 — well below the 26,111 engine target. The gap is distributed using elasticity weights: newer fragrances get a larger share of incremental growth. WH is capped at its production limit regardless of the model. Amazon 2-Pack units (2,000 total) are allocated within the engine pool before format splitting.

Weights: WH 1.5× (Y1 new) · VP 1.2× (Y2) · PSP 0.8× (Y5 mature) · Raw total: 13,440 → Scaled: 26,111 (incl. 2,000 Amazon packs)

Step 7 — Format Allocation

Each fragrance's total is split across its SKU formats using the prior season's format mix as a guide. Capped formats (WH) get their exact fixed number first; remaining units flow to demand-driven formats proportionally.

VP — 22,971 total
PSP — 5,682 total
WH — 2,800 total ⚠ capped
Diffuser slices are overlay-added (post-engine). PSP includes Y1 correction on Spray + CF. WH is production-capped by oils on hand; no diffuser format.

Steps 8–9 — Post-Engine Overlays

PSP Y1 overlay (+1,120): The engine assigned PSP a Year 5 weight (0.8×) because the fragrance is in its fifth season. But its 5oz Spray and Car Freshener are brand new formats entering Year 1. This overlay scales those two SKUs to 1.875× (= Y1 weight ÷ Y5 weight). It is additive — units are added on top of the engine total, not redistributed from VP or WH.

Diffuser overlay (+3,861): Diffusers have no sales history. Business decision: set diffuser volume equal to Car Freshener volume per fragrance. Runs after the Y1 overlay, so PSP's diffuser equals its Y1-corrected CF (632), not the engine's pre-correction CF (337). Also additive.

How 31,453 Was Built

Four additive components make up the final production plan. The base is last year's full program. Each step adds on top; nothing is replaced or redistributed between steps.

Engine cuts off at
26,111
24,176 × 1.08 + 2,000 packs
Overlays add
+5,342
Y1 +1,481 · Diffuser +3,861

Key Decisions & Their Impact

Every number traces to a decision. Change any row below and the final total changes.

Decision What Was Set Unit Impact If Changed To…
Retired frags in grand_base PF + HH + SC 2025 sales included in starting total +13,232
in base
Without retired frags, base = 10,640 → 8% target = 11,491. The entire scale of the plan changes.
Diffuser overlay Diffuser = Car Freshener units · VP + PSP +3,861 Remove overlay → final = 27,592. Include but cut by half → final ≈ 29,523.
PSP Y1 overlay New formats scaled 1.875× (Y1 ÷ Y5 weight) +1,481 Remove overlay → PSP stays at 3,569 (engine output). Final before diffusers = 26,111 (engine only).
Growth rate 8.0% · Locked V6 · Data floor = 5–6% +1,934
vs flat
At 5%: engine target = 25,385 (−725 units). At 6%: 25,627 (−483). Overlays also shrink proportionally.
VP decay override = 0% Holds VP flat · Pooled default = −7.0% ~+600 At pooled −7%: raw VP = 8,261 (vs 8,883). After elasticity scaling, VP final ≈ 19,900 (−600 units).
WH production cap 1,800 × 5oz + 1,000 × 2oz · Fixed ceiling 2,800 Cap is set by oils on hand — not a modeling choice. More oil = higher cap = higher total.
Amazon 2-pack 1,000 units/frag · VP + PSP · 2,000 total · Locked V6 2,000
in pool
Allocated within engine growth pool before format splitting — not additive. Packs consume pool budget, reducing VP/PSP core SKU counts proportionally. Remove packs → VP/PSP core units increase; grand total stays near V5 (31,952). PSP units contingent on oil procurement confirmation.

Engine: forecasting/run_forecast.py v2 · Config: forecasting/Holiday_2026_Config_V1.yaml · Overlays: analytics/david/forecast/export_forecast_xlsx_holiday.py

Chain verified: 26,111 (engine incl. 2,000 packs) + 1,481 (PSP Y1) + 3,861 (diffuser) = 31,453 ✓

AWAITING FINAL REVIEW
Pre-Production State — not approved for final distribution — preprod.growfragrance.ai