# Forecasting strategy — non-food (Gadgets, Fitness, Martial-arts)

_Decision doc. Why these categories can't be forecast like food, and what to do instead._

## The core problem
The current engine (Nixtla StatsForecast: AutoARIMA / CES / Theta / Croston / ADIDA / IMAPA / TSB, channel-split, with 2× cap / 0.5× floor sanity bounds) is built for **consumables** — proteins, sports nutrition, RTD, bio. Those have the property that makes statistical time-series work: **continuous, repeat-purchase demand** with enough weekly signal to learn a level, trend and promo response.

Non-food violates every one of those assumptions. From the GADGETI deep-dive (last 12 weeks):

| Signal | Food (consumables) | Gadgets (measured) |
|---|---|---|
| Velocity | many units/SKU/week | **~2.5 units/SKU per quarter** (1,050 units / 422 SKUs) |
| Demand shape | smooth, repeat | lumpy / intermittent, mostly 0–1 a week |
| Margin | high | **12.9%** (thin) |
| Stock vs sales | weeks of cover | **€296K stock vs €245K rev/qtr ≈ 3.6 months** |
| Dead stock | small | **207 of 422 SKUs (49%) with stock but no sale in 4 wks** |
| Demand driver | consumption + promo | **product lifecycle** (launch → successor cannibalises) |

Run statistical TS on a SKU that sells 2 units a quarter and you get noise; the model holds the recent level flat into the future and **keeps "needing" stock long after the successor model has landed** — which is exactly the €296K / 49%-dead pile we measured. Garmin Fenix 7 → 8 → 8 Pro is the textbook case: the predecessor's history says "still selling," reality says "replaced."

## Principle: forecast by demand *profile*, not by department
Classify every SKU into a demand profile and route it to the right method. We already compute the inputs (ABC value + XYZ variability + non-zero weeks).

| Profile | Who | Method |
|---|---|---|
| **Smooth / continuous** | most food | Statistical TS — current engine, keep as-is |
| **Intermittent / lumpy** | slow food, accessories | Croston / TSB / IMAPA (already in pool) — but lower trust, different bounds |
| **Lifecycle / high-value** | gadgets, watches | **Judgmental + launch-curve, NOT history** |
| **Project / event-driven** | fitness & martial-arts equipment | Tie to KAM on-tops & B2B deals, plan at style level |

## Gadgets (watches & devices) — lifecycle planning
1. **Launch-curve from an analog, not from the SKU's own history.** A new watch is forecast by taking the model it replaces, scaling by an expected uplift, and applying an explicit introduction → growth → maturity → **planned decay** curve. New SKUs have no history to fit anyway.
2. **End-of-life / cannibalisation rule.** When a successor launches, the predecessor is flagged EOL → **reorder stops, sell down existing stock**. This single rule is what prevents the dead-stock pile.
3. **Buy-to-plan, not forecast-to-stock.** High value, low velocity, supplier MOQ/allocation anyway → forecast coarsely (model *family*, in € and units), then buyers place small, frequent, deliberate orders against ATP. Don't auto-replenish per SKU.
4. **Channel-split (web vs store).** Gadgets run ~**46% web / 54% store**. Web demand is centralised and more forecastable; stores need a **presentation minimum** (display availability), not deep stock. Forecast and stock them separately.
5. **Seasonal overlay.** Strong Q4 gifting + sport-season peaks. 12 weeks of history can't learn an annual cycle, so apply a **category seasonal index**, not per-SKU seasonality.

## Fitness & martial-arts equipment — order-to-demand
- **Demand is project/event-driven** (gym openings, club/B2B orders, wholesale deals), not weekly retail cadence → couple to **KAM on-tops** (the Wholesale Review module) and the known deal pipeline rather than a statistical retail forecast.
- **Size/variant matrices** (gis, gloves, apparel): forecast at the **style level**, then split to sizes via a historical **size-curve**. Never forecast each size independently.
- **Long lead times + bulky logistics** → fewer, larger, lead-time-aware buys; keep breadth modest and depth deliberate (high holding cost otherwise).

## Don't measure them the same way
- **FA at unit/weekly grain is meaningless** at 2 units/quarter. Measure gadgets/equipment at **family + monthly + € level**, and track **sell-through rate, weeks-of-cover, and dead-stock €** as the real KPIs.
- **Different sanity bounds.** The food 2× cap / 0.5× floor don't apply; binding constraints here are **MOQ, allocation, and EOL run-off**.
- **Different cadence.** Food = weekly statistical run + planner tweaks. Gadgets/equipment = **monthly judgmental S&OP per product family with the category manager**, anchored on the launch/EOL calendar.

## Concrete next steps (build on what exists)
1. Add a **`demand_profile`** field per SKU (smooth / intermittent / lifecycle / project) derived from the ABC-XYZ + velocity we already compute; route each profile to its method.
2. Build a **lifecycle table for gadgets**: analog SKU + launch-uplift + decay curve + **EOL flag** that halts reorder when a successor lands.
3. **Exclude non-food from the food auto-reorder engine**; surface it in a **category-manager planning view** (manual, family-level, €-and-ATP).
4. Stand up the **gadget KPI dashboard** (dead €, weeks-cover, sell-through, web/store split) from the deep-dive as a recurring view; same template for fitness & martial-arts.
