Skip to main content

Demand vs Supply Planning: The Foundation of Inventory Success

Quick Answer

Demand vs Supply Planning is the art of matching what you need to sell (demand) with what you can supply (inventory).

Core concept:

Demand = What customers want to buy
Supply = What you have available
Planning = Making sure they match

The goal:

  • ✅ Have enough inventory to meet demand
  • ✅ Don't have too much (ties up capital)
  • ✅ Don't have too little (lose sales)
  • ✅ Minimize stockouts AND overstock

Why it matters:

Bad Planning:
├─ Too much inventory → Capital waste
├─ Too little inventory → Lost sales
├─ Stockouts → Customer frustration
└─ Overstock → Storage costs & markdowns

Good Planning:
├─ Right quantity available
├─ Happy customers
├─ Healthy cash flow
└─ Maximum profitability

The Real Problem: Mismatch

What Goes Wrong

Scenario 1: Supply > Demand (Overstock)

You have: 500 units of product X
Customers want: 200 units this month

Result:
├─ 300 units leftover
├─ Sitting in warehouse
├─ Costing money to store
├─ Maybe gets marked down
└─ Profit margin shrinks

Scenario 2: Supply < Demand (Stockout)

You have: 50 units of product Y
Customers want: 200 units this month

Result:
├─ Only 50 sales happen
├─ 150 customers disappointed
├─ They buy from competitor
├─ Lost revenue
├─ Reputation damage
└─ Next time they shop elsewhere

Scenario 3: Timing Mismatch (Stock Gap)

You have: 100 units, but they arrive AFTER customers want to buy

Timeline:
├─ Week 1: Customers want it (stockout)
├─ Week 2: New shipment arrives (too late)
└─ Week 3: Inventory sits unused

How Supply & Demand Planning Works

The Supply Planning Side

Supply = Inventory you can provide

