Sie sind auf Seite 1von 123

PHDWin Version 2.

8
Cash Formulas
User Training Course

Table of Contents
TABLE OF CONTENTS.............................................................2 CHAPTER 1 WHAT ARE CASH FORMULAS?.............................4 CHAPTER 2 OVERVIEW........................................................5 CHAPTER 3 THE CASH FORMULA WINDOW............................7 CASH TEMPLATES DROP-DOWN LIST............................................................9 FORMULAS TAB........................................................................................9 STATIC VARIABLES TAB............................................................................11 PIE CHART DISPLAY TAB..........................................................................14 CASH FORMULA BUTTONS........................................................................16 DEFAULT BUTTONS.................................................................................16 VALIDATE AND VIEW BUTTONS..................................................................17 CHAPTER 4 THE CASH FORMULA SETUP AND PROPERTIES WINDOW............................................................................19 FIND/SEARCH KEYWORD..........................................................................20 TOKEN DESCRIPTION BOX .......................................................................20 TABS ON THE CASH FORMULAS PROPERTIES WINDOW...................................21 BEHAVIOR TAB.......................................................................................22 Operators .......................................................................................24 Syntax Coloring for Cash Formulas & Cash Formulas in System Preferences ....................................................................................25 CASH FLOW TAB....................................................................................27 PIE CHART DISPLAY TAB (DEPENDS ON REPORTING AS AN ECO INDICATOR OR TRACK CUM).........................................................................................31 SAVE AND CANCEL BUTTONS....................................................................32 CHAPTER 5 STATIC VARIABLES...........................................33 LOCATION.............................................................................................33 CREATING.............................................................................................33 EDITING................................................................................................38 Edit static variable names and values........................................38 Mass Edit static variable values..................................................39 EXAMPLES.............................................................................................42 Royalty Example...........................................................................43 Ownership Reversion Example.....................................................44
Page | 2

CHAPTER 6 FORMULAS......................................................45 LOCATION.............................................................................................45 CREATING.............................................................................................45 DEFAULT FORMULAS...............................................................................47 EDITING/COPYING...................................................................................48 EVALUATION ORDER...............................................................................51 EXAMPLES.............................................................................................53 Royalty Example...........................................................................53 Ownership Reversion Example.....................................................56 CHAPTER 7 CASH TEMPLATES............................................59 LOCATION.............................................................................................59 CREATING.............................................................................................59 EDITING/COPYING...................................................................................60 CASH ELEMENTS....................................................................................62 TEMPLATES AND THE MODELS MAINTENANCE EDITOR...................................62 EXAMPLES.............................................................................................63 Royalty Example...........................................................................63 Ownership Reversion Example.....................................................64 CHAPTER 8 CASH FORMULA VIEWS.....................................66 CASH FORMULA VIEWS FROM THE REPORTS AND VIEWS WINDOW...................66 To create a custom view:................................................................67 CASH FORMULA VIEWS FROM THE CASH FORMULAS WINDOW.........................69 CHAPTER 9 CONCLUSION...................................................72 APPENDIX A HELPFUL, SUPPLEMENTARY DOCUMENTS.........73 DOCUMENTS LIST...................................................................................73 DOCUMENTS..........................................................................................74 Cash Element Descriptions.............................................................74 UK Shared Asset PSC model...........................................................94

Page | 3

Chapter 1 What are Cash Formulas?

What are Cash Formulas?


Cash Formulas are user created formulas that access internally generated economic values to make decisions or affect the economic calculation of a case. These formulas can be created using conditional stream arithmetic. Cash formulas are case specific and can be different on every case. Cash formulas have access to the same global capabilities that exist throughout PHDWin. Thus, Cash Formula (Models) Templates can be defined and applied to many cases at once. These Cash Templates can also be accessed in different databases or even future projects.

What are they used for?


Cash Formulas can be used for a diverse number of purposes. These purposes include domestic conditional tax laws, ownership reversion timing, economic concepts (Tax Loss carry Forward, Custom depreciation, R factors, etc), and International PSCs. Cash Formulas offer a large degree of flexibility that allows the user to have more control to model very specific economic calculations.

How do they work?


Cash Formulas access internally generated economic streams used by PHDWin to calculate economics (Each economic stream will be represented by a token in this manual). Cash Formulas use Excellike syntax, the economic tokens, and user-defined static variables in building equations. Formulas can be referenced in other formulas and each formula can even refer to a value from a previous time. The formulas do not support circular or convergent calculations. The formula values can either trigger an event or contribute to the final economic calculations of a case in PHDWin.
Page | 4

Chapter 2 Overview
In order to understand and be able to use Cash Formulas, it is important to comprehend the different elements that make up the Cash Formula feature in PHDWin Version 2.8. These elements include:
Static Variables Formulas o o o Pre-Defined Economic Variables Pre-Defined Functions Cash Flow Properties

Templates

Static Variables User-defined variables that are created on a case or global basis (Note, static variables can be defined and stored at case, template or global levels). The values of the variables remain constant for the entire life of the project. Each Static Variable name is treated like an ID Code in PHDWin. This implies that while the Static Variable name must be the same on every case, the actual value can be unique on each case. It is also important to remember that altering the cash formula name anywhere in the program, changes that name everywhere that it is referenced throughout the database. Formulas User-defined equations that can ultimately affect economics and the economic timing, when used alone or packaged with many formulas. Each Cash Formula name is treated like a Product name in PHDWin. This implies that while the Cash Formula name must be the same on every case, the actual formula can be unique on each case. It is also important to remember that editing the cash formula name anywhere in the program, changes that name everywhere that it is referenced throughout the database. Pre-Defined Economic Variables Internally generated economic streams that can be accessed in formulas. The available tokens are defined in PHDWin. Both Net and Gross values are available, along with a few other Miscellaneous
Page | 5

tokens, such as depth and ownership interests. A search function is available for quickly finding a specific token. Users can also sort the tokens by Type or Product Name (i.e., Formula Name). Pre-Defined Functions A list of pre-defined functions that are available for use in Cash Formulas. The complete list of functions can be found in the window of every cash formula. These pre-defined functions include the If(condition, true, false) statement, Min and Max functions, etc. Cash Flow Properties Economic properties that affect the calculation of the formula, controls where the formula is reported and sets reporting options for Cash Formula Views. Templates A group of formulas that work together, in order to accomplish an economic task. Cash Templates work in the same manner that Models work for Prices/Expenses/Taxes/etc in the Case Editor. Therefore, after one or more formulas and static variables are created on a case, a user can group the formula and static variable components together and give the formulas one name. This Template name (and group of formulas) can then be referenced by other cases or projects, and be used to affect their economics as well.

Page | 6

Chapter 3 The Cash Formula Window


The Main Cash Formula window is comprised of three primary data tabs - the Formulas tab, the Static Variables tab and the Pie Chart Display. These are outlined in blue in Figure 3.a and expanded in Figure 3.c. The other two important areas on the Cash Formula window are the Cash Templates drop-down selection list and the buttons area. The Cash Templates drop-down list is outlined in red Figure 3.a and is expanded in Figure 3.b. The buttons area is outlined in green in the figure below, and is expanded in Figure 3.h.

Page | 7

Figure 3.a Main Cash Formula Window

Page | 8

Cash Templates Drop-down List

Figure 3.b Cash Templates drop-down list The Cash Templates drop-down list has two intended functions. The first is to allow the user to choose a pre-created cash template to apply to the active case. The second feature displays the active template on the case. When the template selected is None, it means that the formulas on the case do not currently belong to a template. We refer to these formulas as being Local. It is important to remember that cash formulas can only be edited when there is no template applied, implying the cash formulas are local. Thus users can only edit the cash formulas when None is selected.

Formulas tab

Figure 3.c Formulas tab, from Main Cash Formula window


Page | 9

The Formulas tab displays the formulas that exist on the case. From Figure 3.c above, you can see that the formulas are grouped together according to how they are treated in economics and reported to the output database file and thus output reports. The report as type will be discussed further in the Cash Formulas Properties section, in chapter 4. Along the top of the Formulas tab, there are a couple tools to be aware of. In the upper left corner of the Formulas tab, you can find the Expand All and Contract All report categories buttons. Each button will simply expand/contract the formula names and the equation that makes up each cash formula, for all report categories. In the upper right corner of the Formulas tab, you can view the Expense and Investment Inflation models that are applied to the case. The Inflation models that are displayed were selected in the lower left corners of the Case Editor Expense tab and the Investment tab, respectively.

Page | 10

Static Variables tab

Figure 3.d Static Variables tab, from Main Cash Formula window Static Variables are user-created variables that have one consistent value for the entire life of the case. There are many situations, such as PSCs or tax regimes, where static variables become very useful. One such instance is when your formulas must use a distinct constant value in several locations. Here you would use a static variable. The benefit is that now, rather than having to change the value in several places, the user can go to one central location and change the value, which will be updated everywhere that variable is referenced. Both Static Variables and Cash Templates work similarly to Models in this regard. Beyond the basic characteristics of a static variable, there are three static variable classifications and each has its own properties. The
Page | 11

three static variable classifications are Global, Template, and Case level. Global Level Static Variables defined to be Global, have one unique value for every case throughout the project. The value and name of this variable can only be edited in one location. This is from the Project Properties window. In the File | Project Properties | Global Static Variables tab, users can access, edit, add, delete, and even find unused Global variables that exist within the project. Allowing Global Static Variables to be edited only in Projects Properties is designed to reinforce the concept that these values are constant for ALL cases in the database. For more information on this variable level and its properties, see chapter 6. Template Level Static Variables that exist at the template level can only be defined when creating or replacing a Cash Template. Variables that exist at this level first were created as Case level static variables. When a Cash Template is defined on a single case, all of the case level static variables that had a populated value are defined to be Template level variables. This implies that anytime a template is applied to a case, the default value will be the value of the variable when that template was defined. Template variables can never be edited at the template level. The user must overwrite one or all template values by 1) bringing the template local 2) redefining one or more static variable on the case or 3) saving over the existing template. After Template Static Variables are redefined, other cases referencing the changed template should be checked. Conflicts between static variables inherited from the template and case specific static variables can easily be induced. Case Level Case level static variables are the most basic and powerful type of static variable. While the template level is a higher placed variable, the Case level values are used preferentially when both exist. Thus, on a single case, a static variable can be listed twice with two unique values. When this occurs, the Case Level value is always used for determining the value of a formula.

Page | 12

Figure 3.e Static Variables precedence hierarchy

Page | 13

Pie Chart Display tab

Figure 3.f Pie Chart Display tab, from Main Cash Formula window The Pie Chart Display tab is useful in the quality control check of any PSC or model that represents a companys take. This tab has the ability to present an exploding or normal pie chart that represents Cumulative formulas that the user created and defined. Formulas that are defined to be displayed in the pie chart can still be referenced in other formulas. When a case has at least one formula defined to display in the pie chart, the Pie Chart Display tab includes a few buttons that can be helpful.

Page | 14

Figure 3.g Alternate Pie Chart Display buttons i. Display Value/Display Percent The Display Value/Display Percent button changes the formula labels to display the value (in the applicable currency) of each item, or their percent of the total. The button display will represent the display not currently shown (i.e., if percents are displayed in the pie chart, the Display Value button will be active and vice-versa). Legend/Labels The Legend/Labels button switches between displaying the formulas and the colors they represent using a Legends format or a Labels and pointer format. As with the Display Value/Display Percent buttons, the Legend/Labels button swaps dependent on what is currently displayed on the screen. The colors used in the Legend and on the graph, are dependent on the color that is assigned to it. These properties will be discussed more in chapter 4. Print The print button simply sends the Pie chart image to the printer that is specified through PHDWin. The image that is printed includes everything that is in the white box, in Figure 3.f. Copy to Clipboard The Copy to Clipboard button copies the entire pie chart image, including the titles, labels and the percentages of each formula or the legend, and places it on the Clipboard. This image can then be copied into any program that allows items to be copied from the Windows Paste feature. Refresh The Refresh button simply refreshes the view of the pie chart. The program checks the data and confirms that the most recently compiled values are being used in the display for the pie chart cumulative formulas.

ii.

iii.

iv.

v.

Page | 15

Cash Formula buttons


The Cash Formula buttons exist only when the Formulas tab is selected on the Main cash formulas window. From Figures 3.h and 3.i, you can see that some buttons are grayed out or non-visible, depending on how many formulas exist on the case and whether or not a Cash Template is actively applied to the case.

Figure 3.h Cash Formula buttons; No formulas exist on case

Default Buttons
The default cash formula buttons are always visible when you are standing on the Formulas tab. The Default formula buttons will be discussed in more detail in chapter 6. Add The Add button opens the input window to create or choose an existing formula name, to be added to the case. Active When: Formulas and templates do not exist on the active case; Formulas exist on a Local level. Edit The Edit button opens the selected formula to allow editing of the formula, its (economic and cash formula view) properties, and its pie chart display (if applicable). Active When: Formulas exist on a Local level. Delete The Delete button will remove the formula from the case and its formula list. Users are prompted again, to confirm the delete. This button behaves the same as dragging a formula into the trash can. Once the formula has been deleted, there is no way to recover the formula without re-creating it from scratch. Active When: Formulas exist on a Local level. Print The Print button prints all formulas available on the case. The printout also includes the active case name, the location of the file, the sort and filter applied to the project, the print date

Page | 16

and time, and all static variables (grouped by variable level). Active When: Always. Create Template/Bring Local The Create Template/Bring Local button either opens the input window for creating a new/replacing an existing cash template or the button brings the applied cash template local. When formulas are local, they are eligible for adding, editing and deleting. To add to/edit a template, users must first bring the template local. Make their changes and then recreate the template. Active When: Always. Evaluation Order The Evaluation Order button is an extremely important, but often forgotten button. The button allows the user to control the order in which the cash formulas are evaluated. More details will be provided on this feature in chapter 6. Active When: Always. Rename The Rename button allows a formula name to be changed. It is important to remember that formula names are treated exactly as product names in PHDWin. This implies that if you alter a formula name on one case that change is going to be reflected on all cases that locally contain that formula. Active When: Formulas exist on a Local level. Trash Can The trash can is not a button, but rather a dispensary for unwanted formulas. Much like the trash can located on the case list of PHDWin, local formulas can be dragged and dropped in the trash can. Users are prompted, to confirm the delete. Once a formula has been deleted, it cannot be retrieved, unless created from scratch. This item serves as an alternative to clicking the Delete button. Active When: Always.

Validate and View Buttons


The remaining four buttons located at the bottom of the Formulas tab, are used primarily for quality control checks of the formulas/template and to provide formula specific output values for client reports. The
Page | 17

basic actions of the buttons are described below. For a more detailed explanation of Cash Formula Views, see chapter 9.

