The verdict in three sentences
With 12,000 SKUs, 6% stockouts and 2.4 million EUR of excess stock, a personal care distributor near Berlin pays twice for a poor forecast: in lost sales and in tied-up cash. A custom demand forecasting model trained on order history costs 40,000 to 90,000 EUR in Berlin in 2026, takes 3 to 4 months to set up and runs on 200 to 600 EUR per month of cloud. The realistic target is to bring forecast error from 35% down to 20% and cut stock by about 15% without hurting service levels.
Why spreadsheet forecasts hit their limits
Most regional distributors forecast with a 3 or 6-month moving average, corrected by hand by buyers. It works for stable items but fails in three cases: seasonal products (hand sanitizer, sun care), retail customers' promotions and slow-moving SKUs.
| Method (2026 order of magnitude) | Spreadsheet moving average | ERP forecasting module | Custom AI model |
|---|---|---|---|
| Average forecast error (MAPE) | 30 to 40% | 25 to 30% | 18 to 22% |
| Promotions | Manual correction | Partial | Built-in explanatory variable |
| Seasonality and weather | No | Simple seasonality | Seasonality, weather, school holidays |
| Slow-moving SKUs | Poorly handled | Poorly handled | Dedicated model (intermittent demand) |
| Upfront cost | 0 EUR | 15,000 to 40,000 EUR (licence and setup) | 40,000 to 90,000 EUR |
| Recurring cost | Buyers' time | 800 to 2,500 EUR per month | 200 to 600 EUR per month of cloud |
The gain comes less from the algorithm than from combining signals: line-level order history, customers' promotional calendars, prices, public holidays and sometimes weather. A well-designed model also knows when it is unsure, which lets buyers focus their expertise on 10% of the SKUs.
What the project costs, work package by work package
| Work package | Content | Estimated budget (EUR) | Duration |
|---|---|---|---|
| Data audit | Quality of 3 years of history, hidden stockouts, duplicates | 5,000 to 10,000 | 2 to 3 weeks |
| Data preparation | Pipeline from the ERP, lost sales correction | 8,000 to 18,000 | 3 to 4 weeks |
| Modelling | Segmentation of 12,000 SKUs, models per family, backtests over 12 past months | 15,000 to 35,000 | 4 to 6 weeks |
| Integration | Forecasts written back to the ERP, replenishment proposals | 6,000 to 15,000 | 2 to 4 weeks |
| Buyer dashboard | Variances, stockout alerts, tracked overrides | 6,000 to 12,000 | 2 to 3 weeks |
| Total | 40,000 to 90,000 | 3 to 4 months |
A technical point often missed: when a product is out of stock, history records zero sales, which makes the model believe demand dropped. Correcting these lost sales is essential, otherwise the AI reproduces past stockouts.
Expected gains and how to measure them
| Indicator | Before | 6-month target | Estimated financial effect |
|---|---|---|---|
| Forecast error (MAPE) | 35% | 20% | Basis for every other gain |
| Stockout rate | 6% | 3 to 4% | Recovered revenue |
| Stock value | 2.4 M EUR of excess stock | Total stock down 15% | 360,000 EUR of cash released |
| Buyer time spent forecasting | 2 days per week | 0.5 day per week | Time redirected to negotiation |
| Markdowns and expired products | High on seasonal items | Falling | Fewer write-offs |
Measure on a pilot scope of 2,000 to 3,000 SKUs for 8 to 12 weeks before rolling out. Compare the model with the current method on the same weeks, not on different periods.
Mini case study
Jonas, supply chain director of a 12,000-SKU personal care distributor in Brandenburg near Berlin, carries 2.4 million EUR of excess stock with 6% stockouts. Illustrative scenario: a custom model at 70,000 EUR, plus 400 EUR per month of cloud and monitoring.
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
- Stock down 15% on a total stock of 8 million EUR: 1.2 million EUR released, about 60,000 EUR a year of financing and storage costs avoided (5%).
- Stockouts down from 6% to 3.5% on 40 million EUR of revenue, with a 25% gross margin: about 250,000 EUR of margin recovered if half of the lost sales are won back.
- First-year cost: 70,000 + 4,800 = 74,800 EUR.
Even halving these gains out of caution, the project pays back in under 6 months. This is the kind of calculation to bring to the executive committee, together with a measurable pilot.
FAQ
How much history does the model need?
Ideally 3 years of line-level orders, at least 2 years to capture seasonality. New SKUs are handled by analogy with similar products.
Does AI replace buyers?
No. It produces a forecast and a confidence score; buyers validate and correct uncertain cases. Their forecasting time drops from about 2 days to half a day per week.
Can we include our retail customers' promotions?
Yes, as long as you have the promotional calendar, even as a file. This is often what pushes error below 25% on promoted SKUs.
What does the model cost once in production?
Between 200 and 600 EUR per month for cloud compute, plus quarterly retraining often included in a maintenance contract. The model needs monitoring because demand shifts.
Do we need an in-house data scientist?
Not necessarily. A supply chain lead who understands the metrics is enough, spending 2 to 4 hours a week on variances and flagging anomalies.
Let's scope your project. Send us your SKU count, your ERP and how far back your history goes: we will price a measurable pilot, an indicative budget and a rollout timeline. Detailed quote within 48 h. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.