Supply consists of:
├─ On-hand inventory (what you have NOW)
├─ In-transit inventory (ordered, arriving soon)
├─ Future orders (what you'll receive)
└─ Safety stock (buffer for surprises)

Example:
├─ On hand: 100 units
├─ In transit: 50 units (arriving next week)
├─ Safety stock: 25 units (never sell below this)
├─ Available to sell: 100 + 50 = 150 units (minus 25 reserve)
└─ Practical supply: 125 units

The Demand Planning Side

Demand = What customers will buy

Demand comes from:
├─ Historical sales (what sold before)
├─ Seasonality (holidays, weather, trends)
├─ Promotions (marketing drives demand up)
├─ Market trends (changing preferences)
├─ Business forecasts (we're planning a sale)
└─ External factors (economy, competition)

Example - Winter coat:
├─ Historical average: 20/day
├─ Season factor: Winter = 3x normal
├─ Promotion planned: +50% next week
├─ Expected demand: 20 × 3 × 1.5 = 90/day (next week)

Planning Models

Model 1: Push Planning (Forecast-Driven)

You predict demand, then push inventory

Step 1: Forecast demand
├─ Analyze past sales
├─ Account for seasonality
├─ Factor in promotions
└─ Make prediction: "100 units/day next month"

Step 2: Calculate required supply
├─ Expected demand: 100/day × 30 days = 3,000 units
├─ Add safety stock: 3,000 + 500 = 3,500 units
└─ Order from supplier: 3,500 units

Step 3: Receive & store
├─ Inventory arrives
├─ Place on shelf
├─ Wait for customers

Result:
✓ Good: You're prepared
✓ Good: Won't stockout
✗ Risk: Forecast might be wrong
✗ Risk: Could end up with overstock

When to use Push Planning:

  • Products with stable demand
  • Seasonal items (plan ahead)
  • Bulk orders (negotiate better pricing)
  • Long lead times (must order early)

Model 2: Pull Planning (Demand-Driven)

Customers buy, then you reorder

Step 1: Customer buys product
├─ On-hand inventory decreases
└─ Alert: "Inventory is low"

Step 2: Reorder when hitting threshold
├─ Trigger: On-hand ≤ Reorder Point
├─ Send PO to supplier
└─ Lead time: 10 days

Step 3: Receive shipment
├─ New inventory arrives
├─ Fulfills orders
└─ Cycle repeats

Result:
✓ Good: Less overstock
✓ Good: Lower inventory costs
✓ Good: More responsive to actual demand
✗ Risk: If demand spikes, you stockout
✗ Risk: Shorter lead time = higher costs

When to use Pull Planning:

  • Fast-moving inventory
  • Unpredictable demand
  • Limited storage space
  • High inventory costs
  • E-commerce (customer-driven)

Model 3: Hybrid Planning (Best of Both)

Combine forecasting with real-time adjustments

Step 1: Create baseline forecast (like Push)
├─ Predict expected demand
├─ Order core inventory
└─ Set reorder points

Step 2: Monitor actual sales (like Pull)
├─ Track real-time demand
├─ Compare to forecast
└─ Alert if off-track

Step 3: Adjust dynamically
├─ Demand higher than forecast? Reorder sooner
├─ Demand lower than forecast? Reduce order
├─ Unusual trend? Investigate & adjust
└─ Always optimize

Result:
✓ Good: Prepared for most scenarios
✓ Good: Responsive to actual demand
✓ Good: Reduces both stockouts AND overstock
✓ Good: Maximizes profitability

When to use Hybrid Planning:

  • Most businesses (recommended default)
  • Mixed inventory types
  • Want flexibility + preparation
  • Growing businesses

The Planning Process: Step by Step

Step 1: Analyze Historical Demand

Look at past sales data:

Last 12 months by product:

Product A (Steady seller):
├─ Jan: 100 units
├─ Feb: 105 units
├─ Mar: 98 units
├─ Apr: 110 units
├─ ...
├─ Dec: 102 units
└─ Average: 102 units/month (very consistent)

Product B (Seasonal):
├─ Jan-Mar: 50 units/month (winter)
├─ Apr-Jun: 150 units/month (spring/summer ↑↑)
├─ Jul-Sep: 180 units/month (summer peak ↑↑↑)
├─ Oct-Dec: 60 units/month (fall → winter)
└─ Pattern: Clear seasonal spike

Product C (Trending up):
├─ Jan: 20 units
├─ Feb: 25 units
├─ Mar: 35 units
├─ Apr: 45 units (growing 50% per month!)
├─ ...
└─ Trend: +50% growth month-over-month

Action: Export last 12 months of sales data by product.


Step 2: Identify Demand Drivers

What factors affect demand?

For each product, ask:

1. Seasonality?
├─ Winter products sell more in winter
├─ Summer products sell more in summer
└─ Holiday products spike Nov-Dec

2. Promotions?
├─ Black Friday = 10x normal demand
├─ Flash sales = 5x normal demand
└─ Normal marketing = 1.5x normal demand

3. Trends?
├─ Is demand growing?
├─ Is demand declining?
└─ Is demand stable?

4. External factors?
├─ Market trends (changing preferences)
├─ Competitor actions (they go out of stock, you get more sales)
├─ Economic conditions (recession = less luxury items)
└─ New product launches (cannibalizes existing product)

5. Marketing plans?
├─ Launching new campaign next month?
├─ Email blast to customers?
├─ Influencer partnership?
└─ Seasonal push?

Action: Document known demand drivers for next 3 months.


Step 3: Forecast Demand

Predict what will sell:

Formula: Baseline × Season Factor × Promotion Factor × Trend

Example - Summer T-shirt:

Baseline (average monthly):
├─ Historical: 500 units/month
└─ Normal conditions: 500 units

Season factor:
├─ This is June (peak season)
├─ Summer months = 2x normal
└─ Season adjustment: 500 × 2 = 1,000 units

Promotion factor:
├─ Planning a summer sale
├─ Expect +30% boost
└─ Promotion adjustment: 1,000 × 1.3 = 1,300 units

Trend factor:
├─ Sales growing 10% month-over-month
├─ Add growth: 1,300 × 1.1 = 1,430 units
└─ Final forecast: 1,430 units for June

Conservative estimate (safety):
└─ 1,430 ÷ 1.2 = 1,192 units (subtract 20% for margin of error)

Optimistic estimate:
└─ 1,430 × 1.2 = 1,716 units (add 20% for upside)

Decision:
├─ Conservative: Plan for 1,192 units
├─ Best case: 1,716 units
└─ Plan inventory: 1,500 units (middle ground)

Action: Create demand forecast for next 3 months, all products.


Step 4: Calculate Required Supply

Determine how much to order:

Formula: (Forecasted Demand × Lead Time) + Safety Stock - On-Hand

Example - Running shoes:

Forecasted demand:
├─ Next 30 days: 100 units/day
├─ Total demand: 3,000 units
└─ Beyond that: ???

Lead time:
├─ Supplier lead time: 20 days
└─ During those 20 days you'll sell: 100 units/day × 20 = 2,000 units

Safety stock:
├─ Want buffer for surprises: 500 units
└─ Never drop below: 500 units

Current on-hand:
├─ Right now: 800 units
└─ Usable: 800 - 500 (safety) = 300 units available

Calculation:
├─ Need to cover: 3,000 units (next 30 days)
├─ Plus: 500 units (safety stock)
├─ Total need: 3,500 units
├─ Currently have (usable): 300 units
├─ Must order: 3,500 - 300 = 3,200 units
└─ Order now: 3,200 units

When will it arrive?
├─ Order date: Today (Day 0)
├─ Lead time: 20 days
├─ Arrival: Day 20
├─ By then, on-hand will be: 800 - (20 days × 100/day) = 600 units
├─ After new shipment arrives: 600 + 3,200 = 3,800 units
└─ Good: Enough to cover demand

Action: Calculate required supply for all products.


Step 5: Execute Orders

Place POs with suppliers:

Steps:
1. Review calculated quantities
2. Check supplier MOQ (minimum order quantities)
3. Negotiate pricing if bulk order
4. Send PO to supplier
5. Track delivery timeline

Example:
├─ Product: Running shoes
├─ Calculated need: 3,200 units
├─ Supplier MOQ: 500 units (you're good, 3,200 > 500)
├─ Pricing: $30/unit
├─ Total cost: 3,200 × $30 = $96,000
└─ Order sent to supplier

Action: Create POs for all products needing inventory.


Step 6: Monitor & Adjust

Track actual demand vs forecast:

Daily/Weekly review:

Actual vs Forecast:
├─ Product A forecast: 100/day, actual: 95/day (95% accurate ✓)
├─ Product B forecast: 50/day, actual: 75/day (150% of forecast ⚠️)
├─ Product C forecast: 200/day, actual: 180/day (90% accurate ✓)
└─ Overall forecast accuracy: 92%

Actions based on variance:

If actual > forecast (demand higher):
├─ Reason: Why higher than expected?
├─ Action: Reorder sooner/larger quantities
├─ Adjust: Update forecast for similar products
└─ Risk: Prevent stockout

If actual < forecast (demand lower):
├─ Reason: Why lower than expected?
├─ Action: Reduce next order
├─ Adjust: Update forecast
└─ Risk: Prevent overstock

If trend emerging:
├─ Is demand growing? (Adjust up)
├─ Is demand declining? (Adjust down)
├─ Is seasonality earlier than expected?
└─ Update forecast accordingly

Action: Review actual vs forecast every week, adjust as needed.


Common Planning Mistakes

❌ Mistake 1: Ignoring Seasonality

Wrong:

Winter coat average: 50/day
Assume it's always 50/day
Order 50 units/day for December

Reality:
├─ December is peak season (3x normal)
├─ Actual demand: 150/day
├─ You'll stockout!

Right:

✓ Analyze seasonal patterns
✓ Identify peak/low seasons
✓ Forecast seasonality explicitly
✓ Order 3x more for peak season

❌ Mistake 2: Not Accounting for Lead Time

Wrong:

Need to sell 1,000 units next month
Wait until last week to order
Lead time: 3 weeks (too late!)

Right:

✓ Know your lead time
✓ Order lead time × average daily sales ahead
✓ Plus safety stock
✓ Order EARLY

❌ Mistake 3: Planning in Isolation

Wrong:

Plan demand only by product category
Ignore interdependencies
"Shirt sales are independent of pants sales"

Reality:
├─ When shirts are on sale, pants sell more (complete outfit)
├─ When one runs out, customers substitute with similar
└─ Everything is interconnected

Right:

✓ Plan by category but consider relationships
✓ Understand cross-sell patterns
✓ Adjust for complementary products

❌ Mistake 4: Setting It and Forgetting It

Wrong:

Create forecast in January
Use same forecast all year
Don't adjust for actual demand
Never review

Right:

✓ Create baseline forecast
✓ Review weekly
✓ Adjust based on actual demand
✓ Refine continuously

❌ Mistake 5: Over-Optimism in Forecasting

Wrong:

"I think this product could sell 1,000 units"
Order 1,000 units confidently
Actual: 200 units
Overstock 800 units

Right:

✓ Base forecasts on data, not hope
✓ Use conservative estimates
✓ Test with small orders first
✓ Scale based on results

Tools & Metrics

Key Planning Metrics

1. Forecast Accuracy

Formula: |Actual Sales - Forecasted Sales| ÷ Forecasted Sales

Good: >90% accuracy
Acceptable: 75-90%
Poor: <75%

Why it matters:
├─ High accuracy = You can trust forecasts
├─ Low accuracy = Need to adjust model
└─ Perfect accuracy = Impossible (external factors)

2. Stockout Rate

Formula: # Days stockout per month ÷ Total days in month

Good: <2% (less than 1 day per month)
Acceptable: 2-5% (1-1.5 days per month)
Poor: >5% (more than 1.5 days per month)

Why it matters:
├─ Stockouts = Lost sales
├─ Stockouts = Unhappy customers
└─ Track by product to identify patterns

3. Overstock Rate

Formula: Excess inventory ÷ Total inventory

Good: <15% excess
Acceptable: 15-25%
Poor: >25%

Why it matters:
├─ Overstock = Capital tied up
├─ Overstock = Storage costs
├─ Overstock = Markdowns
└─ Balance with stockout risk

4. Days of Inventory (DOI)

Formula: On-hand inventory ÷ Average daily sales

High DOI (60+ days): You have lots of inventory (slow moving)
Medium DOI (30-60): Balanced (healthy)
Low DOI (<30): Fast moving (risk of stockout)

Why it matters:
├─ Shows how long inventory lasts
├─ Helps identify slow movers
├─ Helps identify fast movers
└─ Plan differently by DOI

Best Practices

Best Practice 1: Use Historical Data

Don't guess. Use what you know.

✓ Export last 12 months of sales
✓ Analyze by product, week, season
✓ Identify patterns
✓ Use patterns to forecast
✓ Update as new data arrives

Best Practice 2: Account for Multiple Factors

Demand doesn't just come from past sales.

Always consider:
├─ Historical sales (baseline)
├─ Seasonality (time of year)
├─ Promotions (marketing plans)
├─ Trends (growth/decline)
├─ Market changes (new competitors, trends)
├─ External factors (economy, weather)
└─ Planned changes (product launch, discontinuation)

Best Practice 3: Build Safety Stock

Don't plan with zero margin for error.

Safety stock = Buffer for surprises

Calculate:
├─ High variability product? 20-30% buffer
├─ Medium variability? 10-20% buffer
├─ Low variability? 5-10% buffer
└─ Long lead time? Increase buffer

Rule of thumb:
└─ 2 weeks of average sales as minimum safety stock

Best Practice 4: Review & Adjust Weekly

Forecasts are not set in stone.

Weekly ritual:
├─ Compare actual sales to forecast
├─ Identify variance
├─ Understand why
├─ Adjust forecast if trend
├─ Adjust orders if needed
├─ Document learnings
└─ Improve next forecast

Best Practice 5: Start Conservative

Especially for new products.

New product launch:
├─ Don't trust forecasts (no data)
├─ Order conservative amount first
├─ Monitor actual sales
├─ Scale based on success
└─ Build forecast accuracy over time

Testing approach:
├─ Order 50% of forecast
├─ See what sells
├─ If selling out quickly → Order more
├─ If selling slowly → Reduce order
└─ Converge to right level

Example Scenario: Complete Planning Cycle

Month: June (Summer Season)

Product: Lightweight Tank Top

Step 1: Historical Analysis

Last 12 months:
├─ June last year: 500 units
├─ July last year: 600 units
├─ August last year: 550 units
└─ Average summer (Jun-Aug): 550 units/month

Step 2: Identify Drivers

Seasonality:
├─ Summer peak = 2x normal demand
├─ June is early summer = 1.5x baseline

Marketing:
├─ Planning Father's Day promotion = +20%

Trend:
├─ Tank top trend growing = +15% from last year

Step 3: Forecast

Baseline: 550 units
× 1.5 (season) = 825 units
× 1.2 (promotion) = 990 units
× 1.15 (trend) = 1,139 units

Final forecast: ~1,100 units for June

Step 4: Calculate Supply Needed

Demand forecast: 1,100 units
Lead time: 15 days (during which: 1,100 ÷ 30 × 15 = 550 units will sell)
Safety stock: 200 units (buffer)
Current on-hand: 300 units

Calculation:
├─ Need to cover: 1,100 units (June sales)
├─ Plus safety stock: 200 units
├─ Total need: 1,300 units
├─ Have: 300 units
├─ Must order: 1,000 units
└─ Order date: May 16 (15 days before June)

Step 5: Execute

Send PO: 1,000 units tank tops
├─ Supplier: [Name]
├─ Cost: $8/unit = $8,000
├─ Lead time: 15 days
├─ Expected arrival: May 31 (just before June)
└─ Payment terms: Net 30

Step 6: Monitor & Adjust (Mid-June)

Actual demand so far:
├─ Week 1 (Jun 1-7): 200 units (forecast was 183)
├─ Week 2 (Jun 8-14): 250 units (forecast was 183)
└─ Trend: 20% higher than expected

Inventory position:
├─ On hand: 850 units (300 initial + 1,000 received - 450 sold)
├─ At current rate (250/week): 3.4 weeks supply
├─ Will run out: End of July

Action:
├─ Demand higher than forecast (good news!)
├─ Increase weekly order by 10%
├─ Update forecast for rest of June upward
├─ Consider reorder if trend continues
└─ Plan for 1,200 units next month instead of 1,100

Advanced: Demand Sensing

Use real-time data to adjust forecasts continuously

Instead of monthly planning:
├─ Traditional: Forecast once/month, order once/month
├─ Demand Sensing: Check sales every day, adjust continuously

How it works:
├─ Day 1: Forecast based on trend
├─ Day 2: Compare actual to forecast
├─ Day 3: Adjust forecast if variance
├─ Day 4: Reorder if needed
├─ Day 5: Update based on new data
└─ Continuous cycle

Benefits:
├─ More responsive to demand changes
├─ Fewer stockouts (catch spike early)
├─ Less overstock (catch decline early)
├─ Better inventory optimization
└─ Higher profitability

Next Steps

  1. Analyze your data - Export last 12 months of sales by product
  2. Identify patterns - Seasonality, trends, growth
  3. Choose a model - Push, Pull, or Hybrid planning
  4. Create baseline forecasts - For next 3 months
  5. Calculate required supply - Order quantities
  6. Set up monitoring - Weekly review process
  7. Track metrics - Forecast accuracy, stockout rate, overstock rate
  8. Adjust & improve - Based on actual results

Pro Tip: Start simple. Get forecasting + ordering right, then optimize.