Figure 3.i Cash Formula buttons when a formula exists on a case Validate The Validate button is visible and active as long as one or more formulas/templates exist on the case. The Validate button accesses a window that allows the user to see any internally detected errors in the cash formulas. Normally these errors include missing product names or investment categories. When the program recognizes an error with a formula name, a red warning is posted above the buttons. This warning can be seen in Figure 3.i. Launch View The Launch View button automatically launches the report view associated with the active case. If no specific view has been associated with the case, then the view contains the first twelve (12) formulas values from the as of date to the economic limit date. Associate View The Associate View button opens the dialogue box that allows the user to choose a pre-existing cash formula view or create a new view. Here, the user can also quickly flip back and forth between reporting monthly or annual economics. Edit View The Edit View button opens the Report properties window for the associated cash formula view. Here, users can choose the columns to be reported, the order they appear, and can add any desired tables to the PHDWinOut.mdb file.

Page | 18

Chapter 4 The Cash Formula Setup and Properties Window


The Cash Formulas Properties window is the central input location for cash formulas. Virtually all economic and cash formula view properties pertaining to a specific cash formula can be modified through this window.

Figure 4.a Cash Formulas Properties window, Behavior tab The Cash Formula Properties Window is divisionalized by two (2) and sometimes three (3) tabs. The two standard tabs that always exist are
Page | 19

the Behavior and the Cash Flow tab. The optional third tab is the Pie Chart Display tab. This tab is only available when the formula is set to Track Cum or Eco Indicator. Before we begin the explanation of these tabs, it is important to note the other two features available at the top of the Properties window. Both of these features play a key role in supporting the user to find the appropriate cash formula token.

Find/Search Keyword
As this manual has mentioned before, Cash Formula tokens are the provided data elements that PHDWin allows the user to access, in order to calculate their economic model. With over 100 provided tokens along with the ability to create an infinite number of static variables and formulas, it can be difficult for anyone to find the single, unique token they are looking for. Therefore, in the upper left corner of the Properties window, users will discover a Find/Search Keyword input. Here, users can input any term or terms that describe a product or token. PHDWin then does a default search of every tokens name. When the first name that includes the keyword(s) is found, that token is automatically picked from the list and highlighted for the user to see. Clicking Find again, will search for the next instance of the keyword(s). This process can be continued forever, because eventually the program will restart at the beginning of the list. It will continue to loop through the entire list if Find is clicked repetitively. Users also have the ability to search the description of the token and its value. This option is controlled through clicking on and off the Include full descr. In search located just below the keyword input box.

Token Description box


A description of the current token selected is provided in the upper right corner of the Properties window. This description is provided by PHDWin and describes the value of the token and what affects the value. For example, the token {Gas(Price)}, has the description notes that the price refers to the current period only and that the price used is the final resolved price (i.e., after differentials, escalations and Btu factors).

Page | 20

Tabs on the Cash Formulas Properties window


Besides the Find Keyword search engine and the token description box, the Properties window consists of three tabs. These three tabs control the formula itself, the economic properties, the view properties and potentially the pie chart properties. The three tabs that make up the properties window are:
Behavior tab The behavior tab contains the actual formula string being calculated for the value of the formula. This tab also includes the list of tokens available and the list of supported functions available. Cash Flow tab The cash flow tab contains the economic and display properties for the particular formula. This tab also specifies how the formula is reported into the economics and where it is displayed in report outputs. Pie Chart Display tab (optional) The pie chart display tab is an optional tab that does not always exist. This tab will only exist when the formula is defined as a cumulative formula (or a running sum formula) or the formula is defined as an Eco Indicator. The tab allows users to specify if the formula contributes to the case pie chart and if so, what color the formula represents in the pie chart and whether or not the slice explodes from the chart.

Page | 21

Figure 4.b Behavior tab, located on the Cash Formula Properties window

Behavior tab
The behavior tab defines the value, or behavior of a formula. There are three important areas on the Behavior tab that are helpful to be aware of. The first is the Variables/Functions lists that provide all of the available variables and functions that are available for building cash formulas.
Formula Variables tab The formula variables are the complete list of available tokens for use in cash formulas. By default, the variables are sorted based on their type. By Type, PHDWin refers to groupings by Gross, Net, values that run into the future (Rates), static variables, provided dates, etc. Users also have the option to sort the variables on a Product basis. As this manual has mentioned before, cash formula names are treated as products. Thus, when the user chooses to order the formula variables by Product, each formula and product name is listed in their own group. Underneath each product name (defined in the Products Tree), you will find sub-groupings similar to those seen when sorted by type. This makes it easier to find the Page | 22

specific token you are looking for. Underneath each cash formula name, you will find the Prior sub-grouping. Using this token pulls the calculated value of the formula from that last period (in most cases, this will be the value from last month). As noted earlier, users can also find a product by searching for it in the upper left corner of the cash formula properties window. Formula Functions tab The formula functions contains a comprehensive list of all available functions and function components that are available for use in cash formulas. Many of the functions found in PHDWin, are similar to those offered in Excel. The Product/Type order option is not valid for functions and therefore has no effect on their display in the list. As with the formula variables, selecting a function will display important information about the function in the upper right corner of the properties window. This information will include directions for the input of parameters to use in any one function and it also defines the value that the function returns.

The final component of the Behavior tab is the Formula String input box. The formula string ultimately defines how the formula behaves. The formula string will consist of user-ordered functions and variables (tokens) that accomplish a specific task. The functions/variables can be added to the formula string box in one of three manners. The three input methods are described below:
Manual typing input This method implies that the user is familiar with the tokens and/or functions. Therefore, the user can begin typing the formula directly into the input box. Initially, when inputting your formula, the text will be non-bold and black. As soon as a function is recognized or a variable is enclosed in the brackets, then PHDWin automatically converts the text to be bold and colored. For example, in Figure 4.c you can see both a function and a static variable that have not been entered correctly. But as soon as the syntax is corrected or completed, PHDWin recognizes the variable/function, as Figure 4.d shows.

Figure 4.c Invalid Syntax, in a cash formula string

Page | 23

In Figure 4.c above, you can see that the Month(Date) function is not recognized by PHDWin. This is because the first parenthesis after the word Month is separated by a space. In Figure 4.d, you can see that Month({AsOf}) is blue, implying that the function is now input correctly and will return the value of the function. You will also notice in Figure 4.c that the static variable, StaticVarAmt1 is colored black. From the screen shot, you can see that the 1 is missing from the name. Thus, PHDWin does not recognize the value and will treat the text value as 0. But in Figure 4.d, we included the 1 within the brackets {}, allowing PHDWin to read and define (by coloring the accepted static variable brown) a variable that it recognizes.

Figure 4.d Valid Syntax, corrected from Figure 4.c

Drag and drop Another method to add to the formula string, involves dragging the desired item and dropping that item in the proper location. This method (as well as the double-click method) are helpful, because the entire variable name or function is added to your formula string. This prevents any errors dealing with missing syntax. Double-click The final method for adding variables/functions available to users of cash formulas is to first position your cursor in the location of the formula string that you would like to add the item. After finding the item in the list, users may simply doubleclick that item, and it will automatically be inserted into the string in the last position of the cursor (in the formula string).

The three methods above can be used interchangeably and have no bearing on how the formula is calculated. After building a few formulas, users will determine the method that works best for them. Operators It is important to note that Operators are not listed in the functions or variables list, but can be used in formula strings. Several of the common operators are supported by multiple

Page | 24

inputs. See the list below for the different representations of each operator: Operator Name Addition Subtraction Multiplication Division Exponential Modulus division Negative Value Greater than Less than Equal To Note Equal to Inputs accepted + *, x, X / ^ % (-) > < = <> Example syntax A+B A-B A*B, A x B, A X B A/B A^B A%B (-A) A>B A<B A=B A <> B A >= B A <= B

Greater than or equal >= to Less than or equal to <=

Table 4.a Supported Operators in cash formulas (Assume A & B represent terms in an equation) Syntax Coloring for Cash Formulas & Cash Formulas in System Preferences The syntax for both Cash formulas (being referenced in another formula) and static variables appear very similar. Both of the items are evaluated, as soon as brackets {} are input around the name of the formula or static variable. For example, suppose I have a pre-created cash formula called CashForm1 and a static variable named StatVar1. These two names will not be recognized by a formula, until they are surrounded by brackets;
Page | 25

{CashForm1} and {StatVar1}. Thus, distinguishing static variables from cash formulas can be quite difficult. For that reason, PHDWin characterizes the different components by colors. To set the colors, first close the project you are working on in PHDWin. Now, go to File | System Preferences and click on the Cash Form. Colors tab.

Figure 4.e Syntax Coloring located in System Preferences In Figure 4.e, you can see the default defined colors that will represent formula variables (tokens), static variables, and functions & operators. Under the Products and Variables section, there are a list of several types of variables. We have already discussed what static variables are. The other variable types represent what a variable or product is defined as. For example, the Gas price token would be considered a Revenue variable, and thus would be colored green. However, the Gas Op cost token will be red, because it is an expense. These color
Page | 26

representations make it much easier to differentiate between variables.

Cash Flow tab


The Cash Flow tab from cash formula properties controls the economic aspect of the cash formula. Along with defining where the formula is used in economics (and thus displayed in reports) users can also control the display properties for cash formula view reports. Cash Formula views are essentially custom reports based on cash formulas. The Cash Formula View (or Dynamic View) is a user-defined report that allows the user to choose up to 12 formulas to display on a monthly or annual basis. These views are used for debugging or in presentations, to show that value of a formula over time. Cash Formula Views will be discussed more in chapter 8.

Figure 4.f Cash Flow tab, from Cash Formula Properties window The Cash Flow tab is split up into three and sometimes four pieces. Each of these pieces has a different function. The fourth possible section is defined when the formula is to be reported as Track Cum.
Page | 27

Report As The Report As section lists the possible granularity that can be defined for a cash formula. Formulas reported i as Reference have no direct affect on economics and are not reported. Track Cum formulas keep the cumulative amount of the previous formula values (i.e., running sum). This type of formula is not reported or used in economics either. The other formula types do affect the economic calculations within PHDWin and are also reported. For example, formulas defined to report as State Tax, will be treated as a Severance tax in economic calculations. This formula will also be reported into the Net Tax Production column. Calculation Properties The Calculation Properties section has a number of features. The two defaults are turning the formula On and Off, and summing within months. The non-default options are dependent on what Report As type is chosen for the formula. Cash Flow On Turns the Cash Formula on or off. When the box is checked, the Cash Formula will run and affect economics according to the properties that have been chosen, as well as the formula that was written. When the formula is turned off, all formulas that have a reference to the turned off formula will be treated as zero for calculations. Sum Within Months The Sum Within Months checkbox is an important option for Reference and Track Cum formulas. In PHDWin, it is possible for a month to be parsed into two or more separate pieces (due to an investment or some other event occurring during the month). Thus, depending on the result of your formula, you will turn this option on or off. Essentially, this option notifies the formula to sum up the monthly pieces or to use only the last occurring pieces. For guidance on when to have the option turned on or off: Values that can accumulate, such as volumes, revenues, expenses, etc should always be summed within months. Values that represent rates or Cumulative totals, such as royalty factors, interest rates, etc, should never be summed within months. Custom Interest The Custom Interest checkbox and input box allows a user to specify the interest rate used to net down the formula value. When the property is turned on, the user will enter the desired rate to be used in economic calculations and in reports. When the property is turned off, the default interest Page | 28

rate will be used. The default interest rate that will be used is noted in the lower left corner (see Figure 4.g), for formulas that do affect economics.

Figure 4.g Displays Interest rate applied, in lower right corner of the Cash Flow tab Affect Economic Limit The Affect Economic Limit checkbox notifies PHDWin whether or not to use the formula value in determining the economic limit date of the case. If this checkbox is off, the formula value is still calculated and used in reporting, but the value is not added or subtracted from the Income calculation that determines the date of the economic limit. Honor Exp Inflation Checking on the Honor Exp (Expense) Inflation checkbox, enables the formula value to be inflated by the model specified in the lower right corner of the Case Editor, Expense tab. Leaving the box unchecked will not affect the formula value. Escalation Model The Escalation Model checkbox and drop down list allows the user to escalate a formula value defined to report as an Expense type. Any escalation model that has already been created will be eligible to be chosen to be applied against the formula value. Calculate using WI Turning on the Calculate using WI (Working Interest) checkbox, forces the formula value to be netted down by the Working Interest, rather than the revenue interest. This option will only be available for formulas defined to report as Royalty, State Taxes and Local Taxes. Years Past ECL The Years Past ECL input box is intended to be used with formulas reported as either a tax or an investment. Inputting a year amount (partial and whole years accepted), allows the formula to continue running after the cases ECL has been determined. The formula is allowed to continue calculating and contributing to group economics or its individual annual cash flow. This input is basically a positive offset past the ECL.

Page | 29

Honor Inv Inflation Checking on the Honor Inv (Investment) Inflation checkbox, enables the formula value to be inflated by the model specified in the lower right corner of the Case Editor, Investment tab. Leaving the box unchecked will not affect the formula value. Inv Category The investment category drop-down box is only valid when the formula is being reported as a Tangible or Intangible investment. The drop-down box allows the user to define the investment category that is linked to the formula value. The investment category chosen keeps the same properties as investments created in the normal fashion. For example, formulas defined to be Abandonment or Salvage investments can occur after the ECL has been determined. Display Properties (for Cash Formula Views) These display properties are only reflective of the Cash Formula View reports. These properties have absolutely no bearing on normal reports nor does it affect the internal treatment of the formula for economics. Sum Across Cases When checked, this property forces the value of the cash formula to be summed in the Totals and Subtotals of all cases, for multi-case Cash Formula View runs. When unchecked, if there are multiple cases being run, this value will be zero in the Total and Subtotals of the cases. Annual Sum If displaying monthly values in the Cash Formula view, then this property is disregarded. However, if you display the View as Annual numbers, then this specifies whether to add all the values from the months in that year, or whether to only display the last months value. When this option is unchecked, the Total of the formula uses the last months calculated value. Suppose the cash formula is a switch where the value is 1 if we reach a certain rate, otherwise it is 0. In this case, you will have Annual Sum unchecked. You will also have the box unchecked if the cash formula is a rate. When your formula is a volume, expense, tax, etc, then you will have this property turned on. Convert as Currency When turned on, the value is converted from the case currency to the report currency. If the report currency is the base currency, then no conversion is made to the formula value. When the report currency is in thousands of dollars, then the formula value will be divided by 1000.

Page | 30

Show Net Value When this property is unchecked, the Gross (8/8ths) value is displayed. When it is checked on, the formula value is netted down by the Interest that you choose (either Working Interest or Revenue Interest). For non-reference formulas the interest rate that will be used is specified in the lower right corner. This rate will either be the Working interest, the Revenue interest or a Custom interest.

Figure 4.h Optional fourth area of the Cash Flow tab Cum Balance M$ -- The Cum Balance section is only available when a formula is reported to Track Cum. The Cum Balance input allows the user to input a dollar amount (in thousands of dollars) that is added to the formula on the date specified. (Note, it is suggested that users use static variables and force the addition to the pool in the formula. That way, the balance is editable without having to open the formula). The Track Cum report as option has one additional special feature: The cash formula is eligible to be used as a date trigger. This implies that when setting up an event, such as a reversion, the user can specify this cash formula to make the reversion occur. Based on the criteria of the date change, you can make the formula add a specified value when the change occurs. Then enter that same value as the Reversion Value.

