What the name means | "Generate an oil production profile based on pre-determined production rates and a decline curve"
| Syntax | ProdProf ( Time, Base, ResvsOrDcRate, FromDates, AnnualRates, DeclinePoint, AbandonRate, [DeclineParam], [DayCount], [Periods], [ProjMode], [PPSwitch] )
| Description | The function generates a complete production profile for an oilfield from the first production, through the plateau period, into the decline and to abandonment. It works by first of all doing a stepped constant rate as production builds up. Production stays at the last Annual Rate until the proportion of reserves depleted equals DeclinePoint. This might typically be 40-60% of reserves. Then the profile goes into decline, and you can choose between exponential decline (the default), harmonic decline or hyperbolic decline where you choose the exponent. The profile automatically completes when the abandonment rate has been reached and there are no more reserves.
| Auto Array Function | This function can be used as an array function as well as a normal function, by pluralising the first variable (in this case Time) to give an answer array. See Array Functions.
| See Also | AbandonDate (ResvsOrDcRate, FromDates, AnnualRates, DeclinePoint, AbandonRate, [DeclineParam], [DayCount], [Periods]) | | Decline (Yrs, ResvsOrDcRate, PlateauRate, AbandonRate, [DeclineParam], [DeclineSwitch])
|
| Variable | Type or Value | Description |
Inputs: (12)
|
1
| Time
| TimePeriod Start
| The Time or Date that signifies the start of a time period. Usually accompanied by Base, the length (months) or end of the time period.
|
2
| Base
| TimePeriod Base
| Either the length of a Time Period, expressed in exact months, or as a date, in which case it is the date of the end of the time period.
|
3
| ResvsOrDcRate
| Float
| Either the Reserves (if>0), or the decline rate (if<0, ie -ve)
|
4
| FromDates
| Range Of Dates
| A range of dates from which a level, rate or threshold applies
|
5
| AnnualRates
| Range of Floats (numbers)
| Either a single AnnualRate or a range of annual rates.
|
6
| DeclinePoint
| Float
| The proportion of reserves depleted when the reservoir goes into decline
|
7
| AbandonRate
| Float
| Abandonment rate, an amount (eg bbl) per year.
|
8
| DeclineParam
| Float (Optional)
| Also know as the parameter 'b': Either 0 or omitted for Exponential Decline, 1 for Harmonic decline, or any other number as the decline exponent in a Hyperbolic Decline
(Optional)
|
9
| DayCount
| Float (Optional)
| Either a single number denoting the DayCount method, or a number in the form ww.ss where ww is the daycount of whole periods and ss applies to stub periods. See Using Daycount.
(Optional)
|
10
| Periods
| Annual Sequence (Optional)
| Either an option number, or a range of floats, describing the accruals periods or the timing of cash payments, in the format mm.dd for payments in advance or -mm.dd for payments in arrears. See Using Daycount
(Optional)
|
11
| ProjMode
| Float (Optional)
| Accruals=0, Cash=1. Has other settings. See detail and the topic Accruals and Cash
(Optional)
|
12
| PPSwitch
| Integer (Optional)
| Production Profile Switch
(Optional)
|
Output:
|
Return Value
| Result
| Float
| The result of the function, expressed as a number.
|
Defaults and Values The variable(s) of this function have certain defaults and/or switch values associated with them. Click here to see more. Type of Value | Value | Description | Detail | Default(s)
| DeclineParam | 0 | Exponential Decline
| | DayCount | 5 | Decimal Year (ACTM/12): ActualMonths / 12
| | Periods | 4 | Calendar quarters (1.01, 4.01, 7.01, 10.01)
| | ProjMode | 0 | Accruals Projection Mode
| | PPSwitch | 0 | Production In Period | Switches
| DeclineParam | Any number other than 0 or 1, as the hyperbolic decline exponent | Hyperbolic Decline
| | | 0 | Exponential Decline
| | | 1 | Harmonic Decline
| | DayCount | 0 | 30/360 BMA (Bond Market Association, formerly the PSA)
| | | 1 | ACT/ACT (365 or 366)
| | | 2 | ACT/360: ActualDaysInPeriod / 360
| | | 3 | ACT/365: ActualDaysInPeriod / 365
| | | 4 | 30E/360: Also known as European 30/360. Standard bond literature definition.
| | | 5 | Decimal Year (ACTM/12): ActualMonths / 12
| | | 6 | ACT/ACT (in period)
| | | 7 | 30/360 BMA (Bond Market Association, formerly the PSA)
| | | 8 | ACT (Non Leap)/365: Same as ACT/365 but ignoring Feb 29
| | | 9 | 30/365: Standard bond literature definition (same as 30/360 but with 365 denominator)
| | | 10 | 30/360 ISDA
| | | 11 | 30/360 ISDA + Feb Adj
| | | 12 | ISDA + Feb EOM Adj
| | | 13 | Brazilian ACTBD/252
| | | -12 | Monthly in arrear, calendar months {1st Jan payment for Dec accrual, Feb 1 payment for Jan accrual etc}
| | | -4 | Quarterly in arrear, calendar quarters (1st April for Jan-March accrual, 1st Jul payment for April-June accrual, etc)
| | | -2 | 6 monthly in arrears (1st Jan payment for Jul-Dec accrual,1st July payment for Jan-June accrual )
| | | -1 | Annually In Arrear 1st Jan payment for Jul-Dec accrual
| | | 1 | Annually, 1st Jan
| | | 2 | 6 monthly (1st Jan, 1st July)
| | | 4 | Calendar quarters (1.01, 4.01, 7.01, 10.01)
| | | 12 | Calendar months {1.01, 1.02 etc}
| | | 13 | Real Estate English Quarter Days:25th March, 24th June, 29th September and 25th December of each year ie {3.25,6.24,9.29,12.25}
| | | 14 | Continuous (could be thought of as daily)
| | ProjMode | 0 | Accruals Projection Mode
| | | 1 | Cash Projection Mode
| | | 2 | Accruals Projection Mode (include last day)
| | | 3 | Cash Projection Mode (include last day)
| | PPSwitch | 0 | Production In Period
| | | 1 | Instantaneous Production Rate at Start of Period
| | | 2 | Instantaneous Production Rate at End of Period
| | | 3 | Decline Rate
| | | 4 | Reserves | Example(s)
| Time | 01/07/2002 |
| | Base | 01/01/2003 |
| | | 12 | |
Range Handling and Constraints This function has range inputs that are subject to range handling procedures to help reduce input errors and increase flexibility and speed. Click here to see more. The variables affected are as follows (in order): Variable | Type of Handling | Explanation | FromDates | Trailing Zero Size (one range) | If this range has trailing zeros, the range will be shortened to last non-zero element. So {0,20,0,30,0,0} would be shortened to {0,20,0,30}. | FromDates | Check Ascending | The dates in this range must (after any previous range-handling adjustments) be in order of ascending date. | FromDates AnnualRates | Date Size | The first (date) range will be shortened to the first non-zero element, eliminating trailing zeros. If the second range is then longer then it will be shortened to the size of the date range. If the second range is shorter it will be padded by zeros. If both the date and the corresponding value are zero at any location in the range, the range is compacted and shortened. | FromDates AnnualRates | Check Same Length | The length of these ranges (after any previous range handling adjustments and including any blanks or zeros) must be the same length or the function will report an error. |
Whats good or unique about it | ProdProf is a very quick way of getting a sensible production profile for an oil or gas field. Just set one or more AnnualRates, decide the DeclinePoint and AbandonRate, use the defaults for most of the others and you have a production profile, that you can run on any timebase (quarterly, annually etc). | Mathematical Formula |  |  |  | Methodology | - ProdProf first of all does a projection based on the AnnualRates you provide (just like an FStep, in fact).
- All the time it is watching out that the depleted reserves to not exceed DeclinePoint.
- Once it gets to the decline point, it looks at the then prevailing annual rate, the abandonment rate and the decline parameter, to establish the style of decline you have specified.
- From then on it works out how much is produced in each of your timeperiods (described by Time and Base) until the reserves are finally depleted.
- The whole process will exactly deplete your Reserves, no more and no less.
| Tip | This decline function calculates the decline factor internally based on the plateau rate, the abandonment rate, and the reserves. To see what decline factor it calculated, use the Trace facility. |
Examples | - Preview of the ProdProf example.
- The above spreadsheet can be accessed from the Quick Reference (on the Business Functions menu), on the Examples menu, or in the Business Functions\Component Examples directory
|
Function Calls This function calls other functions in the Business Functions library. Click here to see more.
|