PRD:
Demand Forecasting for EWM Inbound/Wave Planning (MVP)
Project Priority: 🥉 THIRD MOST IMPORTANT
Version: 1.0 MVP
Status: Ready for Development
1. Product Vision (MVP)
Create a practical demand forecasting service that
predicts SKU-level daily demand and exposes a simple output that could
be used by an EWM wave-planning process: “what volume is coming in/out
per day for key SKUs.” This demonstrates understanding of how
forecasting connects to warehouse operations.
Why This Matters: Demand forecasting directly feeds
wave management and inbound planning—core EWM functions. Supply/demand
reconciliation logic demonstrates understanding of business
operations, not just data science. This shows you can translate
analytics into operational decisions.
2. Users & Jobs-to-be-Done
Primary
User: Supply Chain Planner / EWM Wave Planner
- Need: Reliable short-horizon demand signal for
operational planning
- Job-to-be-Done: “I need a reliable short-horizon
demand signal to decide when to schedule inbound receipts and when to
trigger outbound picking waves.”
Secondary User: SAP EWM
Consultant
- Need: Demonstrate forecasting capabilities that
complement EWM wave planning
- Job-to-be-Done: “I want a lightweight forecast that
I can conceptually plug into wave creation rules.”
3. MVP Scope (Must-Haves)
3.1 Data Requirements
(Simplified)
Single Warehouse, Top 20 SKUs:
Required Fields: - date - Date of
transaction - sku - SKU identifier -
demand_qty - Daily demand quantity (orders or picks) -
inbound_qty - Daily inbound receipts (optional) -
on_hand_qty - Inventory on hand (optional)
Data Requirements: - Minimum 6 months of daily
history - Top 20 SKUs by volume (can start with fewer for MVP) - Include
realistic patterns: - Weekly seasonality - Monthly trends - Holiday
spikes - Promotional periods
Optional: - Calendar of
holidays/promotions (CSV file with dates and event
types) - External factors (weather, economic indicators) - nice to have
but not required
Data Sources: - Synthetic data generation based on
realistic demand patterns - Or aggregated from logistics/retail datasets
(Kaggle) - Include seasonality, trends, and noise
3.2 Modeling Approach (MVP)
Per SKU Forecasting:
Model Options: - Option A: Prophet
(Recommended for MVP) - Handles seasonality and trends well - Built-in
holiday support - Provides confidence intervals - Easy to interpret and
explain
- Option B: SARIMA (via statsmodels)
- More traditional time series approach
- Requires more parameter tuning
- Good for understanding time series fundamentals
Model Features: - Trend component (capturing
long-term growth/decline) - Weekly seasonality (day-of-week patterns) -
Monthly seasonality (if data supports) - Holiday effects (using holiday
calendar if provided) - Uncertainty quantification (confidence
intervals)
Forecast Output: - 4-week daily forecast for each
SKU - Lower and upper confidence bounds (80% and 95% intervals) -
Forecast components breakdown (trend, seasonality, holidays)
Aggregation: - Daily total forecast volume (sum
across all SKUs) - Category-level aggregations (if SKU categorization
available) - Warehouse-level load forecast
3.3 Simple
Wave Planning Hints (Logic, not full optimizer)
On top of forecast, derive 3 simple planning metrics per
day:
expected_lines_to_pick
- Derived from forecasted demand
- Assumes average lines per order (configurable)
- Example:
forecast_qty * avg_lines_per_order
expected_inbound_volume
- If inbound data available, forecast inbound receipts
- Otherwise, use historical inbound patterns
- Helps plan receiving capacity
expected_peak_days
- Flag days exceeding threshold (e.g., 1.5x average daily volume)
- Helps identify when extra resources needed
Wave Planning Suggestions:
Based on volume distribution, suggest 3 wave windows per
day: - Morning Wave (e.g., 8 AM - 12 PM) -
Afternoon Wave (e.g., 12 PM - 4 PM) - Evening
Wave (e.g., 4 PM - 8 PM)
Simple Heuristic: - If daily volume < threshold →
“2 waves enough” - If daily volume > threshold → “3 waves needed” -
If daily volume >> threshold → “Consider 4 waves or overtime”
Output Format: - Daily summary table with: - Date -
Total forecast quantity - Expected pick lines - Expected inbound volume
- Peak day flag - Wave suggestion (e.g., “3 waves needed”)
3.4 UI / Deliverables (MVP)
Notebook or Streamlit App:
Dashboard Components:
- SKU-Level Forecast Visualization:
- For chosen SKU: historical + forecast plot
- Show confidence intervals
- Highlight forecast period vs historical
- Decompose forecast (trend, seasonality, holidays)
- Warehouse-Level Summary:
- Daily total forecast with threshold line indicating “high load”
- Peak days highlighted
- Weekly/monthly aggregation views
- Wave Planning Table:
- Next 14 days with columns:
date
total_forecast_qty
expected_pick_lines
expected_inbound_volume
peak_day_flag (Yes/No)
wave_suggestion (e.g., “3 waves needed” vs “2 waves
enough”)
- Model Performance:
- Accuracy metrics (MAPE, RMSE) on holdout period
- Forecast vs actual comparison chart
- Per-SKU accuracy breakdown
- SKU Comparison:
- Top 10 SKUs forecast comparison
- Identify fastest-growing SKUs
- Identify declining SKUs
Optional Features: - Interactive SKU selector - Date
range selector - Export to CSV functionality - What-if scenarios (adjust
forecast manually)
4. Out-of-Scope for MVP
- Full wave creation algorithm (only suggestions)
- Integration to actual SAP APIs
- Multi-echelon or multi-DC network forecasting
- Real-time demand updates
- Advanced optimization (OR-Tools for wave optimization)
- Inventory optimization (reorder points, safety stock)
- Multi-SKU correlation modeling
5. Tech Stack (MVP)
Core: - Python 3.9+ - Pandas / NumPy (data
manipulation) - Prophet (time series forecasting) OR statsmodels (for
SARIMA) - Matplotlib / Plotly (visualization)
SAP-EWM Alignment: - SKU-level forecasting aligned
with SAP EWM material master data - Wave planning logic that mirrors SAP
EWM wave creation rules - Understanding of how forecasts feed into EWM
inbound/outbound processes - SQL queries for extracting demand data from
EWM transaction tables - Potential OData service exposure for
integration with SAP systems - CDS Views understanding for semantic data
modeling of forecast outputs
UI: - Streamlit (recommended) OR - Jupyter Notebook
with interactive widgets
Data: - CSV/Parquet file storage - Synthetic data
generator (numpy/pandas) - Or aggregated from existing datasets
Validation: - Time series cross-validation - Holdout
period testing - MAPE, RMSE, MAE metrics - Forecast accuracy by SKU
6. Success Criteria (MVP)
Functional Requirements:
- ✅ For at least 10–20 SKUs:
- Train simple models
- Generate 4-week forecasts
- Summarize in a single planner-friendly table
- âś… Produces wave planning suggestions
- âś… Generates visualizations and reports
- âś… MAPE < 25% on holdout period (aggregate level)
- âś… Captures weekly seasonality patterns
- âś… Provides reasonable confidence intervals
- âś… Handles missing data gracefully
Interview Readiness:
- âś… You can say:
- “This is not just a Kaggle forecast; it’s aligned with wave
planning and inbound scheduling logic”
- “Demand forecasting directly feeds EWM wave management and inbound
planning”
- “Uses SQL skills that transfer to SAP Open SQL for extracting EWM
transaction data”
- “Forecast outputs can be exposed via OData services for SAP
integration”
- “Demonstrates understanding of CDS Views for semantic data
modeling”
- “Shows how Python analytics skills complement ABAP technical
implementation”
- “Shows how analytics translates into operational decisions”
7. MVP Deliverables
- Source Code:
demand_forecast.py - Main forecasting script
data_preparation.py - Data loading and
preprocessing
wave_planning.py - Wave planning logic
app.py - Streamlit dashboard (if using Streamlit)
requirements.txt - Dependencies
- Data:
data/demand_history.csv - Sample historical demand
data
data/holidays.csv - Holiday calendar (optional)
data/synthetic_data_generator.py - Script to generate
synthetic data
- Documentation:
- README.md with setup instructions
- Model explanation document
- Wave planning logic explanation
- Sample outputs and visualizations
- Outputs:
- Forecast CSV file (per SKU, per day)
- Wave planning recommendations CSV
- Visualization charts (PNG/HTML)
- Model performance report
8. Development Timeline (MVP)
Week 1: Data & Foundation - Create synthetic
data generator - Implement data loading and preprocessing - Basic
exploratory data analysis - Identify top SKUs
Week 2: Forecasting Model - Implement Prophet model
(or SARIMA) - Train per-SKU models - Generate forecasts with confidence
intervals - Validate model performance
Week 3: Wave Planning Logic - Implement wave
planning heuristics - Create planning metrics - Build summary tables -
Add peak day detection
Week 4: Visualization & Polish - Build Streamlit
dashboard (or notebook visualizations) - Add SKU comparison views -
Create documentation - Prepare demo
9. SAP-EWM Technology
Complementarity
How Python Forecasting Skills Complement SAP
Technologies:
While ABAP is core for SAP EWM wave creation logic
and BRFplus handles rule-based wave planning, this
Python-based forecasting demonstrates complementary skills:
- CDS Views & Data Modeling:
- Understanding of CDS Views for semantic data modeling of forecast
outputs
- Ability to expose forecast data via SAP’s modern data access
layer
- Demonstrates S/4HANA cloud-ready thinking
- OData Integration:
- Forecast outputs can be exposed via OData services for SAP
integration
- Understanding of RESTful API patterns used in SAP Fiori apps
- Enables integration with EWM wave planning processes
- SQL & Data Extraction:
- SQL skills for extracting demand data from EWM transaction
tables
- Understanding of EWM material master and delivery data
structures
- Ability to analyze historical demand patterns
- Operational Understanding:
- Demonstrates understanding of how forecasting connects to warehouse
operations
- Wave planning logic that mirrors SAP EWM wave creation rules
- Shows ability to translate analytics into operational decisions
Key Differentiator: Most SAP consultants understand
EWM configuration; fewer understand how analytics translates
into operational decisions. This project demonstrates the
bridge between data science and warehouse operations.
10. Key Interview Talking
Points
- Operational Relevance:
- “Demand forecasting directly feeds wave management and inbound
planning—core EWM functions”
- “This shows how analytics translates into operational
decisions”
- “Wave planning logic mirrors SAP EWM wave creation rules”
- Technical Approach:
- “Uses Prophet for time series forecasting with seasonality and
holiday effects”
- “Provides confidence intervals for risk-aware planning”
- “SQL skills transfer to SAP Open SQL for extracting EWM transaction
data”
- SAP Technology Alignment:
- “Forecast outputs can be exposed via OData services for SAP
integration”
- “Understanding of CDS Views for semantic data modeling”
- “Demonstrates S/4HANA cloud-ready architecture thinking”
- Business Impact:
- “Enables proactive wave planning vs reactive order processing”
- “Helps optimize warehouse capacity and labor allocation”
- Complementary Skills:
- “Shows how Python analytics skills complement ABAP technical
implementation”
- “Understanding of EWM material master and delivery data
structures”
11. Future Enhancements
(Post-MVP)
- Multi-SKU correlation modeling
- Integration with SAP EWM APIs
- Real-time demand updates
- Advanced wave optimization (OR-Tools)
- Inventory optimization (reorder points, safety stock)
- Multi-echelon forecasting
- Promotional impact modeling
- External factor integration (weather, economic indicators)
- Automated wave creation recommendations
- Integration with WMS/ERP systems