Arte SheetsLearn. Try. Understand.

Malting Grain Chemistry & Brewhouse Process Control

Kolbach Index, Lintner Diastatic & Mash Efficiency Formula

Read a Malt Certificate of Analysis (COA) by calculating Kolbach Index % SNR = 100*(Soluble_N / Total_N), converting European Windisch-Kolbach (°WK) to Degrees Lintner (°L) = (WK + 16)/3.5, and auditing Brewhouse Mash Extract Efficiency.

Decode malt lot Certificates of Analysis (COAs) before choosing your mash schedule!

Commercial brewhouses adjust mash temperature rests lot-by-lot using three critical Malt Certificate of Analysis (COA) ratios! First, P. Kolbach’s Soluble-to-Total Nitrogen Ratio—the Kolbach Index (% SNR) = 100 * (Soluble_Nitrogen_% / Total_Nitrogen_%)—measures endosperm protein modification during germination: < 35% indicates under-modified continental malt requiring a 50 °C protein rest or decoction, 38%–42% is ideal for single-infusion mashing, and > 45% signals over-modified malt prone to thin body and poor head retention! Second, European maltsters report starch-converting diastatic enzyme power in Windisch-Kolbach units (°WK), which converts exactly to North American Degrees Lintner via °L = (°WK + 16) / 3.5! Third, Brewhouse Extract Efficiency compares actual kettle dissolved solids against laboratory Congress Mash yield: Efficiency = Kettle_Extract_kg / (Grain_Bill_kg * COA_AsIs_Yield)!

Verify on a Pilsner Malt COA—Soluble_Nitrogen = 0.684% (B2), Total_Grain_Nitrogen = 1.80% (B3 -> Kolbach Index = 100 * 0.684 / 1.80 = 38.00% in E2), Windisch_Kolbach_DP = 264 °WK (B4 -> Diastatic Power = (264 + 16) / 3.5 = 80.00 °Lintner in E3), Grist_Mass = 500 kg (B5), COA_Fine_AsIs_Yield = 0.80 (80.0%, B6 -> 400 kg max extract), and Kettle_Extract_Captured = 340 kg (B7): Brewhouse Efficiency is 340 / 400 = 0.8500 (85.00% in E4), with Modification Diagnostic "Well-Modified: Single Infusion Ready" (E5)!

Malt COA & Mash Metric (SolN=0.684%, TotN=1.80%, 264 °WK, 500kg @ 80%, 340kg Kettle)FormulaVerified Output
Kolbach Index (% SNR)100 * (Soluble_N_% / Total_N_%)38.00% (48.00% @ SolN=0.864%)
Diastatic Power (°Lintner)(Windisch_Kolbach + 16) / 3.580.00 °Lintner
Brewhouse Extract EfficiencyKettle_Extract_kg / (Grain_kg * COA_Yield)0.8500 (85.00% Brewhouse Yield)
Endosperm Modification Gate<35 Under | 35–45 Ideal | >45 OverWell-Modified: Single Infusion Ready

Kolbach Index & Brewhouse Extract Efficiency Formula

Validate 0 < Soluble_N < Total_N, WK > 0, Grain_kg > 0, 0 < COA_Yield <= 1, and 0 < Kettle_Extract <= Grain_kg * COA_Yield!

=LET(sn_p, B2, tn_p, B3, wk_d, B4, gr_k, B5, yd_c, B6, kt_k, B7, IF(OR(sn_p <= 0, tn_p <= sn_p, wk_d <= 0, gr_k <= 0, yd_c <= 0, yd_c > 1, kt_k <= 0, kt_k > gr_k * yd_c), "Invalid Malt COA Input", ROUND(kt_k / (gr_k * yd_c), 4)))

Over-Modified Malt Foam-Risk Check (Set Soluble_N = 0.864%)

Set Soluble_Nitrogen B2 = 0.864%: Kolbach Index E2 climbs to 48.00% (> 45%), switching E5 to "Over-Modified: Low Foam Stability Risk" so brewers skip any proteolytic rest!

=IF(ISTEXT(E4), E4, IF(E2 < 35, "Under-Modified: Protein Rest Required", IF(E2 <= 45, "Well-Modified: Single Infusion Ready", "Over-Modified: Low Foam Stability Risk")))

Try the example

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

Further reading