Arte SheetsLearn. Try. Understand.

Petroleum Reservoir Engineering & Reserves

Arps Exponential, Hyperbolic & Harmonic Decline Formula

Forecast Oil/Gas Production Rate q(t) and Cumulative Recovery N_p(t) across all three J.J. Arps (1945) decline regimes (Exponential b = 0, Hyperbolic 0 < b < 1, and Harmonic b = 1) without #DIV/0! singularities.

Handle b = 0 Exponential, 0 < b < 1 Hyperbolic, and b = 1 Harmonic reserves in one formula!

Every SEC proved-reserves valuation relies on Jan J. Arps’s (1945, AIME Transactions) empirical decline family governed by Initial Rate q_i (bbl/day), Initial Nominal Decline Rate D_i (1/year), and Arps Hyperbolic Exponent b in [0, 1]: Instantaneous Rate is q(t) = q_i * EXP(-D_i * t) when b = 0 (constant-percentage Exponential decline) and q(t) = q_i / (1 + b * D_i * t)^(1 / b) when b > 0! Integrating 365 * q(t) from 0 to t years exposes TWO spreadsheet #DIV/0! traps if you code only the general power law 365 * (q_i / ((1 - b) * D_i)) * (1 - (1 + b * D_i * t)^(1 - 1 / b)): it divides by b = 0 at the Exponential limit AND divides by (1 - b) = 0 at the Harmonic limit (b = 1), where the exact integral switches to 365 * (q_i / D_i) * LN(1 + D_i * t)!

Verify on Initial_Oil_Rate q_i = 1,000 bbl/day (B2), Initial_Nominal_Decline D_i = 0.50 /yr (B3), Hyperbolic_Exponent b = 0.50 (B4), and Forecast_Horizon t = 4.0 years (B5): Since 1 + 0.50 * 0.50 * 4.0 = 2.0, Year-4 Production Rate is 1,000 / 2.0^2 = 250.00 bbl/day (E2); Instantaneous Effective Nominal Decline D(t) = D_i / (1 + b * D_i * t) slows from 0.50/yr to 0.2500/yr (E3); and 4-Year Cumulative Production is 365 * (1,000 / 0.25) * (1 - 2.0^(-1)) = 730,000 bbl exact (E4)! Test BOTH limits in cell B4: setting b = 0 switches cleanly to Exponential (q(4) = 135.34 bbl/d, N_p = 631,205 bbl), and setting b = 1 switches cleanly to Harmonic LN (q(4) = 333.33 bbl/d, N_p = 801,987 bbl)!

Arps 4-Year Reserves Metric (q_i=1,000 bbl/d, D_i=0.50/yr, t=4.0 yrs)Formulab=0.50 (vs b=0 / b=1)
Year-4 Daily Rate q(4) (bbl/d)b=0 ? q_i*EXP(-Dt) : q_i/(1 + bDt)^(1/b)250.00 (135.34 / 333.33)
Year-4 Instantaneous Decline D(4)D_i / (1 + b * D_i * t)0.2500 /yr (0.50 / 0.1667)
4-Yr Cumulative Oil N_p (bbl)3-Branch Exact Integral (b=0, 0<b<1, b=1)730,000 (631,205 / 801,987)
Decline Law Classificationb = 0 vs 0 < b < 1 vs b = 1Hyperbolic Decline (0 < b < 1)

Three-Branch Singularity-Safe Arps Cumulative Production Formula

Validate q_i > 0, D_i > 0, 0 <= b <= 1 (unconventional shale transient flow b > 1 requires switching to terminal exponential decline D_min, whereas classical boundary-dominated Arps spans [0, 1]), and t >= 0!

=LET(q_in, B2, d_in, B3, b_ex, B4, t_yr, B5, IF(OR(q_in <= 0, d_in <= 0, b_ex < 0, b_ex > 1, t_yr < 0), "Invalid Arps Parameter", ROUND(IF(b_ex = 0, 365 * (q_in / d_in) * (1 - EXP(-d_in * t_yr)), IF(b_ex = 1, 365 * (q_in / d_in) * LN(1 + d_in * t_yr), 365 * (q_in / ((1 - b_ex) * d_in)) * (1 - (1 + b_ex * d_in * t_yr) ^ (1 - 1 / b_ex)))), 0)))

Singularity-Safe Arps Instantaneous Rate q(t) Formula

Branch on b = 0 so EXP(-D_i * t) avoids raising (1 + 0)^(1 / 0)!

=IF(OR(B2 <= 0, B3 <= 0, B4 < 0, B4 > 1, B5 < 0), "Invalid Arps Parameter", ROUND(IF(B4 = 0, B2 * EXP(-B3 * B5), B2 / ((1 + B4 * B3 * B5) ^ (1 / B4))), 2))

Try the example

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

Further reading