Arte SheetsLearn. Try. Understand.

Food & Beverage Science, SCA Coffee Brewing Control Chart, TDS & Extraction Yield

Coffee TDS, Extraction Yield (EY %) & Brew Ratio Formula

Calculate Pour-Over & Espresso Water-to-Coffee Input Ratio, Spent-Puck Liquid Retained Ratio LRR (g/g), Extracted Coffee Solubles (g), and SCA Extraction Yield EY (%).

Why a 9.8% TDS espresso shot and a 1.42% TDS V60 pour-over have the EXACT SAME 20.1% Extraction Yield!

Roastery QC labs and Specialty Coffee Association (`SCA`) Brewing Control Charts separate **Beverage Strength** (`Refractometer Total Dissolved Solids TDS%`, `1.20%–1.55%` filter coffee vs `8%–12%` espresso) from **Extraction Yield `EY%`** (the mass percentage of dry roasted coffee grounds `D` g dissolved into the cup—targeting the `18%–22%` sweet-spot window between sour `<18%` under-extraction and astringent `>22%` channeling)! Because spent cellulose coffee grounds sponge up **`LRR = (W_{in} - B_{out}) / D`** (`~2.0–2.2` g/g in drip beds vs `~1.2–1.5` g/g in pressurized espresso pucks), multiplying `TDS%` by Input Pour Water `W_{in}` instead of **Actual Beverage Weight `B_{out}`** (g) overpredicts `EY%` by `+15%`! True mass conservation uses **`Extracted_Solubles = B_{out} * (TDS% / 100)`** (g) and **`EY% = ((B_{out} * (TDS% / 100)) / D) * 100`**!

Verify on an SCA V60 Filter Calibration—Dry_Coffee_Dose `D` = 18.5 g (B2), Pour_Water_Input `W_{in}` = 300.0 g (B3 -> Input Ratio = `16.22` : 1 in E2), Brewed_Beverage_Out `B_{out}` = 262.0 g (B4 -> Spent-Bed Liquid Retained `LRR = 2.05` g/g in E3), and Digital_Refractometer `TDS` = 1.42% (B5): Extracted Solubles equal `3.72` g (E4) and Extraction Yield hits the dead-center SCA sweet spot at `20.11%` (E5)!

SCA Coffee Extraction KPI (Dose=18.5 g: 300g/262g @ 1.42% Filter vs 65g/38g @ 9.80% Espresso)FormulaVerified Output
Water-to-Coffee Input RatioPour_Water_In_g / Dry_Dose_g16.22 : 1 (3.51 : 1 @ espresso)
Liquid Retained Ratio LRR (g/g)(Pour_Water_In_g - Beverage_Out_g) / Dose_g2.05 g/g (1.46 g/g @ espresso puck)
Extracted Coffee Solubles (g)Beverage_Yield_Out_g * (TDS_Pct / 100)3.72 g (3.72 g identical solubles!)
Extraction Yield EY (%)(Extracted_Solubles_g / Dry_Dose_g) * 10020.11% (20.13% identical sweet spot!)

SCA Beverage-Out Mass Balance Extraction Yield & Liquid Retention Formula

Validate `Dry_Dose D > 2` g, `Beverage_Out B_{out} > 5` g, `Pour_Water W_{in} > B_{out}`, and `Refractometer_TDS` in `(0.3%, 20.0%]`!

=LET(dc_g, B2, wi_g, B3, bo_g, B4, td_p, B5, ex_g, bo_g * (td_p / 100), IF(OR(dc_g <= 2, bo_g <= 5, wi_g <= bo_g, td_p <= 0.3, td_p > 20), "Invalid Brew Input", ROUND((ex_g / dc_g) * 100, 2)))

9-Bar Espresso 1:2.05 Shot Equivalence Check (Set Water B3 = 65 g, Out B4 = 38 g, TDS B5 = 9.8%)

Pull the same `18.5` g roast as a `38.0` g espresso (`B3 = 65`, `B4 = 38`, `B5 = 9.8`): Input Ratio E2 tightens to `3.51`, Puck Retention E3 drops to `1.46` g/g, yet Extracted Solubles E4 stay `3.72` g and Extraction Yield E5 matches at `20.13%`—proving strength (`TDS%`) and extraction (`EY%`) are orthogonal axes!

=IF(ISTEXT(E5), E5, ROUND((B3 - B4) / B2, 2))

Try the example

Use the original values or change them to test your understanding.

Further reading