Forcast Segment Calculation
Segments
Exp Decline
segmentType: “exp_dec”startDate: user-definedendDate: user-defineddiNominal: user-defineddiEff: f_{exp\_D\_to\_dEff}(diNominal)⇨qStart: user-definedqEnd: f_{exp}(qStart,\ diNominal,\ startDate,\ endDate)⇨slope: -1
Exp Incline
segmentType: “exp_dec”startDate: user-definedendDate: user-defineddiNominal: userdiNominalefineddiEff: f_{exp\_D\_to\_diEff}(diNominal)⇨qStart: user-definedqEnd: f_{exp}(qStart,\ diNominal,\ startDate,\ endDate)⇨slope: 1
Arps Decline
segmentType: “arps”diNominal: user-defineddiEff: f_{arps\_D\_to\_diEff}(diNominal,\ b)⇨b: user-definedstartDate: user-definedendDate: user-definedqStart: user-definedqEnd: f_{arps}(qStart,\ diNominal,\ b,\ startDate)⇨slope: -1
Arps Incline
segmentType: “arps”diNominal: user-defineddiEff: f_{arps\_D\_to\_diEff}(diNominal,\ b)⇨b: user-definedstartDate: user-definedendDate: user-definedqStart: user-definedqEnd: f_{arps}(qStart,\ diNominal,\ b,\ startDate)⇨slope: 1
Arps Modified
-
segmentType: ‘arps_modified’ -
startDate: user-defined -
endDate: user-defined -
qStart: user-defined -
qEnd: f_{exp}(qSw,\ diNominalExp,\ startDate,\ endDate)⇨ -
slope: -1 -
diEff: f_{arps\_D\_to\_diEff}(diNominal,\ b)⇨ -
diNominal: user-defined -
b: user-defined -
targetDSwEffSec: user-defined -
realizedDSwEffSec: diNominalExpEff -
swDate: f_{get\_sw\_date}(startDate,\ b,\ diNominal,\ targetDSwEffSec)⇨ -
qSw: f_{arps}(qStart,\ diNominal,\ b,\ startDate,\ swDate)⇨ -
diNominalExp: f_{get\_D\_exp\_arps\_modified}(startDate, b, diNominal, realizedDSwEffSec)⇨ -
diNominalExpEff: f_{exp\_D\_to\_Dieff}(diNominalExp)⇨
Linear
segmentType: linearslope: user-definedk: user-defined
Flat
segmentType: flatslope: 0c: user-defined
Functions
Predict Exponential
f_{exp}(q_{start},\ D_{exp},\ t_{start},\ t)=q_{start}e^{-D_{exp}\left(t-t_{start}\right)}
Exp D to D Effective
f_{exp\_D\_to\_diEff}(D)=1-e^{-365.25D\ }
Predict Arps
f_{arps}(q_{start},\ D,\ b,\ t_{start},\ t)=\frac{q_{start}}{\left(1+Db\left(t-t_{start}\right)\right)^{\frac{1}{b}}}
Arps D to D Effective
f_{arps\_D\_to\_diEff}(D,\ b)=1-(1+365.25Db)^{-\frac{1}{b}}
Get Switch Index
f_{get\_sw\_date}(t_{start},\ b,\ D,\ D_{target\_eff\_sw})=\begin{cases}D_{target\_eff\_sw} = 0 & t_{start} + 300000 \\ f_{exp\_D\_from\_Dieff}(D_{target\_eff\_sw}) >= D & t_{start} \\ f_{exp\_D\_from\_Dieff}(D_{target\_eff\_sw}) >= D & f_{arps\_get\_date\_from\_D\_new}(t_{start}, D,\ D_{new},\ b) \\ \end{cases}
Get D (Exponential Portion) for Modified Arps
f_{get\_D\_exp\_arps\_modified}(t_{start},\ b,\ D,\ D_{target\_eff\_sw})=\begin{cases}D_{target\_eff\_sw} = 0 & 0 \\ f_{exp\_D\_from\_Deff}(D_{target\_eff\_sw}) >= D & D \\ f_{exp\_D\_from\_Deff}(D_{target\_eff\_sw}) < D & f_{exp\_D\_from\_Deff}(D_{target\_eff\_sw}) \\ \end{cases}
Get index from new D (Arps)
f_{arps\_get\_date\_from\_D\_new}(t_{start}, D,\ D_{new},\ b)=\frac{(\frac{D}{D_{new}})-1}{bD}t_{start}
Exp D Nominal From D Effective
f_{exp\_D\_from\_Dieff}(Di_{eff})=-\frac{\ln(1-Di_{eff})}{365.25}
Predict linear
f_{linear}(t,\ slope,\ k)=slope * t + k
Predict flat
f_{linear}(t,\ slope,\ k)=slope * t + k
Example: Recalculate qStart and diNominal Parameters for Arps Model for Change in startDate
Given an Arps Segment with the parameters q_{start} D b and t_{start}. Calculate a new q_{start'} and D' when t_{start} is changed to t_{start'} such that:
f_{arps}(q_{start},\ D,\ b,\ t_{start}, t) = f_{arps}(q_{start'},\ D',\ b,\ t_{start'}, t)
Calculating a q_{start'} is simple since it’s just substituting t_{start'} for t in the original arps prediction function.
\boxed{q_{start'} = f_{arps}(q_{start},\ D,\ b,\ t_{start'}, t)}
Calculating D' is more involved since changing D changes the vertical asymptote of the arps equation. To set the above equations equal to each other the following limits must be set equal to each other.
f_{-1arps}(q_{start},\ D,\ b,\ t_{start}, t) = f_{-1arps}(q_{start'},\ D',\ b,\ t_{start'}, t)
f_{arps}(q_{start},\ D,\ b,\ t_{start}, Q) = f_{arps}(q_{start'},\ D',\ b,\ t_{start'}, Q)
lim_{Q\to\infty} \frac{q_{start'}}{\left(1+D'b\left(Q-t_{start'}\right)\right)^{\frac{1}{b}}} = lim_{Q\to\infty}\frac{q_{start}}{\left(1+Db\left(Q-t_{start}\right)\right)^{\frac{1}{b}}}
\frac{-1}{bD'} + t_{start'} = \frac{-1}{bD} + t_{start}
\boxed{D' = \frac{D}{1-bD(t_{start}-t_{start'})}}