Conformal prediction intervals for time series
Today let's understand how to build a forecast interval that actually covers 90% of real outcomes when it says 90%, no matter how the error spread around the forecast behaves.
Lumen & Co is an online retailer, and its best-selling item is a desk lamp. Below are its weekly unit sales for the last 220 weeks, a little over four years.
Sales climb for most of the chart, from around 40 units a week near the start to around 150 by the end. But look at how much rougher the line gets as you move to the right: the week-to-week jumps near week 220 are plainly bigger than the ones near week 1.
Why one forecast number is never enough
Suppose you had to tell Lumen's warehouse manager how many lamps next week will sell, and you could only give one number. Whatever number you pick, say 120, the real figure that shows up will almost certainly not be exactly 120. It might be 108. It might be 134. A single number like this, a point forecast, is nearly always a little wrong, and there is no way around that.
So instead of one number, you build a range: a prediction interval. A 90% prediction interval is a range built so that, if you could rerun next week over and over under the same conditions, the real sales figure would land inside that range 90% of the time. That 90% is the interval's nominal coverage: the rate it is built to hit, fixed by construction, before you have seen a single real outcome to check it against.
What an interval is built to do and what it actually does are two different things, though. Once real future weeks actually arrive, you can go back and count how often the interval you built actually contained the truth. That count, as a fraction, is the interval's empirical coverage: not what it was built for, but what it delivered.