PetroCalcHub

Engineering lesson

Exponential hyperbolic and harmonic decline explained

Exponential, hyperbolic and harmonic decline are members of the Arps family. Exponential has constant nominal decline; hyperbolic decline decreases with time; harmonic is the b = 1 endpoint.

By PetroCalcHub Team · Updated October 24, 2026 · Free to read and use

Compare curves with matched initial conditions

The comparison fixes qi = 1,000 STB/day and Di = 0.001/day. It varies b while preserving the same initial rate and initial nominal decline. This is a controlled comparison, not three independently fitted forecasts.

The exponential limit is qi exp(−Dit). For nonzero b, q = qi(1 + bDit)^(−1/b). Setting b = 1 gives the harmonic rate.

Time and decline must use matching units

The product Dit is dimensionless. A decline quoted per year cannot be entered directly with elapsed days. Effective decline over an interval is also different from nominal Di.

Cumulative production requires integrating a rate on the same time basis. A daily rate integrated over years needs the corresponding day conversion.

Long tails require a stated horizon

Higher b sustains a larger late-time rate in this matched case. It does not establish that a reservoir will follow that tail indefinitely.

The forecast horizon, terminal decline treatment, operating changes and economic cutoff all affect an interpreted recovery. The plotted rates are model predictions, not reserves.

Explore the example

Original synthetic teaching calculation. Equations and fixed controls are stated here; these are not field measurements.

365

Select one of 5 recorded scenarios. Intermediate states are not interpolated.

Selected scenario

Elapsed time (day) = 365. Exponential rate (STB/day): 694.196651; Hyperbolic b=0.5 rate (STB/day): 715.150919; Harmonic rate (STB/day): 732.600733.

Selected result05001,00009131,830Scenario input
  • Exponential rate (STB/day)
  • Hyperbolic b=0.5 rate (STB/day)
  • Harmonic rate (STB/day)
Exponential rate (STB/day) versus Elapsed time (day). Green marks the selected row. Lines connect recorded points for orientation; exact solved values are tabulated below.

Worked example

Matched initial rate and nominal decline

qi = 1,000 STB/day and Di = 0.001/day for all curves. Only b changes among the three model columns.

Relation and unit basis

q = qi exp(−Dit) for b = 0; q = qi(1 + bDit)^(−1/b) otherwise

Time in days, rate in STB/day. b = 1 is harmonic. These are synthetic model curves, not field fits.

  1. 1. Define the baseline

    Elapsed time (day) = 365

    qi = 1,000 STB/day and Di = 0.001/day for all curves. Only b changes among the three model columns.

  2. 2. Select the relation

    q = qi exp(−Dit) for b = 0; q = qi(1 + bDit)^(−1/b) otherwise

    Time in days, rate in STB/day. b = 1 is harmonic. These are synthetic model curves, not field fits.

  3. 3. Substitute the values

    At day 365: exponential = 1,000 exp(−0.365); hyperbolic = 1,000(1 + 0.5 × 0.365)^−2; harmonic = 1,000/1.365

    Retain intermediate precision. The displayed values are rounded only after evaluation.

  4. 4. Read the result

    Exponential rate (STB/day) = 694.196651; Hyperbolic b=0.5 rate (STB/day) = 715.150919; Harmonic rate (STB/day) = 732.600733

    Higher b sustains more late-time rate under these matched initial conditions.

Result and interpretation

Exponential rate (STB/day) = 694.196651; Hyperbolic b=0.5 rate (STB/day) = 715.150919; Harmonic rate (STB/day) = 732.600733

Higher b sustains more late-time rate under these matched initial conditions.

Select elapsed days and compare all three b choices on the same initial basis.

Exact scenario data

Original synthetic teaching calculation. Equations and fixed controls are stated here; these are not field measurements.

Exact recorded values for Matched initial rate and nominal decline. Units are included in the headers.
Elapsed time (day)Exponential rate (STB/day)Hyperbolic b=0.5 rate (STB/day)Harmonic rate (STB/day)
01,0001,0001,000
90913.9312915.73917.4312
365694.1967715.1509732.6007
730481.909536.7038578.0347
1,825161.2176273.3991353.9823

Scroll the table to see all columns. The highlighted row is the worked baseline. Downloads retain full numerical precision.

Test your understanding

Work through the question before revealing its answer. Use the stated assumptions and include units in every numerical step.

  1. 1. Which member has constant nominal decline?

    Show the worked answer

    Exponential decline, b = 0. Its rate still decreases with time, but −d ln(q)/dt stays constant.

  2. 2. Reproduce the baseline Exponential rate (STB/day) without rounding intermediate values.

    Show the worked answer

    At day 365: exponential = 1,000 exp(−0.365); hyperbolic = 1,000(1 + 0.5 × 0.365)^−2; harmonic = 1,000/1.365. Exponential rate (STB/day) = 694.196651. Higher b sustains more late-time rate under these matched initial conditions.

  3. 3. Compare the first and last recorded scenarios. Which input changes?

    Show the worked answer

    Elapsed time (day) changes from 0 to 1825. Other controls remain as stated in the premise. Exponential rate (STB/day) changes from 1000 to 161.217644.

  4. 4. What would be needed to apply this example to a different physical system?

    Show the worked answer

    Replace the synthetic controls with compatible documented inputs and check the relation's assumptions. Time in days, rate in STB/day. b = 1 is harmonic. These are synthetic model curves, not field fits. Higher b sustains more late-time rate under these matched initial conditions.

Before using the result

  • Match qi and Di before comparing b.
  • Use compatible decline and time units.
  • State a finite forecast horizon.

Higher b sustains more late-time rate under these matched initial conditions.

Continue in the calculator with your documented inputs →

Continue learning

Start with the broader workflow guide

Sources and method

The explanation and synthetic examples are original PetroCalcHub teaching material. The references below support the definitions and model context. They do not supply field validation for the synthetic scenarios.

Report a correction · Read the calculation review method