Dose, yield, time — the only three numbers that matter
Every espresso recipe, however it’s dressed up, reduces to three numbers: how much dry coffee you started with (dose), how much liquid espresso landed in the cup (yield), and how long it took (time). Everything else — temperature, pressure profile, tamp pressure, the brand of your grinder — only matters because of how it shifts one of those three.
Yield has to be measured by weight, not volume, for the same reason a coffee ratio has to be measured by weight rather than scoops: crema and micro-foam sit on top of the liquid and inflate the visible line on the side of the cup without adding any actual beverage. Two shots that look identical in the cup can differ by three or four grams once you put them on a scale — enough to be the entire difference between "locked in" and "a bit thin." A scale under the cup (or a portafilter-mounted scale platform) removes the guesswork entirely.
Dose and yield together define your ratio — yield ÷ dose — and the ratio that has become the default across specialty espresso over the last decade is 1:2: an 18-gram double dose pulled to a 36-gram yield. It replaced the older, stronger "traditional Italian" ristretto style as grinders and roasting got more consistent, because a 1:2 shot gives more room to extract sweetness and body without tipping into bitterness. It’s a strong starting point, not a law — the Coffee to Water Ratio Calculator covers the wider filter-coffee range if 1:2 isn’t the ratio you’re dialing.
Time matters because it’s the variable that connects dose and yield to extraction: pull the same 36 g from the same 18 g dose in 18 seconds versus 40 seconds and you get two very different shots, even though the ratio — the number most people fixate on — is identical. That’s the whole reason this calculator asks for shot time separately from dose and ratio, instead of just reporting a static ratio number: time is what tells you whether the water and the grounds had the right amount of contact to extract properly, not just the right proportion of each other.
Ratio classes and what they taste like
"Ristretto," "normale" and "lungo" aren’t marketing terms — they’re specific ratio bands with predictable, physical flavor consequences, because pulling more liquid through the same dose of grounds extracts progressively more of the coffee’s soluble material.
| Style | Ratio | Texture & intensity |
|---|---|---|
| Ristretto | 1:1.5 | Short, syrupy, concentrated — heavier body, less bitterness, more forward acidity |
| Normale | 1:2 | The modern default — balanced sweetness, body and acidity in most specialty cafés |
| Lungo | 1:3 | Longer, lighter-bodied, more soluble material extracted — can tip bitter if the grind isn’t adjusted |
Moving from normale to lungo without changing anything else pulls more solubles from the same grounds in the same rough timeframe, which is exactly the over-extraction risk this calculator’s decision tree watches for. If you want to explore lungo territory, coarsen the grind slightly as you stretch the ratio so the extra water doesn’t just extract more bitterness along with more volume.
Flow rate is the number that ties a ratio class to a sensible shot time: the reference 1.1–1.5 g/s band is calibrated to a 1:2 shot landing in 25–32 seconds, so a ristretto’s smaller 27 g yield needs a noticeably slower flow (or a shorter time) to avoid finishing too fast, while a lungo’s 54 g yield needs either a faster flow or a longer pull to avoid sitting on the group head so long that the last few grams over-extract everything that came before them.
The dial-in decision tree
The gauge above runs the exact matrix below. Shot time sorts a pull into one of three zones — fast, in-window, or slow — and your taste note picks the specific fix within that zone. The discipline that matters more than the matrix itself: change ONE variable at a time. Grind is the coarse knob — it moves flow rate and extraction the most per click, so use it to fix a shot that’s badly off. Yield is the fine knob — small 2–4 gram nudges for a shot that’s close but not quite there. Adjust one, pull another shot, taste again.
| Shot time | Taste | Verdict | Fix |
|---|---|---|---|
| < 22 s | any | Gushing / under-extracted | Grind finer (2–3 steps) (+ sour: also try +1°C or a longer ratio) |
| > 35 s | any | Choking / over-extraction risk | Grind coarser (+ bitter: also try −1°C or a shorter ratio) |
| 22–35 s | Sour · sharp | Under-extracted for this ratio | Grind slightly finer, or +2–4 g yield |
| 22–35 s | Bitter · harsh | Over-extracted for this ratio | Grind slightly coarser, or −2–4 g yield |
| 22–35 s | Weak · watery | Ratio too loose | Tighten toward 1:1.8, or up-dose 0.5–1 g |
| 22–35 s | Balanced | Locked in | Log this recipe |
Sour vs bitter — training your palate
Under- and over-extraction leave distinct, learnable markers. An under-extracted shot tastes sour or sharp — often described as lemony, salty or thin — because the fast-dissolving acids came out of the grounds while the slower-dissolving sugars and bittersweet compounds never had enough contact time to follow. It can also taste hollow, missing the body a fully-extracted shot has.
An over-extracted shot tastes bitter, ashy or drying — the compounds that dissolve last and slowest (often described as astringent or "burnt," even when the roast itself isn’t dark) finally came out in force, and they tend to mask the sweetness underneath rather than sit alongside it. Channeling — water finding a crack in the puck and blasting through it — produces a version of this even in a shot that isn’t running long, because the channeled water over-extracts a small area while the rest of the puck barely gets touched.
Tasting deliberately, on purpose, shot after shot, is the actual skill here. The calculator gives you the mechanical fix; only your palate tells you when a shot has crossed from "needs more work" to "locked in." A useful habit: taste the shot black, at drinking temperature, before you reach for milk or sugar — both mask exactly the markers you’re trying to learn to recognize, and a shot that tastes rough on its own can still make a perfectly pleasant latte, which teaches you nothing about your dial-in.
It helps to taste the same fault at two different intensities before you trust your read on it. Pull a shot at 15 seconds and one at 20 — both under-extracted, but the 15-second shot should taste unmistakably, aggressively sour, while the 20-second shot is milder and easier to miss. Doing this once with a shot you already know is off calibrates your palate far faster than reading a description of "sour" ever will.
Light vs dark roasts behave differently
Roast level changes both the coffee’s density and how readily it gives up its solubles, so the same dial-in approach needs different starting points. Light roasts are denser — they’ve spent less time in the roaster losing mass and expanding — and their cell structure resists extraction more, so they typically need a finer grind and a hotter brew temperature to extract fully in the same time window. Push a light roast too coarse and it reads sour even at a textbook 28 seconds.
Dark roasts are the opposite: less dense, more porous, and their solubles come out faster and more readily, which is why they usually want a coarser grind and a cooler brew temperature to avoid crossing into bitterness. Because dark-roast beans are less dense, the same gram dose also takes up more physical volume in the basket — which is why the basket-fit check above recommends dosing roughly a gram under the basket’s rating for dark roasts, leaving headspace so the puck isn’t overcompressed against the shower screen and channeling.
Puck prep in 30 seconds
Before you touch the grinder again, rule out prep. WDT (Weiss Distribution Technique — stirring the grounds with a fine needle tool before tamping) breaks up clumps and distributes fines evenly through the puck, which is the single biggest lever most home baristas have against channeling. Follow it with a level tamp — not a hard one; consistency matters far more than force — so the puck presents uniform resistance to the water across its whole face.
A perfectly dialed grind setting still gushes or channels through a lumpy, unevenly-tamped puck. Fifteen seconds of WDT and a level tamp fix more inconsistent shots than any grinder upgrade, and they cost nothing — run through this checklist before you start turning the grind dial.
Rule out prep before you touch the dial. If a shot suddenly runs fast or gushes after weeks of consistent pulls at the same grind setting, the grinder almost never drifted overnight — a stale, clumpy dose, an off-center basket, or a rushed tamp is the far more likely culprit. Re-pull with careful prep at the same setting before you touch the grinder.


