This page assumes you know nothing. We will build every letter the parent note uses — ta, td, slack, N, c, u, o, latency, throughput — from pictures, one at a time, each earned before the next.
We need this word first because everything else — batch, real-time, cost, latency — is just a way of organising when and how many presses of this button happen.
Every prediction lives on a timeline with two special moments.
Look at the figure. Time flows left → right. The blue dot is ta (input born). The pink dot is td (answer due). The prediction must be finished somewhere in the gap between them.
Why two clocks and not one? Because the whole topic is about the distance between them. If you only had one moment, there'd be no choice to make.
Picture: N is the number of buttons pressed on our vending machine in one day. It's a plain count — no units, just "how many."
Why the topic needs it: cost scales with N. Doing 10 predictions cheaply and doing 200 million predictions are different worlds, and N is the dial between them.
We need c because it lets us compare "wasting compute on unused predictions" against "paying extra to serve on demand." Without a per-press price, no cost comparison is possible.
Here is the subtle one. In batch, you often predict for everyone, but only some people actually use their answer.
Look at the bar in the figure: the whole bar is all N predictions you paid for; the blue slice (uN of them) is the part that did useful work; the grey slice was computed and thrown away.
u close to 1: almost everything you computed was used → batch is efficient.
u close to 0: you precomputed mountains of answers nobody read → batch is wasteful.
Why the topic needs it: this is the single number that penalises "predict for everyone even if they never log in." It turns wasted work into a cost you can put on a scale.
Real-time doesn't waste predictions (u≈1, you only compute when asked). But it pays a different tax.
Why the topic needs it: real-time's total per-useful-prediction cost is c+o. Batch's is c/u. The whole decision rule is a fight between these two, so both o and u must exist as named quantities.
These two words sound similar and get confused constantly. They measure different things.
The figure shows the difference with a checkout analogy. Top lane: one customer, timed from entry to exit — that arrow is latency. Bottom: total customers leaving per minute across all lanes — that count is throughput.
Every arrow says "you need this before you can reason about that." Slack decides whether you have a choice; the cost model and the latency/throughput trade-off decide which choice; staleness is the tax on choosing batch.