Statistical Forecasting · Visual Guide

Forecast at the right level.

Choosing the correct hierarchy is the single most impactful decision in forecasting — yet it's almost always treated as an afterthought. This guide changes that.

Start Learning ↓
The Opening Question

"It's Monday morning. You run a fruit stand. How many apples do you order?"

This single question contains every concept in forecasting hierarchy — aggregation level, disaggregation method, and the tradeoff between signal and operational detail.

↓ scroll
Section 01 — The Structure

Every forecast lives inside a hierarchy.

Your fruit stand doesn't sell "fruit" — it sells specific items, in categories, rolling up to total revenue. The level you forecast at determines everything else.

🍊 Fruit Stand Hierarchy
Total Stand Revenue Level 0
🍋 Citrus Level 1
Navel Orange · Blood Orange · Clementine
🍓 Berries Level 1
Strawberry · Blueberry · Raspberry
🍑 Stone Fruit Level 1
Peach · Plum · Nectarine · Cherry
Level 0 — Total Stand: Highest signal, lowest noise. Great for budget planning, but tells you nothing about what to actually order.
📡
Signal increases with aggregation
Total stand revenue is smooth and predictable. Individual SKU sales are spiky and noisy. The higher you go in the hierarchy, the cleaner the signal — but you lose operational usefulness.
🔧
Usefulness decreases with aggregation
Knowing you'll sell "$400 of fruit" doesn't help you place an order. You need quantities at the SKU level — but SKU-level data is often too sparse to model directly.
🎯
The sweet spot is the decision level
The right hierarchy level matches the decision being made — not the level where data is most convenient, and not the most granular level available.
Section 02 — The Three Approaches

Bottom-up. Top-down. Middle-out.

Three fundamentally different strategies for navigating the hierarchy. Each makes different assumptions and suits different data realities.

Bottom-Up

Forecast every individual SKU independently, then sum them up to get category and total forecasts. You trust the data at the lowest level most.

Strengths
  • Captures item-level patterns
  • Operationally actionable immediately
  • No assumptions in allocation
Weaknesses
  • Sparse items produce unstable models
  • New items have no history
  • Errors compound upward
🍓 Fruit Stand Example

"Strawberries have a clear early-summer spike. We can model them directly. But dragon fruit — we've only sold it 11 times. Any model we build is just noise."

Data Flow — Bottom-Up
Navel Orange
Forecast: 42
Blood Orange
Forecast: 18
Clementine
Forecast: 31
↓ sum
🍋 Citrus Total: 91
↓ sum all categories
Total Stand: 340 units

Top-Down

Forecast at the total or category level, then disaggregate downward using allocation proportions. You trust aggregate data more than individual data.

Strengths
  • Robust for sparse or new items
  • Aggregate models are more stable
  • Works with short item history
Weaknesses
  • Disaggregation bakes in assumptions
  • Can miss item-level demand shifts
  • Proportions can become stale
🍊 Fruit Stand Example

"We're confident next week's total citrus demand is ~90 units. Allocate by historical proportions: 46% Navel, 20% Blood Orange, 34% Clementine."

Data Flow — Top-Down
Total Stand Forecast: 340 units
↓ disaggregate by category
🍋 91  |  🍓 110  |  🍑 139
↓ disaggregate by proportions
Navel
42
Blood
18
Clem.
31

Middle-Out

Forecast at a middle tier (categories), then aggregate upward AND disaggregate downward. Balances signal strength with operational detail.

Strengths
  • Best of both approaches
  • Category data richer than SKUs
  • Captures seasonal patterns well
Weaknesses
  • Most complex to implement
  • Requires reconciliation
  • Middle level must be meaningful
🍑 Fruit Stand Example

"We forecast Citrus, Berries, and Stone Fruit as categories. Aggregate upward for revenue reporting. Disaggregate downward for SKU-level ordering."

Data Flow — Middle-Out
Total Stand (aggregated up ↑)
↑ aggregate     ↓ disaggregate
🍋 Citrus
Forecast here
🍓 Berries
Forecast here
🍑 Stone
Forecast here
↓ disaggregate to SKUs
Orange
Strawberry
Peach
Section 03 — Product Lifecycle

Lifecycle position changes everything.

The right forecasting approach isn't fixed — it shifts as a product moves through its lifecycle. A new launch has no history. A mature product has plenty. An end-of-life SKU is sparse again. The forecast method must move with it.

Launch
No history → Top-Down
Growth
Emerging signal → Middle-Out
Maturity
Full history → Bottom-Up
Decline
Sparse again → Middle-Out
EOL
Wind down → Top-Down
📱
iPhone 16 Pro
Flagship · ~12 month active cycle · Launched Sep 2024
Active
Sep '24Mar '25Sep '25Mar '26
Launch
Growth
Maturity
Decline
EOL
💡
Short cycle reality: By the time you have enough sales history to build a reliable bottom-up model, the product is already in decline. For flagship phones, top-down from the category forecast is often the only viable approach — and the transition to bottom-up happens fast.
📱
iPhone SE (3rd gen)
Budget tier · 3–4 year active cycle · Launched Mar 2022
Maturing
Mar '22Mar '23Mar '24Mar '26
L
Growth
Maturity — 2+ years of stable data
Decline
EOL
💡
Long cycle advantage: The SE has 2+ years of stable sales history. A bottom-up model at the SKU level is reliable — you can forecast by storage tier (64GB, 128GB, 256GB) independently and trust the signal. This is forecasting's ideal scenario.
🔌
MagSafe Charger
Accessory · Mirrors flagship cycle with a lag · Evergreen category
Evergreen
iPhone 12iPhone 14iPhone 16iPhone 18
Gen 1 tail
Gen 2 peak
Gen 3 peak
Gen 4 →
💡
Shadow lifecycle: Accessories don't have their own lifecycle — they inherit it from the parent product. MagSafe demand spikes every iPhone launch and decays with it. The right approach: forecast MagSafe as a proportion of iPhone unit forecasts, not independently. This is middle-out with a cross-product dependency.
Apple Watch Series (Ultra/SE/Base)
Wearables · 2 year cycle · 3 tiers running simultaneously
Multi-tier
UltraBaseSE
L
Growth
Maturity
Decline
EOL
Prior gen
L
Growth
Maturity
Decline
Long prior tail
L
Growth
Maturity
💡
Overlapping generations: Apple Watch runs Ultra, Base, and SE simultaneously — each at a different lifecycle stage. This is the hardest forecasting scenario: you need bottom-up for the mature SE, middle-out for the Base, and top-down for the newly launched Ultra, all within the same category at the same time.
Section 04 — Disaggregation Methods

