Gaps, and What Filling Them Does
Three kinds of gap in a demand series, why the fill method matters more than the gap, and how a filled value becomes a measurement nobody questions.
A gap in a series has to be dealt with, and whatever is put in its place becomes, within a year, indistinguishable from a measurement. That is the real risk: not the gap but the fill, which is an estimate that stops being labelled as one.
The method in “Gaps, and What Filling Them Does” is only as useful as the definitions and source records behind it. A team exploring does microsoft teams track your activity for planning teams for does microsoft teams track your activity can add timely work and project context, with transparent settings, limited access and a documented correction route around every consequential use.
There are three kinds of gap and they want different treatments.
As a separate benchmark for “Gaps, and What Filling Them Does”, see Asana work-management resources. Keep source data, model, override and resulting decision visible as distinct steps.
Gap one: the system was down
Demand happened and was not recorded. The true value is unknown but is probably close to a comparable day.
- Outage: demand happened, was not recorded — fill from comparable days.
- Closed: no demand occurred — zero is correct, do not fill.
- Never collected: not a gap at all — a boundary on the usable series.
Filling with a comparable-day estimate is reasonable. Leaving it as zero is not, and zero is the default in most extracts.
Gap two: the operation was closed
No demand occurred, or it was deferred to the next open day. A bank holiday, a site closure, a snow day.
Here zero is correct, and filling with an estimate is wrong — it invents demand that did not exist and usually inflates the following day's apparent spike into something inexplicable.
Gap three: the data was never collected
A channel that existed but was not counted, a period before the system. This is not a gap to fill but a boundary on the usable series.
Treating it as a fillable gap produces years of fabricated history.
Telling them apart
The operating calendar settles most of it in minutes. Outage records settle the rest.
Where neither exists, a zero surrounded by normal values on a normal weekday is almost always an outage, and a zero on a day the calendar shows as closed is almost always real.
Why zeros are so damaging
They pull the average down, they inflate the apparent variance, and they corrupt any seasonal estimate that includes them. A handful of false zeros in a two-year series can move a monthly seasonal factor by several per cent.
And they are invisible in a summary: the monthly total simply looks a little low.
The fill methods, in order
The same weekday in adjacent weeks, averaged. The same period last year scaled by the recent level. A model prediction. In that order, because the first makes the fewest assumptions.
Whichever is used, the filled value is flagged.
Flagging
A separate column: measured, filled, closed. Three values, carried through every extract.
Without it the first question anybody asks about an odd period — was this real — cannot be answered, and the answer gets guessed.
Partial days
The subtler version: the system was down for three hours, so the day is present but low. These do not look like gaps and they are more common than full outages.
Finding them requires comparing within-day profiles rather than daily totals, and it is worth doing once to see how many there are.
Filled values in the error record
They should be excluded from accuracy measurement, because measuring a forecast against an estimate measures agreement between two estimates.
Where filled days are a meaningful share of the record, the measured accuracy is partly fictitious and the flag is what lets anybody notice.
How many gaps are acceptable
A rough working rule from practice: under two per cent, fill and proceed. Two to ten, fill, flag and widen the band. Above ten, the series is not a measurement of the thing and the honest move is to say so.
The threshold matters less than having one, because without one every series gets used.
The gap that is really a definition change
Where a field stops being populated because the process changed, the series shows a gap and the reality is that the thing stopped being counted. Filling it continues a measurement that ended.
The test is whether the gap has an end. An open-ended gap is a definition change wearing a gap's clothes.
The gap at the end
The most dangerous one, because it is invisible: yesterday's data has not landed yet, so the most recent period reads low.
Forecasting from a series whose last point is incomplete pulls the level down every single cycle. A fixed lag before the series is considered final — two days, three — removes it.
Gaps and the seasonal estimate
Worth a separate check, because a handful of filled or zeroed days concentrated in one month distorts that month's seasonal factor for years afterwards.
Where gaps cluster, the seasonal component should be estimated from the flagged-clean subset rather than from everything.
Who finds them
Usually nobody, because the extract runs automatically and nothing fails. A monthly count of flagged days, printed next to the forecast, is the whole detection mechanism and it takes one line of code.
Writing it down
In the same one-line record as definition changes: date range, kind of gap, how filled, by whom. The record and the flag together are the entire apparatus.
Both are cheap, both are skipped, and both are impossible to reconstruct two years later when somebody asks why February looks strange.