Smooth the gaps, don't invent the points
Tags: interpolation, visualisation, honesty
Drawing a line between two values you hold is presentation. Producing a value you never observed is fabrication. Those used to take very different amounts of effort, which kept them apart. A model makes the second as easy as the first β so the interface now has to know which one it is doing.
Two operations that look identical on screen
Interpolation between known points is a rendering choice. The system has a value at 9:00 and a value at 9:05, and drawing a smooth path between them is a fair presentation of what it knows. Nobody is misled about the readings; the line is visibly a line between them.
Producing the missing point is inference. The reading at 9:03 was never taken, and a model supplies one β plausibly, fluently, in the same format as the real ones. Or the absent month in a chart is filled with an estimate. Or a gap in a record is completed with what was probably there.
On the screen, the two can be pixel-identical. Underneath, one is a presentation of measured data and the other is a new claim about the world.
Once a fabricated value is in the series, nothing downstream can tell
This is what makes the distinction urgent rather than academic. A drawn line stays a drawing. An invented value, once it sits in the same series as measured ones, gets exported, summed, averaged, charted, and quoted β and at no point in that journey does it carry a note saying it was never observed.
A total that includes an estimated month is now a partly estimated total, presented as a sum. A trend line fitted through filled gaps now partly describes the model's guess.
Keep the two apart
The operating rule: every drawn point should trace back either to a measurement or to a visible act of estimation. Smoothing satisfies the first. Inference satisfies the second only if it is marked β and marked not just on the chart where it first appeared, but in the export, the total and the table it ends up in.
And the option that gets forgotten: leave the gap. A visible absence tells the reader something true, which is that the data is not there. Filling it removes that information and replaces it with something plausible.
Grounded in
Motive moves vehicles along pre-computed Mapbox routes across more than a hundred city pairs, interpolating position and heading between points for smooth motion and believable turns.
That is the honest side of this line, and the reason is structural. The route geometry is known β the road exists, the points along it are real β so the interpolation only presents what lies between real points. Nothing in the motion asserts a position the route does not contain; a vehicle glides along the road rather than taking an invented shortcut across a field. The fleet itself is manufactured for the demo, and says so β see a cold product can't be judged β but the movement never pretends to know more about the road than the road does.
Anti-patterns
- Model-filled gaps rendered like measurements. The most common version, and invisible once it ships.
- Marking the estimate on the chart but not in the export. The value keeps its mark only as long as it stays on the screen it was drawn on.
- Totals that silently include estimates. A sum presented as observed data, partly made of inference.
- Smoothing that overshoots. A spline between points that dips below zero or peaks above either value has invented data without anyone deciding to.
- Filling gaps by default. Absence was the most honest thing the view could show.
The smallest version worth building
Find every place the product fills, extends or completes data. For each, ask whether the drawn values lie between observed ones. Where they do, smooth freely. Where they do not, either leave the gap or give estimated values one visual treatment and a flag that survives export.
Related patterns
- Draw the certainty boundary β how to render inferred values once you have decided to show them.
- Don't animate a guess β the same honesty requirement for motion rather than data.
- Record how it was made β the export is where an estimate loses its mark, and provenance is how it keeps it.