How you split matters just as much.

Once you have a category forecast, you need a principled way to divide it into individual items. Four methods — each with a different assumption about what drives the split.

01

Historical Proportions

Each item gets the same share it averaged over history. Simple, stable, and easy to explain — but won't adapt to shifts in demand.

🍊 Navel Orange46%
🩸 Blood Orange20%
🍋 Clementine34%
Citrus Forecast: 90 units→ Navel gets 41, Blood 18, Clem. 31

🍊 These proportions were calculated from the past 52 weeks of sales and held fixed. Reliable until the market shifts.

02

Forecast Proportions

Each item is modeled independently first, then its share of the total is used as the weight. Reacts to current trends — heavier items pull more of the forecast.

🍊 Navel Orange ↑ trending58%
🩸 Blood Orange17%
🍋 Clementine ↓ soft25%
Citrus Forecast: 90 units→ Proportions shift with the model's signal

🍓 Navels are trending up this month, so their independent model score earns them a bigger slice of the category forecast.

03

Rolling Average Proportions

Proportions are recalculated on a sliding window — recent weeks matter more than distant history. Balances stability and responsiveness without overfitting to any single period.

8 weeks ago
Navel 43%
4 weeks ago
Navel 46%
This week
Navel 48%
🍊 Navel Orange avg: 45.7%
8-week windowSmoothed out single-week noise

🍑 Peach demand jumped in week 6 due to a promotion. The rolling average dampens that spike so it doesn't permanently inflate the Peach share.

04

Seasonal Disaggregation

Proportions are defined by the calendar. Some items are simply unavailable in certain months — their share drops to zero, and others absorb the total. This is the right method when availability, not just demand, determines the mix.

J
F
M
A
M
J
J
A
S
O
N
D
🍑 Peach
🍒 Cherry
🫐 Plum
Low
Medium
Peak
Unavailable

🍑 Stone fruit are simply not available in winter. In January, 100% of the Stone Fruit category forecast goes to stored/preserved items — not zero. The category total stays constant; only the mix changes.

Section 05 — Decision Framework

How to choose. Every time.

The right approach depends on data availability, the decision context, and error tolerance at each level of the hierarchy.

Is there sufficient item-level history? (2+ years)
✅ Yes — rich history
Do item patterns differ meaningfully?
✅ Yes
Bottom-Up
➖ Similar
Middle-Out
❌ No — sparse / new
Is there a stable middle tier?
✅ Yes
Middle-Out
❌ No
Top-Down
📋
Match level to the decision being made
Ask "what action does this forecast drive?" before choosing a level. An order sheet needs SKU-level. A budget review needs category-level. Never forecast at a level nobody acts on.
⚠️
Reconcile across levels — always
Your SKU forecasts summed should equal your category forecast. Incoherence between levels erodes trust and causes planning errors downstream.
🆕
New items always need top-down or analogue
A new product has no history. Use top-down allocation, or use a similar item as a proxy. Never feed empty data into a model and hope for signal.
Section 06 — What Goes Wrong

The silent mistakes.

Most forecasting failures aren't model failures — they're hierarchy and disaggregation decisions that were never questioned.

01
Letting data availability drive level choice
Forecasting at whatever level is convenient in your data system — not the level that drives decisions. You end up with precise forecasts for the wrong thing.
02
Stale disaggregation proportions
Historical proportions calculated once and never updated silently become wrong. Seasonal mix shifts, new items change category share, and the proportions drift.
03
Treating the forecast as a point estimate
A single number hides uncertainty. "42 oranges ± 12" is a better order signal than "42 oranges" — especially at lower levels where variance is high.
04
Ignoring coherence across levels
If your bottom-up total disagrees with your top-down total, your forecasts will lose credibility. Reconciliation is how you prove the model is trustworthy.
05
Using the same approach everywhere
A hybrid approach — bottom-up for stable SKUs, top-down for sparse or new items — often outperforms any single method applied uniformly across all products.
06
Forgetting the middle tier exists
Teams debate bottom-up vs top-down as if those are the only options. Middle-out is frequently the best answer — and consistently the most underused.
Key Takeaways

The fruit stand summary.

Everything that matters, in three ideas. The foundation of every good forecasting hierarchy decision.

🎯
Start with the decision
The hierarchy level you choose should be driven by what action the forecast enables — not by what data is available or what's easiest to model.
⚖️
Signal vs. detail is a real tradeoff
Aggregating up always improves signal. Disaggregating down always improves operational usefulness. Find the level where both are good enough.
🔗
Coherence is non-negotiable
Every level of your hierarchy should tell the same story. Reconciliation keeps your forecasts trusted — and reveals when something has fundamentally shifted.