Pie Chart Display tab (Depends on reporting as an Eco Indicator or Track Cum)
The Pie Chart Display tab from the cash formula properties window is an optional tab that is only visible when the formula is being reported as an Eco Indicator or as Track Cum. On this tab, users can define the formula to be a part of the pie chart or the total of the pie chart. Additionally, users can set the color that will represent the formula in the pie chart and also define the pie slice to explode. Exploding pie slices basically jump out of the pie chart. These slices are above the pie chart and are usually easier to recognize.

Page | 31

Figure 4.i Pie Chart Display tab from the cash formula properties window

Save and Cancel buttons


In the bottom right corner of the properties window, users will always find the Save and Cancel buttons. These buttons either save the changes you have made to the formula string or properties (Save button), or they exit the properties window without making any changes (Cancel button).

Page | 32

Chapter 5 Static Variables


As mentioned earlier, static variables are user-created variables that keep a single, constant value throughout time. When a static variable is added to one case, that same variable name is now available on all cases (static variables work much like id codes, in this manner). Static variables can be created as Numeric only or Date only. Examples of common static variables are tranche rates, income tax rates, tranche parameters, etc. Static Variables can be referenced by multiple formulas, in multiple places. We have discussed the three types of static variables, Case Level, Global Level and Template Level. Variables can only be created and edited as Case level or Global Level. Variables can be defined as Template level, but cannot be created or edited at this level.

Location
Static Variables are found in two locations in PHDWin. The first is in the main Cash Formula window and the second is in Project Properties.
Case Level or Template Level static variables -- In order to view/edit the case and template level variables, go to Editor | Cash Formulas, then click on the Static Variables tab. Global static variables can also be exclusively viewed in this window. Global Level static variables The Global Static Variables can be edited/viewed/deleted by going to File | Project Properties. Then click on the Global Static Variables tab.

