PetroCalcHub

Engineering lesson

Calculate cumulative production from a decline curve

Cumulative production is the time integral of rate. It is not the final rate multiplied by the entire forecast duration unless rate is constant.

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

Integrate on the rate's time basis

For exponential decline, Np = qi(1 − exp(−Dt))/D. With qi in STB/day and D in 1/day, the result is STB.

The worked example uses qi = 1,000 STB/day and D = 0.001/day. The final daily rate is smaller than earlier rates, so endpoint rate times duration understates the area under the curve.

Handle the Arps endpoints deliberately

Hyperbolic cumulative has a separate b = 1 logarithmic limit and an exponential b = 0 limit. A formula containing division by b or 1 − b cannot be substituted blindly at those endpoints.

The linked workflow handles the supported branches. Keeping the endpoints explicit also provides useful independent numerical checks.

Choose the integration interval

A forecast cumulative from time zero differs from incremental production between two later dates. For an interval [t1,t2], subtract cumulative values or integrate directly over that interval.

Historical produced volume and future incremental production should appear as separate entries. Their sum can be a scenario total, but the forecast assumptions still need to be stated.

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. Analytical cumulative (STB): 305803.349; Endpoint rectangle (STB): 253381.778; Endpoint rate (STB/day): 694.196651.

Selected result0419,000839,000309281,830Scenario input
  • Analytical cumulative (STB)
  • Endpoint rectangle (STB)
Analytical cumulative (STB) versus Elapsed time (day). Green marks the selected row. Lines connect recorded points for orientation; exact solved values are tabulated below.

Worked example

Rate, integral and endpoint rectangle

Exponential qi = 1,000 STB/day, nominal D = 0.001/day. The finite elapsed duration varies.

Relation and unit basis

q = 1,000 exp(−0.001t); Np = 1,000[1 − exp(−0.001t)]/0.001

t in days gives rate in STB/day and cumulative in STB. Endpoint rectangle q(t)t is shown only as a deliberately approximate comparison.

  1. 1. Define the baseline

    Elapsed time (day) = 365

    Exponential qi = 1,000 STB/day, nominal D = 0.001/day. The finite elapsed duration varies.

  2. 2. Select the relation

    q = 1,000 exp(−0.001t); Np = 1,000[1 − exp(−0.001t)]/0.001

    t in days gives rate in STB/day and cumulative in STB. Endpoint rectangle q(t)t is shown only as a deliberately approximate comparison.

  3. 3. Substitute the values

    Np(365) = 1,000[1 − exp(−0.365)]/0.001; endpoint rectangle = [1,000 exp(−0.365)] × 365

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

  4. 4. Read the result

    Analytical cumulative (STB) = 305803.349; Endpoint rectangle (STB) = 253381.778; Endpoint rate (STB/day) = 694.196651

    The endpoint rectangle misses earlier higher rates. The analytical cumulative remains conditional on the finite horizon.

Result and interpretation

Analytical cumulative (STB) = 305803.349; Endpoint rectangle (STB) = 253381.778; Endpoint rate (STB/day) = 694.196651

The endpoint rectangle misses earlier higher rates. The analytical cumulative remains conditional on the finite horizon.

Elapsed time changes while initial rate and nominal decline stay fixed. Compare the integral with the endpoint rectangle.

Exact scenario data

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

Exact recorded values for Rate, integral and endpoint rectangle. Units are included in the headers.
Elapsed time (day)Analytical cumulative (STB)Endpoint rectangle (STB)Endpoint rate (STB/day)
3029,554.4729,113.37970.4455
9086,068.8182,253.81913.9312
365305,803.3253,381.8694.1967
730518,091351,793.6481.909
1,825838,782.4294,222.2161.2176

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. What is the exponential cumulative limit as D tends to zero?

    Show the worked answer

    qi × t, the constant-rate result. This limit is a useful check on the integral.

  2. 2. Reproduce the baseline Analytical cumulative (STB) without rounding intermediate values.

    Show the worked answer

    Np(365) = 1,000[1 − exp(−0.365)]/0.001; endpoint rectangle = [1,000 exp(−0.365)] × 365. Analytical cumulative (STB) = 305803.349. The endpoint rectangle misses earlier higher rates. The analytical cumulative remains conditional on the finite horizon.

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

    Show the worked answer

    Elapsed time (day) changes from 30 to 1825. Other controls remain as stated in the premise. Analytical cumulative (STB) changes from 29554.4665 to 838782.356.

  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. t in days gives rate in STB/day and cumulative in STB. Endpoint rectangle q(t)t is shown only as a deliberately approximate comparison. The endpoint rectangle misses earlier higher rates. The analytical cumulative remains conditional on the finite horizon.

Before using the result

  • Use the rate's time unit.
  • Handle b = 0 and b = 1 correctly.
  • Distinguish incremental and time-zero cumulative.

The endpoint rectangle misses earlier higher rates. The analytical cumulative remains conditional on the finite horizon.

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