Page tree

Given:

  • a function  q^*(t, {\bf p}) of real-value argument  t \in \R and set of model parameters  {\bf p} = \{ q^*_0, \, \tau_0, \, b \}
  • a training data set:  \{ (t_k, q_k)\}_{k = 1..N} = \{ (t_0, q_0), (t_1, q_1), ..., (t_N, q_N) \}

the matching procedure assumes searching for thee specific set of model parameters  {\bf p} to minimize the goal function:

G({\bf p}) = \sum_{k=1}^N \, \Psi \left( q^*(t_k) - q_k \right) \rightarrow \textrm{min}

where  \Psi(z) is the discrepancy distance function.

Most popular choices are \Psi(z) = z^2 and \Psi(z) = |z|.


There are few approaches to match the Arps decline to the historical data (or a training dataset within):


The constrained matching is used to one may wish to ensure the smooth transition from the training dataset to future model predictions.

Unconstrained matching



All three model parameters  \{ q^*_0, \, \tau_0, \, b \} are being varied to achieve the best fit to the training dataset.

Exponential Production DeclineHyperbolic Production DeclineHarmonic Production Decline

b=0

0<b<1

b=1

(1) q(t)=q^*_0 \exp \left( - t/\tau_0 \right)
(2) q(t) = \frac{q^*_0}{ \left( 1+b \cdot t/\tau_0 \right)^{1/b} }
(3) q(t)=\frac{q^*_0}{1+t/\tau_0}


The best-fit model may not match: 

  • the initial production rate  q^*(t=0) \neq q_0
  • the current production rate  q^*(t=t_N) \neq q_N
  • the current cumulative production  Q^*(t=t_N) \neq Q_N

Match the value of the initial rate  q^*(t=0) = q_0



The value of the model rate at the initial time moment is set to training datasetq^*(t=0) = q^*_0 = q_0 and the two other model properties \{ \tau_0, \, b \} 
are being varied to achieve the best fit to the training dataset.

Exponential Production DeclineHyperbolic Production DeclineHarmonic Production Decline

b=0

0<b<1

b=1

(4) q(t)=q_0 \exp \left( -t/\tau_0 \right)
(5) q(t) = \frac{q_0}{ \left( 1+b \cdot t/\tau_0 \right)^{1/b} }
(6) q(t)=\frac{q_0}{1+t/\tau_0}


The best-fit model may not match: 

  • the current production rate  q^*(t=t_N) \neq q_N
  • the current cumulative production  Q^*(t=t_N) \neq Q_N

Match the value of the current rate  q^*(t=t_N) = q_N



The value of the model rate at the current time moment is set to training dataset:  q^*(t=t_N) = q_N and the two other model properties \{ \tau_0, \, b \} are being varied to achieve the best fit to the training dataset.


Exponential Production DeclineHyperbolic Production DeclineHarmonic Production Decline

b=0

0<b<1

b=1

(7) q(t)=q_N \cdot \exp \big[ -(t-t_N)/\tau_0 \big]
(8) q(t) = q_N \cdot \left[ \frac{1+b \cdot t_N/\tau_0 } { 1+b \cdot t/\tau_0  } \right]^{1/b}
(9) q(t) = q_N \cdot \left[ \frac{1+t_N/\tau_0 } { 1+ t/\tau_0  } \right]



This ensures the smooth transition from historical data
[(t_1,q_1)... (t_N, q_N)] to the production forecasts in future time moments [(t_{N+1},q_{N+1}), ...].

The best-fit model may not match: 

  • the initial production rate  q^*(t=0) \neq q_0
  • the current cumulative production  Q^*(t=t_N) \neq Q_N

Match the value of the current cumulative  Q^*(t=t_N) = Q_N



The value of the model rate at the initial time moment q^*(t=0) = q^*_0 is set to achieve the match between the values of current cumulative from model prediction and training dataset   Q^*(t=t_N) = Q_N:

Exponential Production DeclineHyperbolic Production DeclineHarmonic Production Decline

b=0

0<b<1

b=1

(10) q(t) = \frac{Q_N/\tau_0}{1-\exp(-t_N/\tau_0)}  \cdot \exp(-t/\tau_0)
(11) q(t) = \frac{(1-b) \cdot Q_N/\tau_0}{ 1 - \left( 1 + b \, t_N/\tau_0 \right) ^{-b/(1-b)}} \cdot \frac{1}{\left(1 + b\, t/\tau_0 \right)^{1/b}}
(12) q(t)=\frac{Q_N/\tau_0}{\ln (1+ t_N/\tau_0)} \cdot \frac{1}{1+t/\tau_0}


The best-fit model may not match: 

  • the initial production rate  q^*(t=0) \neq q_0
  • the current production rate  q^*(t=t_N) \neq q_N

Match the value of the current rate and cumulative  q^*(t=t_N) = q_N Q^*(t=t_N) = Q_N



The value of the model rate at the current time moment and decline pace are set to match both current rate 
q^*(t=t_N) = q_N and current cumulative  Q^*(t=t_N) = Q_N.

This makes Exponential Production Decline and Harmonic Production Decline are fully set while Hyperbolic Production Decline has opportunity to vary one model parameter \{ b \} to achieve the best fit to the training dataset.

Exponential Production DeclineHyperbolic Production DeclineHarmonic Production Decline

b=0

0<b<1

b=1

(13) q(t) = \frac{Q_N/\tau_0}{1-\exp(-t_N/\tau_0)}  \cdot \exp(-t/\tau_0)
(14) q(t) = \frac{(1-b) \cdot Q_N/\tau_0}{ 1 - \left( 1 + b \, t_N/\tau_0 \right) ^{-b/(1-b)}} \cdot \frac{1}{\left(1 + b\, t/\tau_0 \right)^{1/b}}
(15) q(t)=\frac{Q_N/\tau_0}{\ln (1+ t_N/\tau_0)} \cdot \frac{1}{1+t/\tau_0}


The best-fit model may not match: 

  • the initial production rate  q^*(t=0) \neq q_0


See Also


Petroleum Industry / Upstream /  Production / Subsurface Production / Field Study & Modelling / Production Analysis / Decline Curve Analysis / DCA Arps @model




  • No labels