Visible formulae and visible limits

How CupTune calculates and recommends

A useful result explains what was measured, what was assumed and what remains unknown.

What CupTune calculates

Brew water = dry coffee × water ratio. Espresso beverage = dose × beverage ratio. Approximate filter yield = water − dose × the visible absorption coefficient.

Extraction yield = beverage mass × (measured TDS ÷ 100) ÷ dry dose × 100. Dilution preserves dissolved solids: final mass = concentrate × current TDS ÷ target TDS.

The timer derives elapsed time from an absolute anchor. It never assumes interval callbacks ran while the tab was backgrounded.

A worked example

Take 20 g of coffee at 1:16. Brew water is 20 × 16 = 320 g. With the default absorption of 2 g per gram of dry coffee, the grounds keep about 40 g, so roughly 280 g reaches the cup; that figure is a plan, not a reading. Now weigh the cup: say it holds 284 g, and a refractometer reads 1.35 % TDS. Extraction yield is 284 × 0.0135 ÷ 20 × 100 = 19.17 %, and every input in that line was measured. For dilution, 100 g of cold-brew concentrate at 4.0 % TDS taken to 1.3 % gives 100 × 4.0 ÷ 1.3 = 307.7 g, so about 208 g of water goes in. Change the absorption coefficient and only the planned yield moves; the extraction figure follows your scale and your meter, never the coefficient.

What the measurements do not establish

  • TDS is never inferred from colour, method or taste.
  • Absorption and cold-brew retention are editable approximations.
  • Taste descriptors do not prove a single extraction cause.
  • Recipe times do not override taste, flow, equipment limits or food safety.

How to use the result

Use a scale, record the actual beverage and change one controllable variable. SCA explains brew ratio and espresso beverage ratio; its current Brewing Chart research describes the measured TDS, extraction-yield and brew-ratio relationship. The formulas here apply those definitions and mass balance. Authored recipes and sensory suggestions remain starting preferences, not standards or diagnoses. The editorial policy covers the rest: who publishes CupTune, how pages are drafted and checked, and how a correction is made.

The ratio dataset

Every starting ratio CupTune publishes is also one small file: brew-ratios.csv, with the 8 method presets from the ratio chart and the coffee recipes, one row each. Columns: kind, id, name, method, dose_g, liquid_g, ratio, ratio_basis, basis, url. ratio_basis says whether the ratio is brew water or, for espresso, beverage mass per gram of coffee.

Every row is a CupTune-authored starting point, not a standard or a measurement, and the file is generated from the same records as the pages, so it cannot disagree with them. You may reuse it under CC BY 4.0: credit CupTune with a link to cuptune.com.