Forecast intervals that are actually right.
Your 90% forecast interval covers 58.5% of the time.
Nearly every production forecast ships an interval derived from the model’s own assumed error distribution, and that assumption is wrong. Coverage measures what your intervals actually cover and wraps your existing forecaster in ones that hold.
A real forecaster on 624 held-out SKU-weeks. Coverage measured, not assumed, then the same forecaster wrapped and measured again.
The problem
The point forecast gets scrutinised. The interval gets believed.
Demand, capacity, and revenue forecasts all ship with a band around the number. Teams size safety stock, staffing, and buffers off that band. But the band almost always comes from the model’s own parametric error assumption, usually Gaussian with a variance the model estimated from its residuals under the same assumption. Real forecast errors are heteroskedastic and skewed, so the band is too narrow and it is too narrow unevenly. The result is a planner who is systematically surprised in one direction and has no way to see it, because nobody ever counts how often the truth landed inside the band.
The insight
Coverage is measurable, and it is a wrapper, not a rewrite.
Two facts do the work here. The first is that the diagnostic is trivial and nobody runs it: hold out some weeks, count how often the truth was inside the band, and the problem becomes undeniable in about thirty seconds. The second is that the fix does not touch the model. Split conformal takes your forecaster exactly as it is, reads a calibration slice of held-out residuals, and returns intervals with a guaranteed coverage rate. Your point forecast does not change, your pipeline does not change, and nobody has to defend a model migration to the planning team. That is what makes it adoptable inside a company that has already spent two years on its forecasting stack.
Split conformal regression. Take the (1-α)(n+1)/n empirical quantile of absolute residuals on a calibration set the forecaster never fit, and use it as the interval half-width. Coverage is at least 1-α in finite samples with no distributional assumption, only exchangeability. Dividing residuals by the model’s own claimed sd before taking the quantile keeps the shape the model believes in and replaces only the scale, which widens the interval where volume is high instead of everywhere equally. Coverage on rolling held-out data then becomes a monitored SLO rather than a one-time check.
How it works
Four steps, no data science team
Prediction, actual, and the interval you currently ship, at whatever grain you forecast on. No access to the model and no retraining.
What your nominal 80, 90, 95, and 99 percent intervals actually cover, broken out by SKU, region, or horizon. This step alone is usually the sale.
Corrected intervals at the levels you ask for, computed from a calibration slice. Same point forecast, honest band, delivered through the same API your planning system already calls.
Coverage drifts when demand behaviour changes. It gets tracked continuously and re-fit on a rolling window, and you get told when the calibration set has stopped resembling the present.
Who it is for
The planner who owns the service level
Supply chain and capacity planning teams with a forecast in production and a service level they are held to. Usually the ones who have already noticed they stock out more than the model implies and have been quietly padding the numbers by hand.
Pricing
- –Upload a forecast history
- –Coverage at every nominal level
- –No account
- –Conformal intervals through an API
- –Coverage tracked per segment and horizon
- –Rolling re-calibration
- –Drift alarm when coverage slips
- –Runs inside your VPC
- –Per-segment and per-horizon calibration
- –Service-level targets translated into interval levels
- –SSO and audit log
Competition
What exists, and what it does not do
| Who | What they do | The gap |
|---|---|---|
| o9 / Blue Yonder / Kinaxis | Planning platforms that consume the forecast and run the whole supply chain on it. | Own the plan, not the honesty of the interval. The band they plan against comes from the forecast model, and coverage is not a metric they surface. |
| Nixtla, Prophet, statsforecast | Forecasting libraries. Nixtla in particular ships conformal intervals out of the box. | Real and free, and it is the right answer if you are building the forecaster today. It does nothing for the team whose forecast comes out of a system they cannot replace, and it does not measure or monitor coverage over time. |
| An internal data science team | Can implement split conformal in an afternoon and often knows it. | The afternoon is not the problem. Keeping calibration current across hundreds of segments, and putting coverage on a dashboard someone is accountable for, is the part that never gets staffed. |
| Adding a safety factor by hand | What planners do today: pad the number until stockouts feel acceptable. | Works, expensively, and cannot tell you what service level you bought or which SKUs are over-padded. It is a constant applied to a problem that is not constant. |
The honest interval is wider than the one the planner has now, and in this demo the corrected 95% band carries 2.7 times the cover above the forecast. That is the width they always needed, but it reads on first contact as a vendor telling them to hold more inventory, which is the opposite of what they are compensated for. If we cannot land the framing that they were already paying for the missing width in expedites and lost sales, and show it in their own numbers, the product is a true statement nobody buys. The second risk is that it is thin: the quantile itself is a few lines, so the defensible surface has to be the ongoing coverage monitoring and the per-segment calibration, and a platform vendor could ship a version of that.
Market
A line item next to the demand planning system, sold to the team already accountable for service level
Mid-market retail and distribution companies run demand planning stacks costing six figures a year and staff planners against them. This is a small addition beside that, and the buying case is one avoided stockout season. A thousand accounts at the Team tier is $14M ARR, with the Enterprise tier priced against a single planning cycle.