Arte SheetsLearn. Try. Understand.

Petrophysics, Well-Log Interpretation & Volumetrics

Archie Water Saturation (Sw) & Formation Factor Formula

Calculate Clean-Sandstone Formation Resistivity Factor F, Archie Water Saturation Sw, Hydrocarbon Saturation Sh, and Hydrocarbon Pore-Thickness HPV (m).

Enter porosity as a decimal fraction (0.20, never 20)—and cap Sw at 1.00 in wet zones!

G.E. Archie’s (1942) empirical resistivity law underpins quantitative oil and gas well-log interpretation: because dry rock matrix grains are electrical insulators while salty connate brine conducts current through interconnected pores, Formation Resistivity Factor is F = a / (phi ^ m), 100%-Wet Rock Resistivity is R_0 = F * R_w, and Water Saturation is S_w = MIN(1, ((a * R_w) / ((phi ^ m) * R_t)) ^ (1 / n))! Entering percentage porosity 20 instead of decimal 0.20 shrinks F by 10,000x when m = 2!

Verify on a Clean Consolidated Sandstone Pay Zone (n = 2)—Tortuosity_Factor a = 1.00 (B2), Fractional_Porosity phi = 0.20 (20.0%, B3), Cementation_Exponent m = 2.00 (B4 -> Formation Factor F = 1 / 0.04 = 25.00 in E2), Connate_Brine_Resistivity R_w = 0.09 ohm·m (B5 -> R_0 = 2.25 ohm·m), Deep_Induction_Resistivity R_t = 25.00 ohm·m (B6), and Net_Pay_Thickness h = 15.0 m (B7): Archie Water Saturation equals SQRT(2.25 / 25.00) = 0.3000 (30.0%, E3), Hydrocarbon Saturation is 1 - 0.30 = 0.7000 (70.0%, E4), and Hydrocarbon Pore-Thickness h * phi * S_h equals 15 * 0.20 * 0.70 = 2.10 m (E5)!

Archie Well-Log KPI (a=1, phi=0.20, m=2, Rw=0.09, Rt=25 ohm·m, h=15 m)FormulaVerified Output
Formation Resistivity Factor Fa / (Porosity_phi ^ m)25.00
Water Saturation Sw (n = 2)MIN(1, SQRT((F * R_w) / R_t))0.3000 (1.0000 @ Rt = 2.25)
Hydrocarbon Saturation Sh1 - Water_Saturation_Sw0.7000 (0.0000 @ Rt = 2.25)
Hydrocarbon Pore-Thickness (m)Net_Pay_m * Porosity_phi * Sh2.10 m (0.00 m Wet Zone)

Archie Clean-Sandstone Water Saturation & HPV Formula

Validate Tortuosity a in [0.5, 2.0], Fractional_Porosity phi in (0.01, 0.50] (rejecting whole-number 20% inputs!), Cementation m in [1.2, 3.0], R_w > 0, R_t > 0, and Net_Pay > 0!

=LET(tr_a, B2, ph_f, B3, cm_m, B4, rw_o, B5, rt_o, B6, h_np, B7, IF(OR(tr_a < 0.5, tr_a > 2, ph_f <= 0.01, ph_f > 0.5, cm_m < 1.2, cm_m > 3, rw_o <= 0, rt_o <= 0, h_np <= 0), "Invalid Archie Log Input", LET(fr_f, tr_a / (ph_f ^ cm_m), ROUND(MIN(1, SQRT((fr_f * rw_o) / rt_o)), 4))))

Aquifer Oil-Water Contact R_0 Check (Set Deep Resistivity R_t = 2.25 ohm·m)

Drop True_Formation_Resistivity B6 from 25.00 ohm·m down to R_0 = 2.25 ohm·m below the free-water level: Water Saturation E3 hits 1.0000, Hydrocarbon Saturation E4 drops to 0.0000, and Hydrocarbon Pore-Thickness E5 equals 0.00 m! Also test B3 = 20 (whole-number porosity mistake) to verify the guard!

=IF(ISTEXT(E3), E3, ROUND(B7 * B3 * (1 - E3), 2))

Try the example

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

Further reading