Creating
Static Variables can be created in several locations. In many places, all variables start as case level variables and then are either defined to be template level or global level.
Create Case & Global variables in formula strings The first method of creating static variables, involves creating the variable while inputting a formula string. To create a static variable in the formula string, begin by typing an open Bracket, {. Following the bracket, you will enter the name of the static variable (no more than 15 characters long). Finally, you will end the static variable by enclosing the name in brackets. When the formula is saved, PHDWin will open a prompt Page | 33

window (see Figure 5.a), to determine how to handle the new variable. In this prompt box, users can choose to create the variable as a Case level static variable, a Global level static variable, a new undefined cash formula, or a volume based product. If the number of characters in the variable is greater than 15, then the Case and Global level static variables will be grayed out and unavailable.

Figure 5.a Creating variables through a formula string

Page | 34

Create Case variables the Cash Formula window Case level variables can be created through the main Cash Formula window. Creating the variables here, allows the variable to be used on any formula that exists on the case. To create a new variable, go to Editor | Cash Formulas. Next, click on the Static Variables tab. In the lower left corner, click the Insert button. A prompt window will then open.

Figure 5.b Create Static Variables, most common method

Enter the new static variable name and choose the type. Finally click ok. The case level static variable will be added to the case level list.

Create Global variables through Project Properties In the previous methods of creating static variables, we built case level variables. The final method for creating static variables involves creating brand new variables that are initially defined at the global level. In order to create this type of variable, go to File | Project Properties. Next, click on the Global Static Variables tab.

Page | 35

Figure 5.c Create Global Static Variables, through Project Properties

Once on this tab, we have several options including the ability to create new global static variables. To create a new global static variable, click the Insert button. An additional window will open, as in Figure 5.c. Here, users will enter the variable name and define the type of the variable. After inputting the name and type, click Ok. The global variable will be added to the list, at which point the variable can either be double-clicked or highlighted and click the Edit button, to allow editing the variable value. Along with the ability to add/edit/delete global static variables, there is one additional feature on this tab that is extremely helpful. The Find Unused button, allows users to search for all unused/undefined cash formula products (i.e., formula names), case-level static variables, and global-level static variables. This ability allows users the opportunity to select one or more of these unused products and permanently delete those products/variables from the project.

Page | 36

Figure 5.d Find Unused Static variables and cash formulas window

As you can see from Figure 5.d, the variable/cash formula name that is unused by any case is sorted by type. In the above figure, you can see there are actually two types of case static variables. Case Static Variable Value and Case-Level Static Variable variables exist in the same location. The case list button allows users to see where variables have a value defined on one or more cases, but is not actually being used in any formulas. And it tells what the value is on that case, if a value exists. Define Case variables to be Global variables/Global variables to be Case variables The final method does not actually create a new variable, but rather defines a current variable to live at a different level. In the first two methods, we discussed how to create a Case Level variable or a global level variable. Now, suppose we decide that a variable should be the same everywhere, but it is a case level variable. While it is true we can mass edit the value on the cases, we can also just define the variable to be global, thus forcing the user to change the value just once. Therefore, to define a case level variable as global level, first bring the formulas local if a template exists. Now, on the single case, simply drag-and-drop the case level variable to the global section and drop. PHDWin will automatically show the variable at the global level, and it will be non-editable at the case level (this holds true for all cases in the project).

Page | 37

Now suppose that we have a global variable that needs to have a distinct value for each case. Here, we need to define the global variable to be a case level variable. As in the situation above, first bring the formulas local, if a template exists. Once the formulas are local, the static variable can be dragged-and-dropped from the global section into the case section. This change will be reflected on all cases in the project. Define/edit Template level variables We have talked a lot about defining case-level and global-level variables. But, how are templatelevel variables defined/created? The template level is a special level. Variables that live at this level are actually case level variables. But rather than defining the value of the variable on each case, the template variables have been defined once, when the template was created. The variable lives at both the case-level and the templatelevel, however, the value only lives at the template-level. When a template variable is given a value at the case level, the template variable and value are grayed out. Thus, future users will know the variable belongs to the template and they will know its default value. But the value used in formulas will live at the case-level. Global variables will never be defined at the template level.

Editing
In the previous sections of this chapter, we have discussed how static variables are created and defined. We have also mentioned the most obvious locations for editing static variables, in the Cash Formula editor window and in the Global Static Variables tab of Project Properties. Below are the available locations and functions for editing static variables on a case-by-case basis or on a mass basis. Edit static variable names and values
Cash Formula Editor We have previously discussed editing static variables in the cash formula window. Case level variables can be edited in this window, as can template level variables (by overwriting the template variable with a case value). Changes made in this location only affect the current case. Thus, this method is advised when a small number of cases are present. Static variables can also be renamed in this area by double-clicking the name or selecting the name and then clicking the Edit button. If a variable name is edited, and that variable also exists in a template within the project (actively applied to a case or just exists in the

Page | 38

project), then both the original static variable will exist as will the freshly named variable. Project Properties The editing of static variables in the File | Project Properties | Global Static Variables tab has already been mentioned. Other than creating a new global static variable in a formula, Project Properties is the only place that the global variable values can be edited. Once you are viewing the Global Static Variables tab, users can either double-click the value field or highlight the formula and then click the Edit button to edit the value. Users can also rename global static variables here. Changes made to the name of a variable will be reflected in all references of that static variable (in formulas and the list of static variables). It is important to note that all static variable name changes will NOT affect variables that exist in a template (whether the template is actively applied to a case or just exists in the project). When a variable exists in a template and the variables name is changed, PHDWin will keep the original and add a new variable, with the new name.

Mass Edit static variable values


Global Editor The Global Editor is the first of three techniques that allows the editing of static variable values on a mass basis. Using the Set Case Level Static Variable process, we can quickly apply the same value to one or more static variables on many cases. In Figure 5.e, you can see that by dragging down the Set Case Level variable token, the user has the option to choose the static variable to edit. On the line below, the new value is input. This token can be used as many times as necessary to edit all static variables. Along with this global editor token, there is also a token that offers the ability to clear the case level values of one or all static variables.

Page | 39

Figure 5.e Global Editor options for static variables

Edit Data in Excel The Edit Data in Excel process gives the ability to set many static variable values on several cases. To use Edit Data in Excel, go to Editor | Edit Data in Excel. Here users will select the cases to edit and then choose the Static Variable radio button. Clicking Edit will push the cases and all of the static variables that exist in the project out to an Excel worksheet. Users can go case by case to edit values or they can copy the value and paste it in for many cases. All static variables that exist in the project will be exported to Excel for each case (regardless of whether all of the variables are used on that case). This includes global-level and case-level static variables. It is important to note that while global-level variables are editable in Excel, those changes will not be reflected in PHDWin. Template-level variables that do not have a case-level value defined can be edited in

Page | 40

Excel. In this situation, the input value will be brought back as a caselevel variable, and this value will override the template value.

Figure 5.f Sample .csv file for importing static variable values Importing The final method for quickly editing the value of static variables is through an import. The import allows the values to be edited for any case-level variable that exists in the project prior to the import. Global-level variables will not be altered by the import. Template-level variables (which are essentially case-level variables with a default value) are overwritten if a case-level value is entered during the import. New static variables cannot be added through this method. Instead the variable needs to be added to a single case prior to beginning the import. Unrecognized static variable names will be treated as new id codes, which are not accessible in cash formulas. The static variable import file is setup much like PHDWins basic import files. The first column must contain a unique id code that exists in the project. This id informs PHDWin of which case the values belong to. The remaining columns should have headers that are the exact name of a static variable (spaces and punctuation are important). Begin the import as you would any other.

Page | 41

Figure 5.g Static Variable import mappings

As you can see in Figure 5.g, the import token User-Defined ID Code is used to bring in static variable values. This token is smart enough to determine the columns that contain an updated case-level static variable value and those that are either ID codes or are unknown variables and thus will be added to the id codes list. Thus, users can import static variables and id codes in the same import, using the same token.

Examples
Now lets create some static variables that will be used in future examples. We will be walking through two examples in the next chapter. The first will model a Royalty rate based on cumulative BOE produced. The second example will show how to use cash formulas to control the timing of an ownership reversion, through payout.
Page | 42

Royalty Example For this example, we will need to build two variables that will represent the different thresholds. We also can also add three additional variables to handle the royalty rates that will be applied to the revenue. We have chosen to define these values as static variables, so that we can update their values quickly if changes are needed. (build case level and then define as global level.
1. To begin, lets pick a case to create the variables on. 2. Go to Editor | Cash Formulas. 3. Click on the Static Variables tab. 4. In the bottom left corner, click the Insert button. 5. For the label, enter RoyThresh1. The type is Numeric Only. Click Ok. 6. Now, in the value field for RoyThresh1, double-click or use the edit button to edit the value. Enter 2500 (bbls) for the value. 7. Repeat steps 2 6 for the remaining four variables. The variables will be named RoyThresh2, RoyRate1, RoyRate2 and RoyRate3. Their respective values are 5000, 0.02, 0.035 and 0.06.

Now suppose that you have been informed that the threshold rates will not change for the entire country. However, each field can have different royalty rates. This information tells s that the threshold variables can be defined on a global basis, but the rates must remain at the case-level.
8. Click on the RoyThresh1 static variable. Drag and drop this variable into the Global section. (notice how it erased the value of the variable). 9. Repeat for RoyThresh2 10.Now, lets go to File | Project Properties 11.Click on the Global Static Variables tab 12.Edit the value of RoyThresh1 and RoyThresh2 so they are 2500 and 5000 respectively.

Page | 43

Ownership Reversion Example For this example, the only value that might change over time is the payout percentage. Thus, on a new case,
1. Go to Editor | Cash Formulas. 2. Click on the Static Variables tab. 3. In the bottom left corner, click the Insert button. 4. For the label, enter PayoutPercent. The type is Numeric Only. Click Ok. 5. Now, in the value field for PayoutPercent, double-click or use the edit button to edit the value. Enter 1.75 (175%) for the value.

Page | 44

Chapter 6 Formulas
The ultimate goal of cash formulas is to allow a user to model any situation they encounter using stream arithmetic. Each logical item that requires stream arithmetic will be made into its own unique formula. These formulas can reference static variables, predefined economic tokens and predefined functions, even partner and archive names. Combining the components available, users can create formulas that accomplish tasks that are impossible to model in the basic PHDWin program.

Location
The formulas that have been created on a case or have been applied through a template can be viewed individually in one location. Edit Data in Excel also offers the ability to view the formulas, but Excel is intended to be used for editing purposes.
Formulas Viewing and Editing -- In order to view/edit the formulas on a particular case, go to Editor | Cash Formulas. Expanding the lists will show all formulas that exist on a case. If the formulas exist on a local level, then they can be edited. Otherwise, the template must be brought local to be edited.

Creating
New Formulas can be created using two methods. The first method allows creation and input of the formula. The second method creates the formula, but that formula equation must be defined at a later time.
Create formulas through the Cash Formula Editor The most obvious method for creating formulas is to insert the formula into the cash formulas window on each case. To do this, go to Editor | Cash Formulas. On the Formulas tab, click the Add button in the lower left corner. A window that lists all formulas that have been created on any case in the project will be opened.

Page | 45

Figure 6.a Creating new cash formulas

In this window, a new formula name can be entered as in Figure 6.a. Users can also choose from a list of default formula names and from the formulas that have been created on other cases. Once a new name has been entered or a formula name has been selected from the list then click the Create button. At this time, the Cash Formula Properties window will open (see chapter 3 for more information on the properties window). An additional feature on the create cash formulas window is the ability to Search for a formula name based on several properties. The properties available include the different report as categories and a search for formulas that contain words that the user inputs. The user can also define the scope of the search, from searching all cash templates and also searching formulas that exist on other cases. At the bottom of the window, the results are returned. The information that is provided is the case or template name that contains the formula with the key words, product name (i.e., formula name), the stream type (i.e., the report as category) and the formula string.

Page | 46

Create a formula while building a different formula The final method of creating formulas, involves creating the formula while inputting/editing a different formula string. To create a new formula in an existing formula string, begin by typing an open Bracket, {. Following the bracket, you will enter the name of the formula (no reasonable limit to the name length). Finally, you will end the new formula by enclosing the name in brackets. When the existing formula is saved, PHDWin will open a prompt window (see Figure 6.b), to determine how to handle the new variable. In this prompt box, users can choose to create the variable as a Case level static variable, a Global level static variable, a new undefined cash formula, or a volume based product. After selecting the Cash Formula Product option, users can then define how the formula will be reported and used in economics. The report as options were discussed in detail in chapter 3.

Figure 6.b Creating formulas through the prompt window

Default Formulas
In Figure 6.b you can see that PHDWin lists out all formulas that have previously been created in the project. Along with these formulas, PHDWin also lists nine (9) default formula names that all have special functions. The first type of default formula is the NetMult. The NetMult formulas offer the ability to affect the net value of a report stream type. This adjustment is in addition to the netting caused by ownership. The eight NetMult formulas that exist are:
CapexNetMult Adjusts all net investments by this multiplier.

Page | 47

CoWiNetMult Adjusts all the net (Working interest) volumes by this multiplier. GasNetMult Adjusts the net (Revenue interest) gas volume by this multiplier. OilNetMult Adjusts the net (Revenue Interest) oil volume by this multiplier. OpexNetMult Adjusts all net expenses (fixed cost, well cost, opcost, trancost, othercost) by this multiplier. OtherNetMult Adjusts the net volumes, other than oil and gas, by this multiplier. GasRevNetMult Adjusts the net gas revenue by this multiplier. OilRevNetMult Adjusts the net oil revenue by this multiplier. RevNetMult Adjusts all net revenue by this multiplier. If an oil or gas revenue net multiplier also exists, then the specific product multiplier takes precedence. If no product specific net multiplier exists, then all revenues, including oil and gas are affected by this multiplier. TaxNetMult Adjusts all net taxes (state and local) by this multiplier.

The second type of default formula is the life formula. This formula works like a Group Economic Limit calculation, with the only difference being that the user defines what goes into determining the ECL date.
EndLife User-defined equation that determines when the cash flow goes negative. The formula must be setup so that the formula passes a 1 or a 0 (Non-economic or Economic, respectively) each period. This formula can only exist on a parent case (i.e., group case). The economic value is then passed to all children cases; those children cases are cutoff when they are passed a 1. This feature will be discussed in the Advanced Economics/PSC training manual.

Editing/Copying
There are a few editing tools for formulas in PHDWin. While there are many locations to work with formulas, each feature has a different combination of intended purposes. The Cash Formula Editor offers the
Page | 48

ability to edit the formulas themselves and the properties of each local formula. The Global Editor provides an easy method for setting formula properties across a large number of cases, as well as copying one or more formulas to many cases. Edit Data in Excel presents the formulas that exist on each case in an Excel spreadsheet. This allows for easy editing of many formulas, as well as another method to copy formulas to many cases.
Cash Formula Editor As mentioned in the Location write-up, the primary location for viewing formulas and their respective equations is in the Cash Formula editor. Assuming the formulas exist on a local basis, users can open a formula for exclusive editing/viewing in one of two ways. The first is double-clicking the formula name. The second is highlighting a formula name and clicking the Edit button at the bottom. Either of these procedures will open the cash formula properties window that was discussed in chapter 4. Global Editor The Global Editor is the fundamental tool used to make changes to the formulas and its properties on a mass basis. Within the global editor, there are two methods that can be used to make changes; both are found on the Cash Formulas/Stat Var tab. The first is the normal global edit process. This process involves choosing an Available field, inputting the new value of this field and applying the change across many cases. The properties of cash formulas will be the primary items affected by this global process. The second procedure involves copying an aspect of the case and reflecting that change onto all cases selected in the global editor.

Page | 49

Figure 6.c Copy existing formulas through the Global Editor

Thus, in order to use this method, the desired changes must be first made on a single case. Once those changes have been made, you can go to the Global editor, click on the Cash Formula/Stat Var tab. Then at the very top of the window, users can select the Copy from existing button. The global editor window will change from the normal view to a window similar to figure 6.c. Here, click the Select Formulas button to open the cash formula window. Choose the proper case to copy the formulas from. Now drag and drop each formula that you would like to copy, into the global editor window. After all formulas have been selected, click the Apply button. These changes will be added to all cases that were selected (formulas that existed prior to the global edit will remain on the case). To further control the application of the formulas, users can choose to replace existing formulas if a formula named the same is found. Another available option can prevent a formula from being added, if that formula name does not already exist on the case. Page | 50

Edit Data in Excel The Edit Data in Excel tool is the final option for viewing, editing and copying formulas. This is the one location that all three tasks can be completed in a timely manner. To begin, go to Editor | Edit Data in Excel. On the right side of the window you will choose the cases to edit. On the left side, choose the radio button for Cash Formulas. Finally, click the edit button. When Excel opens, you will see a format similar to all other excel edits.

Figure 6.d Editing Cash Formulas in Edit Data in Excel tool

At the far left of Excel, you will find the referential case names, field names, counties states, etc. In the cash formulas edit, an additional reference column that lists the template applied to the case (I applicable) is output. Cases that have a cash template applied, will not display the formulas that live under the case. Since the cases formulas belong to a template, the formulas cannot be edited unless the template is brought local first. Beyond the template column, you will find a column for every formula that exists in the project, regardless of whether that formula actually exists on the cases that are being edited. The Edit Data in Excel tool can be very helpful in debugging a case. For example, in Excel it is very easy to search ALL formulas that exist on a case, for a specified static variable or formula name.

Evaluation Order
Creating the formulas necessary to model an economic task is very important. After those formulas have been created and defined, PHDWin does its best to determine the proper order that the formulas should be evaluated. In most cases, the evaluation order assigned by PHDWin is the most effective order. However, there are instances when a user knows what the formula order should be and this order contradicts PHDWins ordering. To allow users the most flexibility

Page | 51

possible, PHDWin includes an Evaluation Ordering tool. This tool allows users to create rules that affect when a formula is evaluated.

Figure 6.e Evaluation Order of formulas on a single case The Evaluation Order button can be found in the lower right corner of the main cash formulas window. On the left side of the evaluation window, you will find all of the formulas that exist in this case. On the right side, you can see the ordering rules that exist on the case. When a template is applied to the case, the Evaluation order will be visible, but it cannot be changed unless the template is first brought local. To Add a new rule, click the Add Rule button. Here you will have to option of choosing your first product/cash formula name. The Ordering options are either Before or After the second product/formula name that is picked. If a rule exists, but it is not correct, you can change the formulas in the rule or the ordering by first highlighting the rule and then clicking the Change Rule button. A rule can be deleted in the same way, but this time click the Delete Rule button. The final tool in this window is the Check Order button. Clicking this button forces PHDWin to run its internal ordering algorithm. The algorithm checks all defined rules and formulas to confirm that there is not a logic error in the order the formulas are being called. If an error is found, PHDWin will delete a rule to order the formulas correctly. If the order issue is not dependent on a rule, then the formula is simply moved to the
Page | 52

proper location for evaluation. To save the rules that have been defined, click the Save button. The Evaluation order defined is unique to the case, unless the order is saved into a template. In this situation, all cases that have the template will also have the same evaluation order.

Examples
In the previous chapter, we created a few static variables to be used in examples. We are now going to build the formulas necessary to model royalty and an ownership reversion. As mentioned earlier, the first example is a Royalty rate based on cumulative BOE produced. The second example will show how to use cash formulas to control the timing of an ownership reversion, through payout. Royalty Example The royalty example that we are modeling is fairly simple. To begin the process, we need to determine what formulas are needed. Since the royalty rates are dependent on BOE, we first need to create a formula that calculates the total BOE (based on oil and gas)
1. To begin, lets go to the case we set up the royalty static variables on. 2. Go to Editor | Cash Formulas. 3. In the bottom left corner of the Formulas tab, click the Add button. 4. For the label, enter TotalBOE. Click Create. 5. In the list of pre-defined functions, you will find several OilEqVolProduct(Product Volume) functions. We are going to use this function to quickly convert gas to its equivalent amount in barrels. 6. In the formula string input box, input {Oil} + OilEqVolGas( {Gas} ) This formula adds the Oil volume (in its base units; i.e., bbl) for each period to the gas volume converted to oils base units. 7. Now on the Cash Flow tab, leave the Report as set to Reference. We are also going to leave the Calculation properties as is. However, we

Page | 53

will uncheck the Convert As Currency option and uncheck the Show Net Value option. 8. Click Save.

The next formula that we need to build is the formula to calculate the sliding scale royalty rate that will be used each period. We will use the static variables that were created in chapter 5, here.
1. In the bottom left corner of the cash formula window, click the Add button again. 2. For the label, enter RoyaltyRate. Click Create. 3. In the formula string we will enter If( {TotalBOE} < {RoyThresh1} , {RoyRate1} , If( {TotalBOE} < {RoyThresh2} , {RoyRate2} , {RoyRate3} )) This formula uses nested if statements to determine the correct royalty rate. We start out by saying if the total boe (calculated first) is less than the lowest threshold then we use the lowest royalty rate. Else, if the total boe is less than the upper threshold (this implies that the volume is between the first threshold and the second threshold) then return royalty rate 1. Finally, if the total boe is greater than the upper threshold, then return the highest royalty rate. 4. Now on the Cash Flow tab, leave the Report as set to Reference. 5. In the Calculation properties section, we are going to uncheck Sum Within Months because this is a rate. 6. Finally, in the Display Properties section we will uncheck all four options. (Cash Flow On should be the only item checked on for the formula). 7. Click Save.

The final formula that is needed, is the formula that applies the royalty rate to the gross revenue. This is the value that will be reported and it might also be important to other formulas for reference.
1. In the bottom left corner of the cash formula window, click the Add button again. 2. For the label, enter RoyaltyCost. Click Create. Page | 54

3. In the formula string we will enter {RoyaltyRate} x ( {Oil(RevGrs)} + {Gas(RevGrs)} ) This formula uses the royalty rate that we just determined in each period. We then multiply that rate times the sum of the oil and gas revenue. Notice how the revenue is the gross revenue. It is highly suggested that Gross values be used in the formulas. The reason being, that PHDWin automatically nets down reported formulas. Thus, if we used net revenues in the formula, then the formula value would essentially be netted down twice. 4. Now on the Cash Flow tab, set the Report as value to be Royalty 5. Leave the Calculation Properties as they are. 6. Uncheck the Show Net Value checkbox, under the Display Properties section. 7. Click Save

Page | 55

Figure 6.f Cash Formula window after Royalty cost has been setup Ownership Reversion Example This example is going to cause a reversion in ownership. The reversion is going to occur when the total gross revenue is greater than or equal to 175% of the total development investments that will occur over the life of the case. In order to show the entire process, we must first create a formula to track the revenue that has occurred. Then we must create the Track Cum formula that will cue the reversion.
1. To begin, lets go to the case we set up the ownership reversion variable on. 2. Go to Editor | Cash Formulas. 3. In the bottom left corner of the Formulas tab, click the Add button. 4. For the label, enter RevenueToDate. Click Create. 5. The formula string will be {All(RevGrs)} 6. On the Cash Flow tab the Report as type is Track Cum. 7. Leave everything else as is. 8. Click Save.

Now that we have a formula to track the revenue over time, we can create the formula that will cue the reversion.
1. In the bottom left corner of the cash formula window, click the Add button again. 2. For the label, enter PayoutTiming. Click Create. 3. In the formula string we will enter If( ( {RevenueToDate(Cum)} > ({PayoutPercent} x {Development(InvAsofToEcl)} ) , 100000 , 0 ) Notice in the formula that when the Track Cum formula, RevenueToDate is called, we include parenthesis with Cum inside. This tells PHDWin that you want to use the cumulative amount of RevenueToDate. Had we just used {RevenueToDate}, then the value used would only be the revenue that occurred last period. Page | 56

The formula states that if the total cumulative revenue times is greater than 175% times all Development investments that occur during the life of the case then return 100000. Otherwise return 0. 4. On the Cash Flow tab set the Report as type is Track Cum. 5. Leave everything else as is. 6. Click Save.

Now that we have set up the formula that controls the reversion timing, we must apply the formula to the ownership in order to force the reversion to occur at some point.
1. Go to Editor | Cases 2. Click on the Ownership tab 3. Click the Insert button. 4. For the Reversion type, we are going to choose CashFormula. 5. For the Reversion Cum, choose PayoutTiming 6. For the Reversion Value input 100 (the amount is in m$ so this is the same as 100000).

Figure 6.g Calling a cash formula through the ownership

Page | 57

7. Now input your new working, revenue and lease nri ownerships. Notice that off to the right of the working and revenue interest inputs, there are drop down lists. This list contains all of the cash formulas that exist on the case. PHDWin allows cash formulas to control the value of the working or revenue interest. 8. Click Save

We have now successfully setup an ownership reversion that is controlled by a cash formula.

Page | 58

Chapter 7 Cash Templates


The previous chapters have walked you through just about all aspects of cash formulas. We have mentioned templates before, but we have never touched on many details relating to templates. Cash Templates are a collection of cash formulas and static variables that can be saved off and be called at a later time. The concept of cash templates is similar to that of models and scenarios. A cash formula is like a model, and the cash template is like a scenario, made up of multiple cash formulas.

Location
Groups of formulas that have been defined as a template can be viewed in a couple of locations. Formulas that are part of a template cannot be edited unless that case is first brought local (i.e., remove the template, but keep the group of formulas from the template, on the case).
Cash Formulas Window In order to view the formulas on a particular case, go to Editor | Cash Formulas. Expanding the lists will show all formulas that exist on a case. If a template is applied to the case, then you will see the regime/template name listed at the top of the window. Cash Templates Window To view all of the templates that exist on a case, go to Editor | Cash Templates. In this window, you will see all user-created regimes and templates, as well as the TRC Default Elements and the TRC Sample Contracts. TRC Default Elements are pre-built templates that accomplish a specific task, such as a Date tranche, calculating an R factor, or calculating uplift on an investment. TRC Sample contracts are models of PSCs/PSAs that can be used as examples or for demonstration purposes.

Creating
New Cash Templates can be created in only one location.
Create Templates through the Cash Formula Editor The only method for creating cash templates is to create a new template or Page | 59

replace an existing template on the Cash Formulas window. To do this, go to Editor | Cash Formulas. On the Formulas tab, after one or more formulas have been created, click the Create Template button in the lower right corner.

Figure 7.a Creating/Replacing a Template window

If this template is brand new and has never been created on any case, then either choose an existing regime or input your own. The Regime name can be anything, other than TRC Default Elements or TRC Sample Contracts. The Template name should be a name that obviously refers to the goal of that template. If the collection of formulas has already been defined as a template, then we can replace that collection of formulas with a new collection or we can simply update formula strings. In this situation, check on the Replace Existing checkbox and then choose a pre-existing regime from the drop down list. Next choose the pre-existing template to overwrite. Finally, click Ok to create the template.

Editing/Copying
There are a couple tools available for copying/editing cash templates in PHDWin. The editing tools allow the user the ability to redefine the default static variables that are stored with the template and they also allow the user the option to change/add formulas and then they can redefine the template. The copying tools, are not actually copying the template. Rather, the process is applying a single template to many cases.
Cash Formula Editor, Bring Local/Create Template button In the bottom right corner of the Cash Formula editor window, you will Page | 60

find a Bring Local/Create Template button. When a template is applied to the active case, the button will say Bring Local. Whereas, when the formulas exist on a local level, the button will read Create Template. This button is the key to editing templates. The button allows formulas to be brought to local level where they can be edited. The same button then creates or re-saves a template. Global Editor The Global Editor is the big tool that is used to apply a template to many cases at once. The global editor does not allow any actual editing of the templates. But rather, it allows us to pull templates local on many cases or apply one template to many cases. To use the Global Editor, go to Editor | Global Editor. Select the applicable cases in the Case Selection window. Now click on the Cash Formula/Stat Var tab. There are three (3) features available for templates: o Bring Template Local This item allows the user to bring a specific or any templates formulas and static variables to a local level where the formulas can be edited. Disconnect Template The Disconnect Template item breaks the selected cases link to the template. With this item, cash formulas are NOT brought local. Instead, they are completely removed from the case. Apply Template The Apply Template option allows a user to apply a pre-created template to many cases. If formulas exist on a local or template level prior to applying this toke, then those formulas will be completely removed from the case and you will only see the template formulas.

Cash Templates, Edit Default Static Variables The Cash Templates section is the one area that users have the ability to edit the template without first bringing it local. But this editing ability is limited to the static variable values that are tied to the template. In order to access this section go to Editor | Cash Templates. Then find the regime and country model/template name that you would like to edit. At the bottom of each template, you will find Static Variables Case-Level (default value). On the value of any static variable (that does not belong to a TRC Sample Element or TRC Sample Contract) double-click. You now have the ability to change the value of any static variable that is tied to the template. Any changes that are made will be reflected on the cases that have each respective template active.

Page | 61

Cash Elements
Cash Elements are pre-created templates that can be applied to a case, without completely wiping away any formulas that existed on a local level, prior to the update. By going to Editor | Cash Templates, you can see the TRC Default Elements. Users can also add their own elements by creating a personal regime. This personal regime can store all of the templates that you have ever created. It can be very useful, in that you can avoid having to create the same formulas on many cases. Open the Cash Templates window and position it next to the Cash Formula window of a single case. Assuming that the case does not have a cash template applied, users can drag-and-drop a single TRC Default Element or a Personal Regime Element and place it into the cases cash formula window. The formulas and static variables from the chosen element will be added to the case, along with all other local formulas.

Templates and the Models Maintenance Editor


Everything that has been discussed thus far, relates to processes done in PHDWin Version 2.8. However, there is one additional product that TRC Consultants has released, that is also useful with Cash Templates. That product is called the Models Maintenance Editor. Using the Models Maintenance Editor, users have the ability to transfer a cash template to one or more other models files. Not only do we have the ability to copy a cash template, but we can even copy an entire regime (a group of cash templates). PHDWin Models Maintenance Editor can be obtained from the PHDWin website, http://www.phdwin.com/Updates/. This program is free and can be useful for anyone that uses PHDWin. The program offers the ability to open many different *.mod files at once. From there, users can drag any model or cash template and add it to a different models file. To begin, open the Models Maintenance Editor. Then go to Files | Open Existing. Here you will browse until you have found the models file you want to copy from. Next, go to Files | Open Existing and open the models file that you want to paste the models into. Position the two windows next to each other. Go to Edit | Cash Template. This

Page | 62

changes the view of the window. You now have the ability to drag and drop a single cash template, or a single regime. The Models Maintenance Editor contains one other helpful tool. The Compare feature allows the user to click the Compare button on one models file. You then click the Compare button on the second models file youd like to compare against. A Cash Template Comparison window will open showing you all regimes/templates/formulas/static variables for each models file. When an item differs between the two, the regime/template/formula/static variable is colored blue to let you know that a difference exists in this section. You can then drag and drop a whole template or regime to the other models file. Finally you accept the changes. This feature is very useful if you have two or more versions of the same template, because you have the ability to determine why they are different and perhaps figure out which has the appropriate changes that are desired.

Examples
In previous chapters, we have created static variables and cash formulas to model a sliding-scale royalty and an ownership reversion. In this chapter we will create templates based on the formulas and static variables that have already been created. Royalty Example The royalty example has been created and is shown to work. But now suppose we would like to make those formulas available to all cases in the project. We can go case by case and copy the formulas. We have also shown that you can copy the formulas through the global editor and the Edit data in excel tool. But suppose you want to save off these formulas and not let anyone edit them. We will create a template that is un-editable (without overwriting it completely) and this template can be applied to many cases as a template or as a cash element.
1. To begin, lets go to the case we set up the royalty formulas on. 2. Go to Editor | Cash Formulas. 3. In the bottom right corner of the Formulas tab, click the Create Template button. Page | 63

4. In the Regime input box enter Examples 5. Now in the Template input box, type in Royalty 6. Click Ok

At this point the template has been created/defined. Notice that the case still does not have a template applied though. This is because we have only created the template. We must now apply the template using one of the methods mentioned earlier in this chapter.

Figure 7.b Cash Formula window after Royalty template has been applied Ownership Reversion Example The final example involves creating the ownership reversion template.

Page | 64

1. To begin, lets go to the case we set up the ownership reversion formulas and variable on. 2. Go to Editor | Cash Formulas. 3. In the bottom right corner of the Formulas tab, click the Create Template button. 4. Now, in the Regime drop down list, choose Examples 5. Then in the template input box, enter Ownership Reversion 6. Finally, click Ok.

We have now successfully created two sets of formulas that can be applied as a template. Or they can be used in addition to other formulas, as a cash element.

Page | 65

Chapter 8 Cash Formula Views


A Cash Formula View is a user definable report that presents resultant cash formula values for up to 12 formulas as a function of time. These values can show with monthly or annually granularity for each view. PHDWin Views are very useful while designing, editing and debugging cash formulas since they allow the user to see the resultant formulae values as they proceed through time. Two locations within the PHDWin software allow access to cash formula views. They can be run from the general report window or directly from the cash formulas window.

Cash Formula Views from the Reports and Views Window


The Report and Views window is PHDWins general reporting tool. It is accessed by selecting Report and Views from the main application window. Next, the drop down menu, Select and Run should be selected. A grouping of reports called Cash Formula Views displays all the created Views available in this database. Cash Formula views can be created edited and run from the Reports and Views window.

Page | 66

Figure 8.a Locating Cash Formula views in the Reports window Cash Formula Views are run like any other report. Select the cases you want to view, select the view or report you want the data presented in and select the Run button. The primary advantage to running Views from this location is that they can be run on multiple cases including summaries. Cash Formula summaries will follow the summaries defined by the active sort order. This is exactly how standard reports work. The procedure for Creating new cash formula views from the Report and Views window as follows: To create a custom view: 1. Go to Reports and Views Select and Run 2. Click Add

Page | 67

Figure 8.b Choosing the report type, when adding new report 3. Select Cash Formula View and Click OK 4. Enter a description for the View 5. Click Edit Columns

Figure 8.c Setting Properties for a cash formula view 6. Drag the desired columns from the list of available fields on the right to the report view column on the right.

Page | 68

Figure 8.d Assigning formulas to be reported and controlling their order 7. Once all desired columns are selected, click Save. 8. Click Save again to save the report view.

Once a custom report view has been created, it can be run on any case just like running any other report. Additionally, the View can be edited by double mouse clicking on it in the Reports and Views window.

Cash Formula Views from the Cash Formulas window


The second and more common method for running cash formula views is to run them directly from the place you create the formulas. This is the Cash Formulas window. To access the Cash Formula window select Editor | Cash Formulas from the main application window. The following window should appear.

Page | 69

Figure 8.e Locating the View buttons on the cash formula window At the bottom of this window a series of buttons are offered. Three of these buttons are associated with Cash Formula Views. These buttons are used to Edit, Associate and Launch views. Associate View Button - The Associate View feature allows the user to link or associate a unique view the case being edited. New views can be created with the auto create. These views will be populated with the first 12 formulas and the view linked or associated to this case. The auto created view can then be edited with the Edit View feature. Additionally, the Associate View button allows the user to switch between a monthly and annual presentation of cash formula values. Launch View Button - Each time the Launch View is selected, the associated view is run. Edit View Button - The Edit View button allows the user to change the associated view. The Edit View feature is especially useful since
Page | 70

it allows the formulas presented for a particular View to be changed. Editing the views access a window interface common to the View creation.

Page | 71

Chapter 9 Conclusion
Cash Formulas offer great flexibility to users of PHDWin. They are not only powerful, but they also retain many of the global tools that make PHDWin so useful. We know that cash formulas are helpful in Domestic economics, giving us the capability to model situations such as conditional taxes or expenses and tax holidays. But these formulas affect only the case that they are applied to. But that is not the limit to cash formulas potential. Cash Formulas have also been used to model PSCs/PSAs (Production Sharing Contracts/Assets). PSCs introduce an entirely new level of complexity. This is because PSCs normally are written based on the performance of a group of wells. Thus, the need to pass formula values between two cases becomes very important. To handle this situation, PHDWin cash formulas handle Ring Fencing. Ring Fencing allows a child case to pass up values to be used for economics at the group level; the parent case then receives those values and uses them to calculate group economic values. After all calculations are complete, the parent then passes new values back down to the children, so that the individual case economics will be correct. To give you an example of what PSCs/PSAs look like and do, please refer to the Appendix. The Appendix will also contain other information that is important, but will be covered in detail in the PSC/Advanced Economics manual.

Page | 72

Appendix A Helpful, Supplementary Documents


Documents List
1. Cash Element Descriptions This document describes all of the TRC Default Elements. It walks through what each of the variables are, what formula does and other helpful notes for using each element. 2. United Kingdom PSC Shared Asset model write-up An example document showing what clients will receive if TRC Consultants build a model for them. It walks through the

Page | 73

Documents
Cash Element Descriptions Payout Tranche Payout Tranches are used when a rate changes once payout is reached.

Cash Formulas ContribToPayout: Cum; defines what contributes to payout RateBasedOnPayout: Fraction; chooses which rate to use based whether the payout value has been reached.

Static Variables PayoutThreshold: The payout value in case currency. PayoutTranche1: Before payout rate. PayoutTranche2: After payout rate.

The first task is to determine what contributes to the payout and whether the accumulation begins from zero or not. This information goes into the ContribToPayout variable; the contribution goes into the Formula on the Behavior tab, and the starting value goes in the Cum Balance of the Cash Flow tab (Only visible once Track Cum is selected.).

RateBasedOnPayout is the actual rate being determined. A comparison is made between the ContribToPayout(Cum) and the PayoutThreshold (a static variable). If it is below the threshold, the first rate value is used, otherwise the second (PayoutTranch1 and PayoutTranche2 respectively).

Page | 74

ROR Tranche ROR Tranches are used when a rate changes based on when a particular rate of return is reached.

Cash Formulas NonDiscPretaxGrs: Reference; defines what gets added into the AmtToCarryForward 1 and 2. AmtToCarryForward1: Cum; used to determine whether first rate of return (ROR1) has been met. AmtToCarryForward2: Cum; used to determine whether second rate of return (ROR2) has been met. AmtBroughtForward1: Reference; used to determine whether first rate of return (ROR1) has been met. Applies the uplift. AmtBroughtForward2: Reference; used to determine whether second rate of return (ROR2) has been met. Applies the uplift. RateBasedOnROR: Fraction; chooses which rate to use based whether the first rate of return has been met and/or whether the second rate of return has been met.

Static Variables ROR1: First rate of return to meet. ROR2: Second rate of return to meet. RORTranche1: Rate to use before either rate of return is satisfied. RORTranche2: Rate to use after first rate of return is satisfied but before second rate of return is satisfied. RORTranche3: Rate to use after both rates of returns are satisfied.

Page | 75

This is usually based on non-discounted pretax gross dollars, in which case NonDiscPretaxGrs is appropriate. If your ROR is based on something else, you will need to redefine this variable.

Our example has three tranches (two break points). The breakpoints ROR1 and ROR2 are the desired rates of return. Whether the rate of return has been accomplished determines whether RORTranche1, RORTranche2, or RORTranche3 is used.

We have chosen to perform the uplift in January of each year. The AmtToCarryForward is accumulated for a year starting with the AmtBroughtForward at the beginning of the year. In January of each year this amount is uplifted by the ROR value, and the AmtToCarryForward is started over again from this value. While the AmtToCarryForward is not positive, the ROR has not been reached.

If you prefer to perform the uplift each month, be sure you determine the proper monthly uplift to give the desired ROR. Using .30 on an annual basis does not give the same affect as using .30 on a monthly basis due to compounding; for an equivalent monthly uplift you would use .0221. (1.3 = (1+x)^12 and solve for x.)

Also once a rate of return has been satisfied the RateBasedOnROR cannot fall back down to a previous tranche in this example. To allow it to fall back down to a previous tranche RateBasedOnROR must be modified.

Production Tranche Production Tranches are used when a rate changes based on average daily rate of production.

Cash Formulas
Page | 76

MBOPD: Fraction; average daily production in thousands of barrels per day. RateOverThresh1: Fraction; weighted average to be used if MBOPD is between threshold 1 and 2. RateOverThresh2: Fraction; weighted average to be used if MBOPD is between threshold 2 and 3. RateOverThresh3: Fraction; weighted average to be used if MBOPD is between threshold 3 and 4. RateOverThresh4: Fraction; weighted average to be used if MBOPD is over threshold 4. RateBasedOnProd: Fraction; chooses which rate to use based whether average daily production is below ProdThreshold1, between ProdThreshold1 and 2, between ProdThreshold2 and 3, between ProdThreshold3 and 4, or over ProdThreshold4.

Static Variables ProdThreshold1: First production breakpoint in thousands of barrels of oil per day. ProdThreshold2: Second production breakpoint in thousands of barrels of oil per day. ProdThreshold3: Third production breakpoint in thousands of barrels of oil per day. ProdThreshold4: Fourth production breakpoint in thousands of barrels of oil per day. ProdTranche1: Rate to use on production below ProdThreshold1. ProdTranche2: Rate to use on incremental production over ProdThreshold1 but below ProdThreshold2. ProdTranche3: Rate to use on incremental production over ProdThreshold2 but below ProdThreshold3. ProdTranche4: Rate to use on incremental production over ProdThreshold3 but below ProdThreshold4.
Page | 77

ProdTranche5: Rate to use on incremental production over ProdThreshold4.

Most tranches based on average daily production rates apply the rates incrementally. I.E. --no matter how many barrels of oil are produced per day, the first, say 10000 bbls, have the first tranche rate applied to them; production per day over this amount but below the next break point has the second tranche rate applied to it, and so on. For this reason, we use a weighted average of the rates.

ProdTranche# is the rate for a given amount of incremental production. ProdThreshold# is the breakpoint. RateOverThresh# gives the weighted average to use for total daily production over the ProdThresh#. RateBasedOnProd then selects the correct RateOverThresh# (weighted average rate) based on the total daily production.

For ease of entry, we have set our example up to use thousands of barrels per day for the thresholds.

Cum Tranche Cum Tranches are used when a rate changes once a cumulative production amount has been reached.

Cash Formulas MB: Fraction; cumulative oil production in thousands of barrels. RateBasedOnCum: Fraction; chooses which rate to use based whether cumulative oil production has reached the given threshold(s).

Static Variables
Page | 78

CumThreshold1: First cumulative production breakpoint in thousands of barrels. CumThreshold2: Second cumulative production breakpoint in thousands of barrels. CumTranche1: Rate to use if cumulative production is below CumThreshold1. CumTranche2: Rate to use if cumulative production is over CumThreshold1 but below CumThreshold2. CumTranche3: Rate to use if cumulative production over CumThreshold2.

CumThreshold1 shows the first breakpoint, and CumTranche1 is the rate used before cumulative production reaches that first threshold and CumTranche2 is the rate used after cumulative production reaches the first threshold but before it reaches CumThreshold2. CumTranche3 is the rate used after cumulative production reaches the second threshold. Further tranches can easily be modeled by adding CumThreshold# (3, 4, 5,) and CumTranche# (4, 5, 6, ).

For ease of entry, we have set our example up to use thousands of barrels for the thresholds.

Date Tranche Date Tranches are used when a rate changes once a certain amount of time has passed.

Cash Formulas RateBasedOnDate: Fraction; chooses which rate to use based on the number of months since the beginning of the major phase projection.

Page | 79

Static Variables MonthThreshold1: First number of months breakpoint. MonthThreshold2: Second number of months breakpoint. DateTranche1: Rate to use if current date is before the major phase projection begins or less than MonthThreshold1 months after the major phase projection begins. DateTranche2: Rate to use if current date is more than MonthThreshold1 months after the major phase projection begins but less than MonthThreshold2 months after the major phase projection begins. DateTranche3: Rate to use if current date is more than MonthThreshold2 months after the major phase projection begins.

In our example, the rate changes from DateTranche1 to DateTranche2 when the number of months between the MajSeg1 date and the CurrentDate exceeds MonthThreshold1. In other words, the number of months passed from the time the major phase projection begins to the current date is greater the MonthThreshold1. Further tranches may easily be added. Also the comparison may be against the as-of date {AsOf}, the start of historical production {StartHist}, or a hard date in the form date(month#,year#) as well as the {MajSeg1} used in this example.

R Factor R Factor is another way of determining when a breakpoint occurs. Usually, as in our example, it is a ratio of cumulative revenue to cumulative expenses.

Cash Formulas CumExp: Cum; an accumulation of all costs associated with the case.

Page | 80

CumRev: Cum; an accumulation of all revenues generated by the case. RFact: Fraction; ratio of CumRev to CumExp.

Static Variables N/A

Our example includes all investments in the cumulative expenses. Not all R factors include the investments, and some include only selected investments. To model the former, remove + {All(InvMonthGrs)} from the CumExp formula. To model the latter, replace + {All(InvMonthGrs)} with + {categoryname1(InvMonthGrs)} + {categoryname2(InvMonthGrs)} + in the CumExp formula. Similar changes can be made if the user desires to use depreciation rather than actual investment amounts.

Investment Factor Investment Factor is very similar to R Factor except that the ratio is CumNetCF (cumulative net cash flow) to cumulative investments.

Cash Formulas CumNetCF: Cum; an accumulation of the case net profits without regard to investments. InvMultiple: Fraction; ratio of CumNetCF to {All(InvCumGrs)}; ratio of case net profits to date without regard to investments to all investments to date.

Static Variables N/A

Page | 81

Cost Recovery Pool Cost Recovery Pools are usually used in conjunction with Profit Oil calculations. They are used to determine how much of the expenses are deductible in a give period before splitting profits with the government or other partners.

Cash Formulas MaxCostRecov: Reference; limit to how much of the costs may be recovered in a given period; usually a portion of gross revenue, but sometimes a portion of gross revenue minus royalties. UnrecovCost: Cum; an accumulation of costs to date, usually inclusive of investments, less the costs which have already been recovered to date. This is the pool of costs yet to be recovered. CostRecov: Reference; amount being recovered in the current time period.

Static Variables CostRecovLimit: Fraction of gross revenue or net revenue which caps the amount of cost recovered in a single period.

Each month the MaxCostRecov is determined by multiplying CostRecovLimit by that months gross revenue. (If portion of net revenue is the cap, modifiy MaxCostRecov formula to be {CostRecovLimit} * ({All(RevGrs)} {Royalty}).)

Then the costs incurred during the current period are added to the pool (UnrecovCost) and the costs recovered during the previous period are deducted from the pool.

Page | 82

Once the new pool balance is determined, the amount to be deducted (recovered) this month, CostRecov, is calculated. If the pool is less than or equal to the cap, MaxCostRecov, the entire amount in the pool will be used this period; otherwise, the MaxCostRecov value is used.

In our example, we assumed a depreciation schedule was applied to the tangible investments. If your situation calls for expensing tangible investments, change {Tan(DeprMonthGrs)} to {Tan(InvMonthGrs)} in the formula for UnrecovCost.

Uplift on Investment Uplift on Investment is used when the contract allows particular investments to be recovered by more than 100 %.

Cash Formulas DeductInv: Reference; actual amount allowed to be deducted due to investments.

Static Variables Uplift: Fraction by which investment category deduction exceeds investment actually made.

Normally, DeductInv is simply {All(InvMonthGrs)} or {Intan(InvMonthGrs)} + {Tan(DeprMonthGrs)}. However, some contracts allow for a particular category of investments to be uplifted for deduction purposes. In our example, Compressors receive an uplift of 30 %.

Royalty

Page | 83

Royalty is a percentage of gross revenues, without regard to costs of any kind, paid to the government.

Cash Formulas Royalty: Local Tax; amount paid to government.

Static Variables RoyRate1: Fraction applied to gross revenue.

In our example, a single royalty rate is applied to all revenue regardless of product.

Royalty rates can potentially be different for each product, in which case the user would have RoyRateOil, RoyRateGas, etc. and Royalty would be {RoyRateOil} * {Oil(RevGrs)} + {RoyRateGas} * {Gas(RevGrs)} +

Royalty may be used with any of the tranches described above determining the appropriate rate for the given month.

In rare instances, royalty may be a monetary amount per unit of production rather than a percentage of revenue. India has a royalty system like this. In this case the user would have static variables RoyPerUnitOil, RoyPerUnitGas, etc. and Royalty would be {RoyPerUnitOil} * {Oil} + {RoyPerUnitGas} * {Gas} +

Because royalty is paid to the government, we have defined it as a local tax; however, there may be times when the user wishes to define it as a negative revenue stream. In this case, put the original formula inside parentheses and add * (-1); then change the report stream to
Page | 84

revenue. If you make this change, be sure that all references to Royalty are modified appropriately. For example, if another formula reads {All(RevGrs)} {Royalty}, be sure to change it to {All(RevGrs)} + {Royalty}.

Profit Oil Profit Oil deals with the distribution of profits between the government and the contractor.

Cash Formulas ProfitOilSplit: Fraction; fraction of profit going to the government. ContractProfOil: Reference; how much of the profit oil the contractor gets to keep. GovProfOil: Local Tax; how much of the profit oil must be paid to the government.

Static Variables ProfSplit1: Fraction of profit going to the government.

In our example, a single profit split factor is applied to all revenue minus royalty and costs recoverable that period. As with royalties, splits may be product specific and are generally used with one of the tranches described above determining the appropriate rate for the given month.

Income Tax Income Tax is used to determine how much is paid in taxes on the profits which the contractor has kept.

Page | 85

Cash Formulas TaxableIncome: Reference; what is taxable by the government. TaxLossCF: Reference; tax loss carry forward; amount of loss to be brought forward as a deduction in the next month. TaxableIncLessCF: Reference; taxable income minus the tax loss carried forward from the previous month. IncomeTax: Local Tax; taxes paid to the government based on profit.

Static Variables IncomeTaxRate: Fraction of contractor profits paid to the government.

Income taxes are not allowed to go negative, so if they would be negative, they are set to zero and the loss is carried forward as a deduction in the month. TaxableIncome is generally gross revenue minus actual costs,inclusive of investments (For our example, we used depreciation of tangible investments rather than expensing them.), minus anything already paid to the government, such as Royalty and/or GovProfOil.

Because income tax is paid to the government, we have defined it as a local tax; however, there may be times when the user wishes to define it as a state tax to more easily distinguish it from other taxes for reporting purposes.

Capital Tax Capital Tax deals with taxes on non-depreciated capital expenditures.

Cash Formulas CapitalTax: Local Tax; tax on non-depreciated capital expenditures.


Page | 86

Static Variables CapitalTaxRate: Fraction of non-depreciated capital paid to the government.

The CapitalTaxRate is applied to tangible investments made to date minus the amount depreciated on those investments to date. Note: Only tangible investments are depreciable. Also Salvage and Abandonment investment categories are non-depreciable.

Tax over Price Cap Tax over Price Cap deals with taxes on generated when sales price exceeds a predetermined cap.

Cash Formulas GovOverCap: Local Tax; extra taxes paid to the government if prices exceed a predefined cap.

Static Variables PriceCap: Predefined price cap.

If sales prices do not exceed the predefined cap, this tax is zero. If the cap is exceeded, the percentage of value of contractor profit oil from the price differential is determined and that percent of the contractor profit oil is paid to the government over and above the government profit oil. In our example, the government takes all value over the price cap. In some instances, they would only get a percentage of the value over the price cap.

Page | 87

Economic Indicators Economic Indicators are one time values calculated at the end of the case life which help the end user determine how fair and/or robust a given contract is.

Cash Formulas CumTrueProfit: Cum; accumulation of operational profits. CumGovMoney: Cum; accumulation of all money paid to the government. CumRev: Cum; accumulation of all gross revenue. CumCostRecov: Cum; accumulation of all costs recovered. CumContractProfOil: Cum; accumulation of contractor profit oil. Entitlement: Eco Indicator; fraction of total production to which the contractor is entitled. GovTake: Eco Indicator; fraction of CumTrueProfit which the government receives. ContractTake: Eco Indicator; fraction of CumTrueProfit which the contractor keeps.

Static Variables N/A

The contractor may generally book the cost oil (CostRecov) and the contractor profit oil (ContractProfOil). The sum of these two values compared to the actual gross revenue gives the fraction of production which can be booked, or the fraction to which the contractor is entitled. If the user wishes to see the entitlement expressed as a percent, multiply by 100.

Page | 88

Take is a fraction of operational profits. GovTake is everything paid to the government (Royalty, GovProfOil, IncomeTax, etc.) against total operational profits. ContractTake is the complement of the GovTake; in other words, GovTake + ContractTake should always equal one.

Net Multipliers Net Multipliers allow the user to model complex ownership situations and manipulate net volumes to show bookable volumes.

Cash Formulas VolNetMult: Fraction; adjustment factor applied to all net volumes. RevNetMult: Fraction; adjustment factor applied to all net revenue. TaxNetMult: Fraction; adjustment factor applied to all net state and local taxes. OpexNetMult: Fraction; adjustment factor applied to all net expenses (operating costs, transportation costs, other costs, fixed expenses and per well expenses). CapexNetMult: Fraction; adjustment factor applied to all net investments. ContribToPayout: Cum; defines what contributes to payout

Static Variables PayoutThreshold: The payout value in case currency. PayoutTranche1: Before payout rate. PayoutTranche2: After payout rate. MonthThreshold1: First number of months breakpoint. DateTranche1: Rate to use if current date is before the as-of date or less than MonthThreshold1 months after the as-of date.
Page | 89

DateTranche2: Rate to use if current date is more than MonthThreshold1 months after the as-of date.

These five cash formulas are special tokens that are applied to the resulting net cash streams. They affect net payouts and reported net values, but that is all.

VolNetMult will generally be a monthly version of entitlement (discussed above in the economic indicator section). RevNetMult, TaxNetMult, OpexNetMult and CapexNetMult will generally be used to model complex interest reversions or ownership scenarios in which the revenue interest and tax interest are not equal and/or operating expenses and capital expenditures are divided differently between the ownerships. For demonstration purposes, CapexNetMult uses a Date Tranche as described above; TaxNetMult is a simple rate with no reversions; OpexNetMult uses a Payout Tranche as described above; and RevNetMult is a weighted average where the OpexNetMult applies to the cost oil portion of revenue and TaxNetMult applies to the profit oil portion of revenue.

Angola 1989 Model PSC Reference: p. 212 of International Petroleum Fiscal Systems and Production Sharing Contracts by Daniel Johnston.

Elements Used: Uplift on Investment Cost Recovery Pool Cum Tranche Profit Oil Tax over Price Cap Income Tax
Page | 90

Economic Indicators

Uplift is assumed to be valid for both cost recovery and tax deduction.

Angola has a price cap of $35/bbl. The government takes everything over this price cap. In this model it is taken out of the Contractor Profit Oil; however, it is reasonable to interpret it as being taken off the top before any other calculations are done. In the end the government would get the same amount of money; it would just be in different columns of the ledger sheet.

Indonesia The First PSC Reference: p. 298 of International Explorations Economics, Risk, and Contract Analysis by Daniel Johnston.

Elements Used: Cost Recovery Pool Profit Oil Economic Indicators

Russia Sakhalin II Reference: p. 322 of International Explorations Economics, Risk, and Contract Analysis by Daniel Johnston.

Elements Used: Royalty Cost Recovery Pool

Page | 91

ROR Tranche Profit Oil Income Tax Economic Indicators

Most bonuses and rental payments would be found in the investment tab. However, this contract has a feature called Reimbursement of Prior Russian Expenditures. The second half of this feature, $ 4 MM/quarter for 20 quarters starting when the profit oil split = 70 %, is not conveniently modeled in the investment tab and was therefore modeled using ReimbInv (amount paid that month) and CumReimbInv (how much has already been total).

In the Cost Recovery Pool, the MaxCostRecov is based on gross revenue less royalty.

The bonus is tax deductible but not cost recoverable.

Tangible investments are expensed for cost recovery purposes but depreciated for tax purposes.

Custom Depreciation Custom Depreciation allows the user to apply a non-standard depreciation schedule. In other words anything other than straight line, double declining, 150 % declining, depletion percent, or annual percent (declining balance). The standard depreciation types can be set up through the models editor and then associated with an investment category. Custom depreciation allows for multiple depreciation rates or a shift from one depreciation type to another.

Page | 92

Cash Formulas: TanYear1: Fraction; tangible investments made in the current year. TanYear2: Fraction; tangible investments made in the previous year. TanYear3: Fraction; tangible investments in their final year of depreciation. MonthsInYear: Fraction; number of months in current year; always 12 except in first year if as-of date is not January first or last year if end of life is not December thirty first. TanDepr: Reference; depreciation of tangible investments this month. DeductInv: Reference; investments deductible this month for cost recovery or income tax calculations.

Static Variables: DeprRate1: Depreciation rate for tangible investments made in current year. DeprRate2: Depreciation rate for tangible investments made in previous year. DeprRate3: Depreciation rate for tangible investments in their final year of depreciation.

In our example, we have applied the same depreciation schedule to all tangible investments. This can easily be modified to apply to only a particular investment category. Also our example assumes a calendar year; if you are using a fiscal year, the formulas will need to be modified accordingly. Finally, if your desired depreciation is applied to a declining balance, the previous years depreciation will need to be subtracted when shifting values from TanYear1 to TanYear2, etc.

Page | 93

UK Shared Asset PSC model

United Kingdom PSA

Model Prepared for Ryder Scott Petroleum Consultants by TRC, LLC. This was done for RSC, but this was not similar to their model, thus, this is just the shared asset version of the XXXX Model Converted Sample contract to Shared asset Model. For use in PHDWin Data Bases.

August, 2007

Page | 94

Table of Contents
1.0 Overview 1. 2. 3. 4. 5. 6. 7. Data Provided Software Supported General Discussion of Model Calculation Notes and Assumptions Currency/Volume Convention Details UK Petroleum Revenue Tax Flow Chart (Illustration) UK Income Tax Flow Chart (Illustration)

2.0 Model Options 1. Global Options o AfterTax Mode o UKCostRecovLim o UKIncTaxRate o UKPRTRate o UKPRTUplift o UKRoyRate o UKSGCumCapExpRt o UKSGRate o UKUpliftRate o FullTaxPosition 2. Case Level Options (Parent) o Exclude Case from Reports o Economic Life Option 8 (EndLife) o OilAllowCum o OilAllowPerMon o TaxSunkCost 3. Case Level Options (Child) o RingFenceParent 3.0 Discussion of Formulas 1. RingFence Parent
Page | 95

o o o o o o o

Formulas used for RingFence Sums & Globals Formula used in Royalty Calculations Formula used in EndLife Calculations Formulas used in Income Tax Calculations Formulas used in Petroleum Revenue Tax Calculations Formulas used in Government Profit Tax Calculations Pie Chart Formulas

2. RingFence Child o o o o Formulas used in RingFence Sums & Globals Formula used in Royalty Calculations Formula used in Income Tax Calculations Formula used in Government Profit Tax Calculations

3.0 Discussion of Formulas (contd) 2. RingFence Child (contd) o Pie Chart Formulas 3. UK Government Profit Oil Calculations (Illustration) 4. UK North Sea RingFence Globals 5. UK North Sea RingFence Sums (Illustration) (Illustration)

4.0 Linking the Model Into the Database 5.0 How to Edit This Model

6.0 How to Report and Get Data out of the Model 7.0 Disclaimer and Warranty of Work

Page | 96

1.0 Overview

1. Data Provided: United Kingdom Oil Taxation Petroleum Revenue Tax (PRT) by UK Oil Taxation for Upstream Petroleum Economic Analysis. 2. Software Supported: Model was designed for PHDWin (1996-2007 TRC Consultants) version 2.75 Build 20 and higher. Supported by Model Maintenance (2005-2007 TRC Consultants) Build 14 and higher 3. General Discussion of Model: This model is written in two pieces. The larger piece is the United Kingdom/PSA (Parent) which contains the various terms of the contract, while the smaller piece is merely the portion which receives the allocated Income Tax and Government Profit Oil from the PSA. This smaller piece (United Kingdom/Child) functions as the hook to the PSA calculations and should be linked to each child case in the database. The child case also calculates the Royalty (tax) for that particular property. The United Kingdom/PSA (Parent) should be linked to RingFence Unit cases which do not directly output to reports. All the output is to be done from the child cases. A RingFence parent unit should be set up for each field that calculates PRT (Petroleum Revenue Tax). This model calculates Royalty, UK Income Tax, and UK Petroleum Revenue Tax. UK Income Tax and UK Petroleum Tax are allocated down to each child well by means of a revenue split, or comparison of case gross income to the total PSA gross income. Income Tax and Petroleum Revenue Tax are reported when the project is set to After Tax Economics in the Project Properties Editor of PHDWin. The user can choose between Before Tax or After Tax economics depending on the desired output. An option for Income Tax and Petroleum Revenue Tax calculations exists in this model. This option is set in the static variable FullTaxPosition. When FullTaxPosition value is equal to 1, revenue is always considered to be equal to or greater than the total tax incurred on a corporate basis. Thus individual case taxes may go negative. There is no carry loss forward with this option. When this value is equal to 0, taxes
Page | 97

are allowed to go negative and cannot exceed revenue for a given case. There is also a carry loss forward. Other options are:
A) UK Cost Recovery Limit: Global static variable input in Project Properties (as a fraction) that limits the amount of costs that can be recovered in a single month (UKCostRecovLim).

1.0 Overview (cont`d.)


B) UK Income Tax Rate: Global static variable input in Project Properties as a fraction (UKIncTaxRate). C) UK Petroleum Revenue Tax Rate: Global static variable input in Project Properties as a fraction (UKPRTRate). D) UK Petroleum Revenue Tax Uplift Rate: Global static variable input in Project Properties as a fraction (UKPRTUplift). E) UK Royalty Rate: Global static variable input in Project Properties as a fraction (UKRoyRate). F) UK Safeguard Cumulative Capital Expenditures Rate: Global static variable input in Project Properties as a fraction (UKSGCumCapExpRt). G) UK Safeguard Rate: Global static variable input in Project Properties as a fraction (UKSGRate). This is the Income Tax Uplift Rate for Investments in UKSpecial category. H) UK Uplift Rate: Global static variable input in Project Properties as a fraction (UKUpliftRate). PSA Cases. The economics are to be shown on individual wells / cases. PSA cases are built into the evaluation that exists only to run the terms of the PSA. Calculated streams from the PSA cases (such as Income Tax) are allocated to individual cases which contain the projections and expenses. The overall United Kingdom is a shared asset model in that individual case Revenue, Opex, and Capex are summed to a parent case where values are calculated and selected key
Page | 98

results of those calculations are referenced and used by the child cases. It is intended that all economics be run on all child cases (wells) which will be linked directly to the United Kingdom Child model. All RingFence calculations will be handled by PHDWin Unit (type) cases that are linked to the United Kingdom Parent model. All total Opex, Capex, and Taxation calculations are done on the Unit (RingFence) level. The model has full support for 2P, and 3P reserves using PHDWin's incremental structure. Reports can be generated on reserve classifications including PROVED, PROBABLE, and POSSIBLE. PSA cases will need to be built for each Reserve Classification included in the evaluation. Government Profit Oil is the lesser of the basic Petroleum Revenue Tax calculation and the SafeGuard calculation. Safeguard is a mechanism within the PRT framework to prevent PRT producing an unacceptably low after tax rate of return to a participator.

1.0 Overview (cont`d.)


This model only uses Cash Formulas defined as Reference, Federal (After) Tax, Local Tax, and Track Cum. Reference formulas are used for interim calculations only and have no direct output. Federal Tax formulas output to the Federal Tax column only when After Tax Economics is enabled in Project Properties. Local Tax formula output to the Local Tax column does not require After Tax Economics mode. Track Cum formulas are used to create a pie chart for display purposes. Pie Chart can be found in Editor/Cash Formulas/Pie Chart Display. Investments can be input under ANY category (Tangible or Intangible) with ONLY ONE Exception; Investments eligible for Uplift must use the "UKSpecial" category. "UKSpecial" category can be created in File/ Project Properties/Investments. Upliftable Investments (for both PRT
Page | 99

and Income Tax calculations) can be entered as Tangible or Intangible under "UKSpecial". Calculation Notes and Assumptions: RingFence Parent units are calculation cases only and should not be included in report output. Income Tax and Government Profit oil (GvtProfOil) are reported when the project is set to After Tax Economics in the in File/ Project Properties/Economics. Income Tax, Petroleum Revenue Tax calculations have an option that is set in the Global static variable FullTaxPosition: when FullTaxPosition value is equal to 1, revenue is always considered to be equal to or greater than the total tax incurred on a corporate basis. Thus individual case taxes may go negative. When this value is equal to 0, taxes are allowed to go negative and cannot exceed revenue for a given case. There is a carry loss forward, when this option is on. Global static variable FullTaxPosition can be edited in File/ Project Properties/Global Static Variables. UK Royalty Rate has default value 0. It can be changed in File/ Project Properties/Global Static Variables, Global Static variable UKRoyRate. Only "UKSpecial" category Investments will be uplifted for Petroleum Revenue Tax and Income Tax calculations.

1.0 Overview (contd.)


Global Static variable UKPRTUplift is used for an uplift rate in Petroleum Revenue Tax calculations. Global Static variable UKUpliftRate is used for an uplift rate in Income Tax calculations.

Page | 100

5. Currency/Volume Convention Details: Model is primarily designed for US currency (US Dollars) but there are no hard coded values that would restrict the use of different currencies. Thou, static variable values that use US currency will have to be modified to represent the new currency. The unit volume convention of the model assumes that Oil is measured in barrels. If any other volume measurements are used for Oil, the formulas will have to be modified. There are no volume convention restrictions for Gas and NGL. All Parent and Child cases must use the same currency and unit volume convention.

Page | 101

1.6 UK Petroleum Revenue Tax (PRT) Flow Chart


Gross Oil, Gas, and NGL Revenue
Subtract Royalty

Net Oil, Gas, and NGL Revenue


Subtract Opex, Expensed and Uplifted Capex

Net Income
Subtract Oil Allowance Deduction

Income Subject to Petroleum Revenue Tax


Subtract Petroleum Revenue Tax

After Tax Income

Page | 102

1.7 UK Income Tax Flow Chart


Gross Oil, Gas, and NGL Revenue
Subtract Royalty

Net Oil, Gas, and NGL Revenue


Subtract Opex, Expensed and Uplifted Capex

Net Income
Subtract Government Profit Oil, Tax Loss Carry Forward

Income Subject to Income Tax


Subtract Income Tax

After Tax Income

Page | 103

2.0 Model Options


1. Global Options: (Edited at Project Properties Global Static Variables Level.) AfterTax option: This is not a static variable. Income Tax and Government Profit Oil require After Tax (ATax) mode to be turned on. This option can be found in File/Project Properties/Economics. UKCostRecovLim: This is the maximum amount of costs that can be recovered in a single month. Input as a fraction. Default Value: 1. Accepted values are between 0.00 and 1.00 (0100%). UKIncTaxRate: This is the UK Income Tax Rate which is input as a fraction. Default Value: 0.5. Accepted values are between 0.00 and 1.00 (0100%). UKPRTRate: This is the Petroleum Revenue Tax Rate which is input as a fraction Default Value: 0.5. Accepted values are between 0.00 and 1.00 (0100%). UKPRTUplift: This is the Petroleum Revenue Tax Uplift Rate for Investments in UKSpecialCategory which is input as a fraction. Default Value: 0.35. Accepted values are between 0.00 and 1.00 (0100%). UKRoyRate: This is Royalty Rate which is input as a fraction Default Value: 0. Accepted values are between 0.00 and 1.00 (0100%). UKSGCumCapExpRt: This is the Safeguard Cumulative Upliftable Capital Expenditures Rate which is input as a fraction.
Page | 104

Default Value: 0.15. Accepted values are between 0.00 and 1.00 (0100%). UKSGRate: This is the Safeguard Rate which is input as a fraction. Default Value: 0.8. Accepted values are between 0.00 and 1.00 (0100%). UKUpliftRate: This is the Income Tax Uplift Rate for Investments in UKSpecialCategory which is input as a fraction. Default Value: 0. Accepted values are between 0.00 and 1.00 (0100%). FullTaxPosition: When this value is equal to 1, revenue is always considered to be equal to or greater than the total tax incurred on a corporate basis. Thus individual case taxes may go negative. When this value is equal to 0, taxes are allowed to go negative and cannot exceed revenue for a given case. Default Value: 0. Only accepted values are 0 and 1.

2. Case Level Options (Parent): These variables will need to be set individually for each RingFence Parent Unit that is created in the PHDWin database.

Exclude case from reports: This option is not a static variable but a check box found in the PHDWin Case Editor (Eco Options/Report Exclusions tab). Since the Parent

2.0 Model Options (cont`d).


Case is for calculations only and should not be output to reports, this checkbox Exclude Entire Case from Individual/Summary Reports should be checked. Economic Life Option 8 (EndLife): This option is not a static variable but a radio button found on the Economic Life tab of the Unit Properties (Open Case editor to each parent | Click he Unit Properties button in the upper right hand corner, click on Economic
Page | 105

Life tab | choose Custom Limit using Ring Fence EndLife Formulas (cases can die early)). In the Shared Asset model, the sum of the child cases in parent level could live longer than any single case by itself. Thus, to maximize the life of every well included in the parent, an economic limit is calculated based on the specifics of the United Kingdom PSA. OilAllowCum: Cumulative oil allowance for PRT calculations (bbl) Default Value: 31100000. (31100000 bbl) OilAllowPerMon: Monthly allotment for oil allowance for PRT calculations (bbl) Default Value: 600000. (600000 bbl) TaxSunkCost: Tax Loss for Income Tax before AsOfDate. Default Value: 0.

3. Case Level Options (Child): (This variable must be set individually for each child case in the PHDWin database.) RingFenceParent: PHDWin ID of the RingFence Parent Case containing the psa calculations. Government Profit Oil and Income Tax will be zero or incorrect if this non-zero value is not properly filled in for each child case Default Value: 00000

3.0 Discussion of Formulas

The cash formulas that comprise the total model are split between the RingFence Parent Cash Formulas and the Child Case Cash Formulas. These two sets of Cash Formulas pass variables back and forth to accomplish the necessary calculations. The vehicle by which the variables are passed back and forth within PHDWin are RingFenceGlobal variables and RingFenceSum variable types. The
Page | 106

cash formulas calculating Government Profit Tax and Income Tax require After Tax Mode to be turned on. This was discussed in 2.0 Model Options. Please review the included illustrations on Government Profit Oil calculations, RingFenceSums and RingFenceGlobals at the end of this section as a reference for the following discussion of the formulas.

1. RingFence Parent Formulas used for RingFence Sums & Globals o GrossCosts: A RingFence Sum variable that is the monthly array of all the Opex incurred by the child cases that has been summed to the RingFence Parent case. o GrossInvests: A RingFence Sum variable that is the monthly array of all the Capex incurred by the child cases that has been summed to the RingFence Parent case. o GrossRevenue: A RingFence Sum variable that is the monthly array of all the Revenue incurred by the child cases that has been summed to the RingFence Parent case. o SGCumUpliftableCap: A RingFence Sum variable that is the monthly array of all the UKSpecial investments incurred by the child cases that has been summed to the RingFence Parent case. o GvtProfOil: A RingFence Global variable that represents the minimum of the Petroleum Revenue Tax (PRT) and the Safeguard values that were calculated on a RingFence Parent level. Then, the total calculated value of either PRT or Safeguard is passed down to be allocated at the child level. o TotalGrossRevenue: A RingFence Global variable that is the sum of all gross revenues incurred by the child. o TaxableInc: A RingFence Global variable that represents the income that is applicable to Income Tax. This value is the total gross revenue less the royalty, costs, government profit oil and tax deductible investments.
Page | 107

o TaxableIncLessCF: A RingFence Global variable that represents the taxable income less the carry forward. This value will always be zero when FullTaxPosition is turned on. The carry forward values will be representative of the TaxSunkCosts and prior carry forward values. Formula used in Royalty calculation: o Royalty: Royalty rate (Global Static variable UKRoyRate) is applied against gross revenue. On the RingFence Parent level, Royalty is used in the parent level calculation for Petroleum Revenue Tax, Income Tax and in the EndLife calculation. Formula used in EndLife calculation: o EndLife: A special formula that behaves similarly to a RingFence Global variable. This formula calculates the Economic Limit on the RingFence Parent level. When the economics at the Parent level go negative, a cutoff date is passed to all the

3.0 Discussion of Formulas (cont`d.)


children cases. If the child cases economics have not already been terminated, then the EndLife value will kill the case. Formulas used in Income Tax calculations: o IncomeTax: This formula calculates Income Tax. If option FullTaxPosition=1 was chosen, UK Income Tax Rate ( Global static variable UKIncTaxRate) is applied against TaxableInc (cash formula). If option FullTaxPosition=0 was chosen UK Income Tax Rate ( Global static variable UKIncTaxRate) is applied against TaxableIncLessCF (cash formula). This variable (IncomeTax) is defined as type After Tax in the Cash Flow tab of the Cash Formula Properties Editor window. IncomeTax is only output when the Project Properties are set to run in After Tax mode. o TaxableInc: Formula is used to determine the income subject to Income Tax. Royalty, Opex, Expensed and Uplifted Capex are subtracted from gross revenues to determine the income subject

Page | 108

to Income tax. Tax Loss Carry Forward is not included in these calculations. o TaxLossCF: Calculates only if option FullTaxPosition=0 was chosen. Tax Loss Carry Forward for Income Tax. o TaxableIncLessCF: Calculates only if option FullTaxPosition=0 was chosen. The result is the income subject to income tax with Tax Loss Carry Forward included. o TaxDeductInv: Tax deductible Investment that are the sum of all Investments (RingFence Sum) plus an Uplift to any Investments in the UKSpecial category (RingFence Sum); a deduction for Income Tax. Global Static variable UKUpliftRate is used as Uplift Rate in this calculations.

Formulas used in Petroleum Revenue Tax (PRT) calculations: o PRT: This formula calculates Petroleum Revenue Tax. If option FullTaxPosition=1 was chosen, UK PRT Rate (Global static variable UKPRTRate) is applied against all gross revenues (RingFence Sum) less Royalty, less Opex, less expensed and uplifted Capex , less oil allowance. If option FullTaxPosition=0 , maximum of 0 and calculated expression is chosen. Calculated expression - UK PRT Rate (Global static variable UKIncTaxRate) is applied against all gross revenues less Royalty, less allowed cost recovery , less oil allowance . o PRTOilAllowRev: Monetary value of oil allowance, deduction for Petroleum Revenue Tax.

3.0 Discussion of Formulas (cont`d.)


o PRTOilAllowThisMonth: Actual oil allowance for month in BOE; this insures that PRTOilAllowAgainstMonth does not take us above the cumulative allowance.

Page | 109

o PRTOilAllowAgainstMonth: This formula keeps oil allowance from going over monthly allotment. o PRTUsedOilAllowance (Cum): Accumulation of oil allowance used to date. o BOE: Barrel of oil equivalent so that Gas and NGL contributes to the allowance. o PRTDeductInv: All investments plus an uplift to any investments in the UKSpecial category; a deduction for PRT. o PRTCostRecov: Costs recovered in the current month. o PRTUnrecovCosts: Cost Recovery Pool o PRTMaxCostRecov: Maximum cost allowed to be recovered in the current month. o InitSunkCostsCum: This formula initializes any investments that occur before the As Of Date. At the As Of Date, the formula pulls the value for the TaxSunkCost static variable and adds it to the PRT Unrecovered Costs formula. Formulas used in Government Profit Oil (GvtProfOil) calculations: o GvtProfOil: This is the lesser of the basic PRT calculation and the SafeGuard calculation. o Safeguard: This is a mechanism within the PRT framework to prevent PRT producing an unacceptably low after tax rate of return to a participator. If there is no uplift or no upliftable capital present, equals PRT; if there is an uplift and upliftable capital is present, the safe guard calculation is performed. \ o PRT: Petroleum Revenue Tax. This formula was discussed in PRT calculations. o SGCumUpliftableCapCum (Cum) - Accumulation of upliftable capital. All Investments in UKSpecial category are uplifted.

Pie Chart Formulas:


Page | 110

o Total Expense: This variable cums net expenses through time. o Total Investment: This variable cums net investments through time. o Total Profit: This variable cums profit through time. Profit is calculates as Total Revenue less Total Expense, less Total Investment, less Total to Government. o Total Revenue: This variable cums net revenue through time. o Total to Government: This variable cums net local tax for Royalty, net federal tax from Government profit oil, and net federal Tax from IncomeTax through time.

3.0 Discussion of Formulas (cont`d.)


2. RingFence Child Formulas used in RingFence Sums & Globals o GrossCosts: This formula gathers all of the Opex that occurs on a child case for each month. The value is summed with other child case values to populate the GrossCosts RingFence Sum on the parent level. o GrossInvests: This formula gathers all of the Capex that occurs on a child case for each month. The value is summed with other child case values to populate the GrossInvests RingFence Sum on the parent level o GrossRevenue: This formula gathers all of the revenue that occurs on a child case for each month. The value is summed with other child case values to populate the GrossRevenue RingFence Sum and the TotalGrossRevenue RingFence Global on the parent level.

Page | 111

o RevAllocationFactor: This formula compares the case gross revenue with the TotalGrossRevenue (RingFence Global) that was passed from the parent level. This comparison creates an allocation factor that limits an individual cases participation in the total government profit oil and the total Income Tax, to only their share of each tax. o SGCumUpliftableCap: This formula gathers all of the UKSpecial category Capex that occurs on a child case for each month. The value is summed with other child case values to populate the SGCumUpliftableCap RingFence Sum on the parent level. Formula used in Royalty Calculations o Royalty: This formula calculates the Royalty tax by multiplying the case Gross Revenue times the UK Royalty Rate static variable. Formula used in Income Tax Calculations o IncomeTax: This formula calculates the Income Tax by using the RevAllocationFactor to limit the cases involvement in the total Income Tax that was calculated and passed from the Parent level. In action only if child case has revenue and project is being run in After Tax mode. Formula used in Government Profit Tax Calculations o GvtProfOil: This formula calculates the Government Profit Oil by using the RevAllocationFactor to limit the cases involvement in the total Government Profit Oil that was calculated and passed from the Parent level. In action only if child case has revenue and project is being run in After Tax mode. Pie Chart Formulas o Total Expense: This variable cums net expenses through time.

3.0 Discussion of Formulas (cont`d.)


o Total Investment: This variable cums net investments through time.

Page | 112

o Total Profit: This variable cums profit through time. Profit is calculates as Total Revenue less Total Expense, less Total Investment, less Total to Government. o Total Revenue: This variable cums net revenue through time. o Total to Government: This variable cums net local tax for Royalty, net federal tax from Government profit oil, and net federal Tax from IncomeTax through time.

Page | 113

UK Government Profit Oil (GvtProfOil) Calculations

Petroleum Revenue Tax (PRT)

Safeguard

Government Profit Oil


= Min (PRT, Safeguard)

Government Profit Oil: The lesser of the basic PRT calculation and the SafeGuard calculation. Safeguard: Is a mechanism within the PRT framework to prevent PRT producing an unacceptably low after tax rate of return to a participator.

Page | 114

3.1 United Kingdom Ring Fence Sums

These variables sum up values from all of the child cases in a RingFence to the same variable name in the parent case.

GrossCosts Monthly Opex GrossInvests Total Monthly Capex

GrossRevenue All revenue generated on the case SGCumUpliftableCap Monthly UKSpecial category investments only

Child Case

RingFence Unit Child Case (Parent PSA Case)

Child Case

Page | 115

3.2 United Kingdom Ring Fence Globals


These variables make data from the parent case available to the respective child cases, flowing data downward.
TotalGrossRevenue Sum of all gross revenues from Child cases. GvtProfOil Represents the total PRT or total Safeguard calculated on the parent level. The lesser of the two is passed down to the children. TaxableInc The total income that can be used for Income Tax calculations. TaxableIncLessCF Represents the total income less the carry forward, that can be used to calculate income tax.

Child Case

RingFence Unit (Parent PSA Case)

Child Case

Child Case

4.0 Linking the Model into the Database


Pulling the Model into a Working PHDWin Database.
Page | 116

The U.K. RingFence Parent model and the U.K. RingFence Child model of the created Cash Formulas needs to exist within a given projects model database (.mod file) in order to be referenced by the cases. The client can either use: o The Models Maintenance utility program to drag-n-drop these models into the given models database under the Cash Templates editor. o Or, from within the PHDWin Cash Templates Editor, the user can select Update, then Add new and update existing Templates, and specify the Models File to Take Templates From browse dialog to point to the provided models database. Referencing the Model from the actual cases in the Working PHDWin database. Set up the Parent RingFence Cases. The user needs to have created standard Unit Cases (no allocations) that sum volumes to the Techincal EUR of the child cases for each Ring Fence to be created. When the unit is initially set up, set the Economic Life needs to be set to Not Linked in any way. It is intended that the RingFence Parent cases use the Case Editor | Eco Options / Report Exclusions tab to check on Exclude Entire Case from Individual/Summary Reports. The RingFence Parent cases are calculation holders only and do not perform any report output in this model. From within the PHDWin Editor | Cash Formulas window, the proper Cash Template model needs to be selected from the pull down at the top of the window. No cash formulas should be directly applied to any of the cases in the database. However, they will be displayed in an un-editable format in the Cash Formula Window. The RingFence Parent Cases must then be compiled in order to initialize the RingFence Global variables. After the unit has initially been set up, and you have applied the United Kingdom/Parent cash template to the unit, you must now change the Economic Life. Go back to the Unit Properties (button found at the top right corner of the General Info tab) and set the Economic Life to be Custom Limit using Ring Fence EndLife Formulas (cases can die early). Save the unit. The user then links the child cases to the proper Cash Formula Template using the same pull down dialog in the Editor | Cash
Page | 117

Formulas window as was done for the Ring Fence Parent cases. Make sure that you select the child model template instead of the parent model template for this operation. Note: for large number of cases the PHDWin Global Editor can be used (Editor | Global Editor >> Cash Formulas/Stat Var tab >> Apply Template) for this operation. Referencing the correct RingFenceGlobal variables from the child cases.

4.0 Linking the Model into the Database (contd)


The child cases need to pull the correct Global variables from the correct RingFence Parent case. The RingFenceGlobal variables are used to get the proper amount of Income tax, Royalty, and Government Profit Oil Tax allocated to each child case. Child cases control the location from which RingFence Globals are pulled by use of the Static Variable RingFenceParent. RingFenceParent refers to the PHDWin Id code of the desired Unit. In this manner, child cases can exist in more than one RingFence Unit case but can selectively pull RingFence Global variables from any RingFence parent Unit. The RingFenceParent Static Variable can be set from the Global Editor or from the Excel Editor (in addition to setting them individually on each case from the Cash Formula Static variable tab.) The last step is to compile the entire database. Should the model require updates, the only step necessary is to bring in the new model (cash formula templates) as described at the beginning of this section and then re-compile.

Page | 118

5.0 How to Edit This Model

The models are delivered in the form of Cash Templates which are referenced on the cases. Models cannot be edited in the Template Library. They can only be edited when they exist as local cash formulas. To edit a model, go to a case which references the desired model, Open the Cash Formula window and press the button called Bring Local. In this form they can be edited and checked in any way the user wishes. Upon completion of editing, the user should push the button to Create Template and replace the existing version of the model located in the Cash Template Library. Any case that references this model will be instantly updated and other databases that may reference the same model will be flagged to recompile with the changed fiscal terms when they are opened. As mentioned previously, the Models exist in the *,mod file that accompanies a PHD project file (*.phd). Models can be copied from one models file to another using the Update function in the PHDWin Cash Template Editor or they can be moved around using the Models Maintenance application.

Page | 119

6.0 How to Report and Get Data out of the Model

The models are designed to work and report data within the framework of the existing reports that come with PHDWin. However, due to the wide variance of items that can be found from one PSA to the next it is often necessary to create ad hoc columns that are linked to PHDWins standard Access tables. These ad hoc column definitions are called Cash Formula Views and have a maximum of 255 columns that can be output in a single table. Cash Formula views are created by going to the Cash Formula editor window and Associating a View. Upon default, all Cash Formulas that are referenced on a case will be propagated to a Cash Formula View. Launching the associated view will give the user a preview of what will be included in the table. Remember that a Cash Formula view can hold up to 255 output columns, but the preview window can only physically display 12 at any one given time. This does not mean that Cash Formula views need to be limited to 12 columns. All 255 columns can be exported. However, the next step will be to decide which Cash Formulas are really desired to be in the View (or output table). A drag-n-drop edit is available for picking columns under the PHDWin main menu for Reports Select and Run. Double clicking on the name of the associated View will bring up a dialog that allows columns to be edited. It is almost NEVER necessary to change any of the checkbox properties of an associated view. Editing columns (indicated button) should be sufficient to produce what is needed. The user will also most likely find it necessary to adjust the Display Properties (found on the specific Cash Formula Properties (Cash Flow tab) for each Cash Formula. Display Properties do not affect calculations, but they do affect how values are output to the ad-hoc table. For example, a Cash Formula may be a ratio or percentage that is not suitable for annual totaling or cumulative amounts. Likewise, percentage or reference calculations may not be suitable for monetary currency conversions. These decisions are left to the user and each Cash Formula output to this table will need to be adjusted for Display Properties. Once a View is defined and the Display Properties have been set, the entire View definition is linked to any Custom Crystal Report, Access Export, or Access Export in PHDWin. The last step in report or exporting Cash Formula
Page | 120

columns is to link the Cash Formula View definition table to an output. For example, a View can be linked to one of the Access Reports found in the PHDWin Report Select and Run list like Cash Formulas. Double Click on Cash Formulas and then specify the View in the pull down box. It is possible to also check on Economics (annual economics) or Monthly Economics and some of the other tables. Save this Access Report and it can run it exactly the way a standard PHDWin report is run. The Cash Formula columns will be output in the resulting PHDWINOUT. mdb database in the table called IntLseEco.

Page | 121

7.0 Disclaimer and Warranty of Work

On the clients request and with information provided on the above project, TRC Consultants, LC has analyzed to best efforts the contract and any other information provided by the client in order to create a fiscal model within PHDWin that represents those terms as closely as possible. Payment is expected within 30 days of delivery of the electronic model to the client. Any further modifications or questions to TRC Consultants, LC are to be handled on an hourly basis and charged accordingly. The client assumes full responsibility for support and modifications to this model upon delivery.

A best effort will be made to determine the intent of the contract to your satisfaction. It should be noted that TRC Consultants, LC personnel are not attorneys. TRC Consultants, LC does not warranty the accuracy of the interpreted fiscal terms in any way other than our best efforts to interpret and model the data provided by the client. TRC does not warranty or indemnify the client for any loss whatsoever resulting from the services provided over the amount charged to the client for this service by TRC. All information the client provides as well as the Fiscal Models created by TRC under this agreement are considered the property of the client and therefore will not be intentionally distributed to anyone outside of TRC Consultants, LC or personnel authorized by the client. Best efforts will be made to keep all information the client provides completely confidential.

TRC Consultants, LC will provide comments or suggestions on the interpretation of the provided fiscal terms but it is left to the client to provide direction should the intent of the fiscal terms be unclear in certain situations.

Page | 122

Reported When we use this term, we are referring to the reports run from PHDWin. All cash formula values can be found in the IntLseEco and IntEcoInfo tables in PHDWinOut.mdb; Non-reference and non-track cum formula values are added to their respective columns in the LseEco and EcoInfo tables.

Das könnte Ihnen auch gefallen