Arte SheetsLearn. Try. Understand.

Dairy Standardization, Beverage/Feed Formulation & Mass-Balance Blending

Pearson Square Dairy Butterfat & Two-Stream Blend Formula

Calculate Pearson Diagonal Parts of High-Concentration Stream, Diagonal Parts of Low-Concentration Stream, Exact High-Stream Mass (kg), and Exact Low-Stream Mass (kg).

Raymond Pearson’s diagonal subtraction solves simultaneous two-stream mass + component balances in a single step!

Standardizing silo milk to exact `3.50%` whole or `2.00%` reduced-fat retail spec—or blending livestock protein rations, winery Brix musts, and acid dilutions—requires combining a High-Concentration Stream `C_H` (%) with a Low-Concentration Stream `C_L` (%) to hit Target Concentration `C_T` (`C_L < C_T < C_H`) at Total Batch Mass `M_total` (kg). Solving `M_H + M_L = M_total` and `C_H*M_H + C_L*M_L = C_T*M_total` yields Raymond Pearson’s classic Pearson Square diagonal rule: Parts of High Stream `P_H = C_T - C_L`, Parts of Low Stream `P_L = C_H - C_T`, Total Parts `P_H + P_L = C_H - C_L`, so `M_H = M_total * (C_T - C_L) / (C_H - C_L)` and `M_L = M_total * (C_H - C_T) / (C_H - C_L)`!

Verify on a 5,000 kg Whole-Milk Standardization Tank—Separator_Cream_Butterfat `C_H` = 38.00% (B2), Skim_Milk_Butterfat `C_L` = 0.10% (B3), Target_Whole_Milk_Fat `C_T` = 3.50% (B4), and Target_Tank_Batch `M_total` = 5,000.0 kg (B5): Pearson Cream Parts equal `3.40` (E2), Skim Parts equal `34.50` (E3, summing to `37.90` total parts), requiring `448.55` kg of `38%` Cream (E4) plus `4,551.45` kg of `0.10%` Skim Milk (E5, totaling `5,000.00` kg at exact `175.00` kg butterfat = `3.50%`)!

Pearson Square Dairy KPI (38.0% Cream + 0.10% Skim -> 5,000 kg @ 3.50% Fat)FormulaVerified Output
Pearson High-Stream (Cream) PartsTarget_Fat_Pct - Low_Skim_Fat_Pct3.40 parts (1.90 parts @ 2.00% milk)
Pearson Low-Stream (Skim) PartsHigh_Cream_Fat_Pct - Target_Fat_Pct34.50 parts (36.00 parts @ 2.00% milk)
Required 38% Cream Mass (kg)Batch_kg * ((C_T - C_L) / (C_H - C_L))448.55 kg (250.66 kg @ 2.00% milk)
Required 0.10% Skim Mass (kg)Batch_kg * ((C_H - C_T) / (C_H - C_L))4,551.45 kg (4,749.34 kg @ 2.00% milk)

Exact Two-Stream Pearson Square Mass-Balance Standardization Formula

Validate `0 <= Low_Pct < Target_Pct < High_Pct <= 100` (a target outside `(C_L, C_H)` is physically impossible by mixing those two streams!) and `Target_Batch_Mass > 0`!

=LET(ch_p, B2, cl_p, B3, ct_p, B4, mt_k, B5, IF(OR(cl_p < 0, ch_p <= cl_p, ch_p > 100, ct_p <= cl_p, ct_p >= ch_p, mt_k <= 0), "Invalid Blend Input", ROUND(mt_k * ((ch_p - ct_p) / (ch_p - cl_p)), 2)))

Reduced-Fat 2.00% Retail Milk Run Switchover Check (Set Target Fat C_T = 2.00%)

Switch the bottling schedule to `2.00%` reduced-fat milk (`C_T` B4 = 2.00%): Cream Parts E2 drop to `1.90`, Skim Parts E3 rise to `36.00`, Cream Charge E4 drops by `197.89` kg down to `250.66` kg, and Skim Charge E5 increases to `4,749.34` kg (`250.66 + 4,749.34 = 5,000.00` kg)!

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

Try the example

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

Further reading