\documentclass[12pt,reqno]{article} % \usepackage{dcolumn,longtable} \usepackage{amsmath} \usepackage{amsthm} \usepackage{placeins} \usepackage{float} \usepackage[labelfont={bf}]{caption} \floatstyle{plain} \newfloat{Results}{t}{los}[section] \usepackage{graphicx} \usepackage{rotating} %\usepackage{endnotes} %\renewcommand\theendnote{\alph{endnote}} %\renewcommand\makeenmark{\textsuperscript{[\theenmark]}} %\renewcommand\notesname {} \usepackage{calc} %\usepackage{fancyhdr}\usepackage{lastpage} \usepackage{anysize}\marginsize{1in}{1in}{1in}{1in} %\usepackage{multicol} \usepackage[mathscr]{eucal} \usepackage{psfrag} % \usepackage{natbib} \usepackage[authorformat=allreversed]{jurabib} \renewcommand\bibansep{ } \renewcommand\bibbdsep{ } \renewcommand\bibjtfont[1]{\textsl{#1}} %\usepackage{setspace} %\usepackage{color} %\usepackage{psfrag} %\usepackage[colorlinks]{hyperref} %\usepackage{asymptote} %\usepackage[rm,bf,big,center]{titlesec} \titlelabel{\thetitle. % \enspace} \parindent=0.0pt \setlength{\parskip}{\baselineskip} \renewcommand{\arraystretch}{1.25} % need a more elegant solution than this, but ... \newenvironment{RESULTS}{\begin{minipage}{6.27in} }{\end{minipage}} \newtheoremstyle{genericblockstyle}{}{}{\hangindent=0pt}{0pt}{\bfseries}{.}{10pt}{\thmnote{#3}} \theoremstyle{genericblockstyle} \newtheorem{BLOCK}{} \newtheoremstyle{remarkstyle}{}{}{\hangindent=10pt}{0pt}{\bfseries}{.}{10pt}{} \theoremstyle{remarkstyle} \newtheorem{REMARK}{Remark} \newtheoremstyle{estcommentstyle}{}{}{}{0pt}{}{}{0pt}{} \theoremstyle{estcommentstyle} \newtheorem*{EST-COMMENTARY}{} \newtheoremstyle{graphcommentstyle}{}{}{}{0pt}{}{}{0pt}{} \theoremstyle{graphcommentstyle} \newtheorem*{GRAPH-COMMENTARY}{} \newtheoremstyle{tabcommentstyle}{}{}{}{0pt}{}{}{0pt}{} \theoremstyle{tabcommentstyle} \newtheorem*{TAB-COMMENTARY}{} %% definitions \providecommand*{\ind}[1]{\mathrm{I}\{#1\}} \providecommand*{\est}[1]{\widehat{#1}} \providecommand*{\lag}[1]{\Delta #1} \providecommand*{\diffr}[0]{} \providecommand*{\ts}[3]{\{#1_{#2}|#2 \in \mathbb{#3} \}} \providecommand*{\acf}[2]{\gamma_{#1}(#2)} \providecommand*{\regse}[2]{\underset{(#2)}{#1}} \providecommand*{\regv}[1]{\ensuremath\mathsf{#1}} \providecommand*{\defn}[1]{\textbf{\textit{#1}}} \providecommand*{\cvect}[1]{\mathbf{#1}} \providecommand*{\rvect}[1]{\mathbf{#1}^{\!\small{\top}}} \providecommand*{\mat}[1]{\mathbf{#1}} \providecommand*{\comment}[1]{\left(\text{#1}\right)} \providecommand*{\prob}[1]{\ensuremath\mathrm{Pr}\!\left(#1\right)} \providecommand*{\expect}[1]{\ensuremath\mathrm{E}\!\left(#1\right)} \providecommand*{\risk}[1]{\ensuremath\mathrm{R}\!\left(#1\right)} \providecommand*{\PDF}[2]{\ensuremath\mathrm{#1}\!\left(#2\right)} \providecommand*{\CDF}[1]{\ensuremath\mathsf{F}\!\left(#1\right)} \providecommand*{\comp}[1]{#1^{\prime}} \providecommand*{\var}[1]{\ensuremath\mathrm{Var}\!\left(#1\right)} \providecommand*{\sd}[1]{\ensuremath\mathrm{SD}\!\left(#1\right)} \providecommand*{\cov}[2]{\ensuremath\mathrm{Cov}\!\left(#1,#2\right)} \providecommand*{\corr}[2]{\ensuremath\mathrm{Corr}\!\left(#1,#2\right)} \providecommand*{\moment}[2]{\ensuremath\mathrm{#1}\!\left(#2\right)} \providecommand*{\relphantom}[1]{\mathrel{\phantom{#1}}} \providecommand*{\adjr}[0]{\bar{R}^2} \providecommand*{\smean}[1]{\bar{#1}} \providecommand*{\Pred}[2]{\widehat{#1}_{\langle #2 \rangle}} \providecommand*{\pred}[1]{\widehat{#1}} \providecommand*{\ssd}[1]{s_{#1}} \providecommand*{\rv}[1]{\mathnormal{#1}} \providecommand*{\st}[0]{:} \providecommand*{\gannotationsize}[1]{\footnotesize{#1}} %% Sweave \SweaveOpts{echo=FALSE,keep.source=TRUE} \SweaveOpts{prefix.string=Graphics/} \begin{Scode}{eval=FALSE} golden_width <- 5.5348 golden_height <- 3.421 FIG_WIDTH <- golden_width FIG_HEIGHT <- golden_height \end{Scode} \setkeys{Gin}{width=1.0\textwidth} % free height to maintain aspect ratio \SweaveOpts{width=5.5348,height=3.421} % golden ratio \begin{Scode} options(digits=2,scipen=3,scientific=FALSE) \end{Scode} \begin{Scode}{label=libraries} library(urca) library(xtable) library(uroot) library(dynlm) library(RMySQL) \end{Scode} \begin{Scode}{label=parms} setwd("/home/michael/Sync/Research/SeveranceTax/") \end{Scode} %% Following refer to data not presently being used. %% \begin{Scode}{label=CPI1,echo=FALSE,eval=FALSE} CPI <- read.csv("CPI.csv",header=TRUE,comment.char="#") \end{Scode} %% READING IN THE ANNUAL CPI CORE. % Note: The "CPI-core-annual.csv" contains annual observations % beginning in 1957, and ending in 2007. Does not include food or % energy. I'm not sure what qualifies an item as an energy % item. We're using the core CPI since a significant component of the % CPI-U is accounted for by the price of oil. Hence, if the CPI-U is % used, the units in which the real price of oil is measured will % depend on the nominal price of oil! Using the core CPI mitigates % this problem somewhat (not completely). Variables: Seriesid := "BLS % identification of the series", Year := "year", Period := "annual", % Value := "value of the core CPI" Source: BLS, series CUUR0000SA0L1E %% \begin{Scode}{label=cpi,echo=FALSE,eval=TRUE} YCPI <- read.csv("CPI-core-annual.csv",header=TRUE,comment.char="#") YC <- YCPI$Value #$ YC <- ts(YC, start=c(1957), end=c(2007), frequency=1) \end{Scode} %% READING IN THE MONTHLY CPI CORE. % Note: The "CPI-core-annual.csv" contains annual observations % beginning in 1957, and ending in 2007. Does not include food or % energy. I'm not sure what qualifies an item as an energy % item. We're using the core CPI since a significant component of the % CPI-U is accounted for by the price of oil. Hence, if the CPI-U is % used, the units in which the real price of oil is measured will % depend on the nominal price of oil! Using the core CPI mitigates % this problem somewhat (not completely). Variables: Seriesid := "BLS % identification of the series", Year := "year", Period := "month", % Value := "value of the core CPI" Source: BLS, series CUUR0000SA0L1E %% \begin{Scode}{label=read-cpi,echo=FALSE,eval=TRUE} MCPI <- read.csv("CPI-core-monthly.csv",header=TRUE,comment.char="#") MC <- MCPI$Value #$ MC <- ts(MC,start=c(1957,1),end=c(2008,7),frequency=12) \end{Scode} % READING IN THE UT OIL ACTIVITY ANNUAL DATA. Note: The % "ActivityUtahType.csv" contains annual observations beginning in % 1960 and ending in 2006. Source: Utah Geological Survey, % http://geology.utah.gov/emp/energydata/oildata.htm Variables: Year % := "date of observation", Wildcat := "number of successful wildcat % drillings in UT", Extension := "number of successful extension % drillings in UT", Development := "number of successful development % drillings in UT", Dry := "number of unsuccessful drillings in UT", % Total := "total number of drillings in UT", %% \begin{Scode}{label=UT_Activity,eval=TRUE} UT.OIL.ACTIVITY <- read.csv("ActivityUtahType.csv",header=TRUE,comment.char="#") WO <- UT.OIL.ACTIVITY$Wildcat #$ WO <- ts(WO,start=c(1960),end=c(2006),frequency=1) EO <- UT.OIL.ACTIVITY$Extension #$ EO <- ts(EO,start=c(1960),end=c(2006),frequency=1) DO <- UT.OIL.ACTIVITY$Development #$ DO <- ts(DO,start=c(1960),end=c(2006),frequency=1) oil.dry <- UT.OIL.ACTIVITY$Dry #$ oil.dry <- ts(oil.dry,start=c(1960),end=c(2006),frequency=1) oil.total <- UT.OIL.ACTIVITY$Total #$ oil.total <- ts(oil.total,start=c(1960),end=c(2006),frequency=1) \end{Scode} %% UTAH GAS ACTIVITY % "Year","Wildcat","Extension","Development","Dry","Total", % "Total.Oil.Wells.Excluding.Dry.Wells", % "Total.Gas.Wells.Excluding.Dry.Wells", % "Total.Dry.Wells" % Annual data from 1960 until 2006. %% \begin{Scode} UT.GAS.ACTIVITY <- read.csv("UT_Gas_Activity.csv",header=TRUE,comment.char="#") WG <- UT.GAS.ACTIVITY$New.Field.Wildcat #$ WG <- ts(WG,start=c(1960),end=c(2006),frequency=1) EG <- UT.GAS.ACTIVITY$Extension #$ EG <- ts(EG,start=c(1960),end=c(2006),frequency=1) DG <- UT.GAS.ACTIVITY$Development #$ DG <- ts(DG,start=c(1960),end=c(2006),frequency=1) gas.dry <- UT.GAS.ACTIVITY$Dry #$ gas.dry <- ts(gas.dry,start=c(1960),end=c(2006),frequency=1) gas.total <- UT.GAS.ACTIVITY$Total #$ gas.total <- ts(gas.total,start=c(1960),end=c(2006),frequency=1) gas.total.M <- gas.total*1000 \end{Scode} %% READING IN THE UT "SRIPPER" OIL ACTIVITY DATA. % Note: The "UtahOilStripper.csv" contains annual observations on % stripper wells production in UT" from 1960 until 2006. Source: Utah % Geological Survey, % http://geology.utah.gov/emp/energydata/oildata.htm Variables: Year % UT.Stripper.Number := "Number of Stripper Wells", % UT.Stripper.Production := "Production from Stripper Wells", % UT.Stripper.Production.Day := "Production per Day per Well", % UT.Stripper.Total.Production := "Total Production", % UT.Stripper.Percent := "Percent UT Oil Production from Stripper % Wells". WARNING: some observations before 1983 are "NA", which have % now been set to -1. %% \begin{Scode}{label=read-UTOilStripper,echo=FALSE,eval=TRUE} OIL.STRIPPER <- read.csv("UtahOilStripper.csv",header=TRUE,comment.char="#") SOPY <- OIL.STRIPPER$UT.Stripper.Production #$ SOPY <- ts(SOPY,start=1960,end=2006,frequency=1) SOR <- OIL.STRIPPER$UT.Stripper.Percent #$ SOR <- ts(SOR,start=1960,end=2006,frequency=1) SOPD <- OIL.STRIPPER$UT.Stripper.Production.Day #$ SOPD <- ts(SOPD,start=1960,end=2006,frequency=1) SON <- OIL.STRIPPER$UT.Stripper.Number #$ SON <- ts(SON,start=1960,end=2006,frequency=1) \end{Scode} %% READING IN THE UT "STRIPPER" GAS ACTIVITY DATA. % Note: The "UtahStripperGas.csv" contains annual observations on % stripper wells production in UT" from 1993 until 2006. "Table % 4.11","Stripper Gas Well Production in Utah, 1993-2006", from UTGS % "Year","Number.Stripper.Wells","Production.Stripper.Wells", % "Production.Day.per.Well","Gross.Production", % "Percent.Gas.Production.Stripper.Wells", % "Thousand.cf","Thousand.cf","Million.cf" % \begin{Scode}{label=read-UT_Gas_Stripper,echo=FALSE,eval=TRUE} GAS.STRIPPER <- read.csv("UTStripperGas.csv",header=TRUE,comment.char="#") SGPY <- GAS.STRIPPER$Production.Stripper.Wells #$ SGPY <- ts(SGPY,start=1993,end=2006,frequency=1) SGR <- (GAS.STRIPPER$Percent.Gas.Production.Stripper.Wells) #$ SGR <- ts(SGR,start=1993,end=2006,frequency=1) SGPD <- GAS.STRIPPER$Production.Day.per.Well #$ SGPD <- ts(SGPD,start=1993,end=2006,frequency=1) SGN <- GAS.STRIPPER$Number.Stripper.Wells #$ SGN <- ts(SGN,start=1993,end=2006,frequency=1) \end{Scode} %% READING IN THE ANNUAL DATA ON APPLICATIONS FOR DRILLING PERMITS IN %% UTAH. % Note: The "UTDrillAppYearly.csv" contains annual data beginning 1985 % and ending 2007. Source: Utah Division of Oil, Gas, and % Minerals. http://oilgas.ogm.utah.gov/Statistics/APD_month.cfm % Variables: Year := "year the observation was made", UT.Permits := % "number of drilling permits applied for in UT", %% \begin{Scode}{label=read-UT_Drill_Apps,echo=FALSE,eval=TRUE,eval=FALSE} UT.Drill.Apps.Yearly <- read.csv("UTDrillAppYearly.csv",header=TRUE,comment.char="#") \end{Scode} %% READING IN THE MONTHLY DATA ON APPLICATIONS FOR DRILLING PERMITS % IN UTAH. % Note: The "UTDrillApp.csv" contains monthly data beginning January % 2004 and ending July 2008. Source: Utah Division of Oil, Gas, and % Minerals. http://oilgas.ogm.utah.gov/Statistics/APD_month.cfm % Applications for permit to drill (APD) by month, starting in year % 2004. Source: Utah Division of Oil, Gas, and % Minerals. http://oilgas.ogm.utah.gov/Statistics/APD_month.cfm Year % := "year" Period: 1 := Jan, 2 := Feb, ... , 12 := Dec. UT.Permits % := "number of drilling permits issued during year in UT" %% \begin{Scode}{label=read-UT_Drill_Apps_Monthly,echo=FALSE} UT.Drill.Apps.Monthly <- read.csv("UTDrillAppMonthly.csv",header=TRUE,comment.char="#") permits <- UT.Drill.Apps.Monthly$UT.Permits #$ permits <- ts(permits,start=c(2004,1),end=c(2008,7),frequency=12) \end{Scode} %% READING IN THE NOMINAL UT WELLHEAD MONTHLY OIl PRICE DATA. % Note: 1. The "UT_WH_Price.csv" contains monthly observations % beginning in July 1977 and ending June 2008. Variables: Date := % "the date of the observation", Utah.Monthly.WH.Price.Oil := "the % nominal wellhead price of Utah Oil" Source: This data is from the % Utah Geological Survey: % http://geology.utah.gov/emp/energydata/oildata.htm %% \begin{Scode}{label=read-UT_WH_Price,echo=FALSE,eval=FALSE} UT.WH.P <- read.csv("UT_WH_Price.csv",header=TRUE,comment.char="#") monthly.wh.price.o <- UT.WH.P$Utah.Monthly.WH.Price.Oil #$ monthly.wh.price.o <- ts(monthly.wh.price.o,start=c(1977,7),end=c(2008,6),frequency=12) \end{Scode} %% READING IN THE UT WELLHEAD ANNUAL OIL PRICE DATA. % Source: Utah Geological Survey: % http://geology.utah.gov/emp/energydata/oildata.htm "Table % 3.20a","Production, Wellhead Price, and Value of Crude Oil in Utah, % 1960-2007" Note: 1. The "UT_WH_A_Price" contains annual observations % beginning 1960 and ending 2007. 2. They deflated with the CPI-U. % Variables: Year := "date the observation was made", % UT.A.Oil.Production := "Annual barrels of oil produced in Utah", % UT.WH.A.Nominal_Price := "Nominal Market Price for a barrel of UT % oil", UT.WH.A.Real.Price := "Real (by CPI-U) Market Price for a % barrel of UT oil", UT.A.Nominal.Value := "Nominal value of total UT % oil production (UT_WH_A_Nominal_Price times UT_A_Oil_Production) % UT.A.Real.Value := "Real value of total UT oil production % (UT_WH_A_Real_Price times UT_A_Oil_Production) %% \begin{Scode}{label=read-UT_WH_A_Price,echo=FALSE,eval=TRUE} UT.WH.A.P.O <- read.csv("UT_WH_A_Price.csv",header=TRUE,comment.char="#") PRICE.O <- UT.WH.A.P.O$UT.WH.A.Nominal.Price #$ PRICE.O <- ts(PRICE.O, start=c(1960), end=c(2007), frequency=1) \end{Scode} %% READING IN THE NOMINAL UT WELLHEAD ANNUAL GAS PRICE DATA. % Source: EIA at the DOE: % http://tonto.eia.doe.gov/dnav/ng/ng_pri_sum_dcu_SUT_a.htm Date := % "date"; from 1973/6/30 until 2006/6/30 UT.Annual.WHP.GAS := "Annual % wellhead price for natural gas in UT" %% \begin{Scode}{label=read-UT_WH_A_Price,echo=FALSE,eval=TRUE} UT.WH.A.P.G <- read.csv("UTAnnualWHPriceGas.csv",header=TRUE,comment.char="#") PRICE.G <- UT.WH.A.P.G$UT.Annual.WHP.GAS #$ PRICE.G <- ts(PRICE.G,start=c(1967),end=c(2006),frequency=1) \end{Scode} %% READING IN THE MONTHLY US DRILLING ACTIVITY DATA. % Source: EIA at the DOE: % http://tonto.eia.doe.gov/dnav/pet/pet_crd_wellend_s1_m.htm % 1. "Date", 1/1973 - 7/2008 2. "U.S. Crude Oil, Natural Gas, and Dry % Exploratory and Developmental Wells Drilled (Count)", 3. % "U.S. Crude Oil Exploratory and Developmental Wells Drilled % (Count)", 4. "U.S. Natural Gas Exploratory and Developmental Wells % Drilled (Count)", 5. "U.S. Dry Exploratory and Developmental Wells % Drilled (Count)", 6. "U.S. Crude Oil, Natural Gas, and Dry % Exploratory Wells Drilled (Count)", 7. "U.S. Crude Oil Exploratory % Wells Drilled (Count)", 8. "U.S. Natural Gas Exploratory Wells % Drilled (Count)", 9. "U.S. Dry Exploratory Wells Drilled (Count)", % 10. "U.S. Crude Oil, Natural Gas, and Dry Developmental Wells % Drilled (Count)", 11. "U.S. Crude Oil Developmental Wells Drilled % (Count)", 12. "U.S. Natural Gas Developmental Wells Drilled % (Count)", 13. "U.S. Dry Developmental Wells Drilled (Count)" 1. % Date := "Date"; from 1973/01/15 to 2008/07/15 2. Total := % "U.S. Crude Oil, Natural Gas, and Dry Exploratory and Developmental % Wells Drilled [oil and gas, including dry holes] (Count)" 3. % TotalOilExDev := "U.S. Crude Oil Exploratory and Developmental Wells % Drilled [excludes natural gas and dry holes] (Count)", 4. % TotalGasExDev := "U.S. Natural Gas Exploratory and Developmental % Wells Drilled [excludes oil and dry holes] (Count)", 5. TotalDry := % "U.S. Dry Exploratory and Developmental Wells Drilled [only dry % wells, so equals 2. - (3. + 4.)] (Count)", 6. TotalEx := % "U.S. Crude Oil, Natural Gas, and Dry Exploratory Wells Drilled % [excluding all development wells] (Count)", 7. TotalOilEx := % "U.S. Crude Oil Exploratory Wells Drilled (Count)", 8. TotalGasEx % := "U.S. Natural Gas Exploratory Wells Drilled (Count)", 9. % TotalDryEx := "U.S. Dry Exploratory Wells Drilled (Count)", % 10. TotalDev := "U.S. Crude Oil, Natural Gas, and Dry Developmental % Wells Drilled (Count)", 11. TotalOilDev := "U.S. Crude Oil % Developmental Wells Drilled (Count)", 12. TotalGasDev := % "U.S. Natural Gas Developmental Wells Drilled (Count)", % 13. TotalDryDev := "U.S. Dry Developmental Wells Drilled (Count)" \begin{Scode}{label=read-US.Drilling.Activity,echo=FALSE,eval=TRUE} US.Activity.Monthly <- read.csv("USDrillingActivity.csv",header=TRUE,comment.char="#") USTotal <- US.Activity.Monthly$Total #$ USTotalDry <- US.Activity.Monthly$Total.Dry #$ USTotal <- ts(USTotal,start=c(1973,1),end=c(2008,7),frequency=12) USTotalDry <- ts(USTotalDry,start=c(1973,1),end=c(2008,7),frequency=12) \end{Scode} %% %% READING IN THE UT GAS PRODUCTION ANNUAL DATA % "Back to Contents","Data 1: Utah Natural Gas Marketed Production % (MMcf)" Sourcekey,N9050UT2 SOURCE: EIA % "Date","Utah.Natural.Gas.Marketed.Production.(MMcf)" Data from % 6/30/1967 until 6/30/2006 \begin{Scode} UT.Gas.Production.Annual <- read.csv("UT_Gas_Prod.csv",header=TRUE,comment.char="#") gas.production <- (UT.Gas.Production.Annual$Utah.Natural.Gas.Marketed.Production.MMcf) #$ gas.production <- ts(gas.production,start=1967,end=2006,frequency=1) \end{Scode} %% READING IN THE UT ANNUAL NUMBER OF GAS WELLS DATA % "Date", % "Utah.Natural.Gas.Number.of.Gas.and.Gas.Condensate.Wells.(Count)" % Data from 6/30/1989 until 6/30/2006 \begin{Scode} UT.Gas.Number.Wells <- read.csv("UT_Gas_Wells.csv",header=TRUE,comment.char="#") gas.wells <- (UT.Gas.Number.Wells$Utah.Natural.Gas.Number.of.Gas.and.Gas.Condensate.Wells.Count)#$ gas.wells <- ts(gas.wells,start=1989,end=2006,frequency=1) \end{Scode} \begin{Scode} AYP.G <- window(gas.production,start=1989,end=2006)/gas.wells AYP.G <- AYP.G*1000 YP.G <- window(gas.production,start=1989,end=2006) \end{Scode} \begin{Scode} YASOP <- SOPY/SON YASGP <- SGPY/SGN \end{Scode} %% READING IN THE UT ANNUAL OIL PRODUCTION DATA % Year, NumberProducingWells, Production, AvgAnnualPerWellProduction, % Avg.Annual.Per.Well.Production AvgDailyProduction, % AvgDailyPerWellProduction dates 1958 until 2007, but begin at 1970 % to get out of "strange" data. \begin{Scode}{label=read-UT-production,echo=FALSE,eval=TRUE} UT.PRODUCTION.ANNUAL.OIL <- read.csv("UTProduction.csv",header=TRUE,comment.char="#") YP.O <- UT.PRODUCTION.ANNUAL.OIL$Production #$ YP.O <- ts(YP.O,start=1958,end=2007,frequency=1) AYP.O <- (UT.PRODUCTION.ANNUAL.OIL$Avg.Annual.Per.Well.Production) #$ AYP.O <- ts(AYP.O,start=1958,end=2007,frequency=1) \end{Scode} %% Monthly production UT %"Utah.Monthly.Crude.Oil.Production" \begin{Scode}{eval=FALSE} UT.Production.Monthly <- read.csv("UT.Production.Monthly.csv",header=TRUE,comment.char="#") monthly.production <- (UT.Production.Monthly$Utah.Monthly.Crude.Oil.Production) #$ monthly.production <- ts(monthly.production,start=c(1981,1),end=c(2008,4),frequency=12) \end{Scode} %% cpi is the core consumer price index with 1982-1984 as base. % yc := "yearly consumer price index; 1982-1984 as base" % pyc := "present yearly consumer price index; 2006 as base" % get pyc by converting oyc \begin{Scode}{CPI-O} yc.O <- window(YC,start=1960,end=2006) pyc.O <- yc.O*(100/tail(yc.O,n=1)) mc.O <- window(MC,start=c(1977,7),end=c(2008,6)) pmc.O <- mc.O*(100/tail(mc.O,n=1)) \end{Scode} % ypo := yearly nominal price of oil \begin{Scode}{real-price-oil,eval=TRUE} ypo.O <- window(PRICE.O,start=1960,end=2006) yrpo.O <- (100/pyc.O)*ypo.O \end{Scode} \begin{Scode}{eval=FALSE} mpo.O <- window(monthly.wh.price.o,start=c(1977,7),end=c(2008,6),frequency=12) \end{Scode} \begin{Scode}{CPI-G} yc.G <- window(YC,start=1967,end=2006) pyc.G <- yc.G*(100/tail(yc.G,n=1)) \end{Scode} % nominal to "real" price of UT Nat Gas using core CPI. \begin{Scode}{label=real-price-gas} ypg.G <- window(PRICE.G,start=1967,end=2006) yrpg.G <- (100/pyc.G)*ypg.G \end{Scode} %% nominal to "real" average drilling costs for the US, using core CPI %% (perhaps core CPI not appropriate here) %% READING IN THE US ANNUAL AVERAGE DRILLING COSTS % Source: Note: Annual data beginning 6/30/1960 and ending 6/30/2004. % Note: Crude Oil, Natural Gas, and Dry Wells combined. Note: % measured in Thousands of dollars per well. Date := "Date" ; 6/1960 % - 6/2004 US.Annual.Nominal.Cost.Per.Well.Drilled.All := "nominal % average drilling cost per well for the U.S." \begin{Scode}{label=read-US.Drilling.Activity,echo=FALSE,eval=FALSE} US.Costs <- read.csv("USDrillingCostsNominal.csv",header=TRUE,comment.char="#") costs <- US.Costs$US.Annual.Nominal.Cost.Per.Well.Drilled.All #$ costs <- ts(costs,start=1960,end=2004,6,frequency=1) \end{Scode} %% \begin{Scode}{WO.Common} wo <- window(WO,start=1960,end=2006) \end{Scode} \begin{Scode}{WG.Common} wg <- window(WG,start=1967,end=2006) \end{Scode} \begin{Scode}{DO.Common} do <- window(DO,start=1960,end=2006) \end{Scode} \begin{Scode}{DG.Common} dg <- window(DG,start=1967,end=2006) \end{Scode} \begin{Scode}{EO.Common} eo <- window(EO,start=1960,end=2006) \end{Scode} \begin{Scode}{EG.Common} eg <- window(EG,start=1967,end=2006) \end{Scode} \begin{Scode} UT.wildcat <- wo + wg UT.development <- do + dg UT.extension <- eo + eg UT.dry <- oil.dry + gas.dry UT.total <- oil.total + gas.total \end{Scode} \begin{Scode} usr <- 1-(UT.dry/UT.total) UT.dry.rate <- UT.dry/UT.total UT.wildcat.rate <- UT.wildcat/UT.total UT.development.rate <- UT.development/UT.total UT.extension.rate <- UT.extension/UT.total \end{Scode} %% average annual production per gas well \begin{Scode} gas.production.r <- window(gas.production,start=1989,end=2006) gas.wells.r <- window(gas.wells,start=1989,end=2006) gas.avg.prod <- gas.production.r/gas.wells.r \end{Scode} \begin{Scode} usr.r <- window(usr,start=1960,end=2004) \end{Scode} \begin{Scode}{eval=FALSE} cost.per.producing.well <- real.costs/usr.r \end{Scode} \begin{Scode} reg.info <- function(model){ conf.level <- 0.95 r.sq <- format(summary(model)$r.squared) adj.r.sq <- format(summary(model)$adj.r.squared) num.of.cols <- 6 num.of.parms <- length(summary(model)$coefficients[,1]) mat <- matrix(nrow=num.of.parms,rep(0,num.of.cols*num.of.parms)) for (i in 1:num.of.parms){ mat[i,1] <- paste("$",format(summary(model)$coefficients[i,1]),"$") mat[i,2] <- paste("$",format(summary(model)$coefficients[i,2]),"$") mat[i,3] <- paste("$",format(summary(model)$coefficients[i,3]),"$") mat[i,4] <- paste("$",format(summary(model)$coefficients[i,4]),"$") mat[i,5] <- paste("$",format(summary(model)$coefficients[i,1] - qt((conf.level)+(1-conf.level)/2 ,summary(model)$df[2]) *summary(model)$coefficients[i,2]) ,"$") mat[i,6] <- paste("$",format(summary(model)$coefficients[i,1] + qt((conf.level)+(1-conf.level)/2 ,summary(model)$df[2]) *summary(model)$coefficients[i,2]) ,"$") } model.level.info <- c("\\phantom{xxx}", paste("$R^{2} = $",r.sq) ,"\\phantom{xxx}" ,"\\phantom{xxx}" ,paste("Adj. $R^{2} = $" ,adj.r.sq) ,"\\phantom{xxx}") all.info <- rbind(mat,model.level.info) colnames(all.info) <- c("Estimate", "Std. Error", "$t$ value" ,"$p$ value", "Lower $95\\%$", "Upper $95\\%$") return(all.info) } \end{Scode} % The function 'TwoTieredToFlat' takes the two-tier tax and converts % to the flat rate equivalent. \begin{Scode} TwoTieredToFlat <- function(PRICES,LRATE,HRATES,BREAK){ flat <- matrix(nrow=length(HRATES),ncol=length(PRICES)) for (i in 1:nrow(flat)){ for (j in 1:ncol(flat)){ if (PRICES[j] < BREAK){ flat[i,j] <- LRATE} else {flat[i,j] <- ((BREAK-0)*LRATE + (PRICES[j]-BREAK)*HRATES[i])/PRICES[j]}} } return(flat) } \end{Scode} % 'Stretch' takes a matrix 'FLAT' of tax rates each of which apply for TAU years % [rough, fix] , and converts them to their equivalent 'T' (>= 1) year rates, % with discount rate 'R'. Hence 'Stretch' is matrix-valued. \begin{Scode} Stretch <- function(FLAT,TAU,T,R){ equivalent <- matrix(nrow=nrow(FLAT),ncol=ncol(FLAT)) if (T == 'inf'){ for (i in 1:nrow(FLAT)){ for (j in 1:ncol(FLAT)){ equivalent[i,j] <- TAU*FLAT[i,j]*R/(1+R)}} } else { if (is.numeric(T) && T > 0){ k <- 1/(1 + R) for (i in 1:nrow(FLAT)){ for (j in 1:ncol(FLAT)){ equivalent[i,j] <- TAU*FLAT[i,j]*((1 - k**(T+1))/(1-k))**(-1)}}} else { stop('Input error: prohibited value for T')}} return(equivalent) } \end{Scode} % DRILLING % Geometric lag % PRICES is a vector, LAMBDA, PHI are scalars, and RATES is a % vector of same length as PRICES. \begin{Scode}{eval=TRUE} GLED <- function(PRICES,LAMBDA,PHI,RATES){ vec <- vector(mode='numeric',length=length(PRICES)) for (i in 1:length(PRICES)){ vec[i] <- PRICES[i]*RATES[i]*PHI/(1-LAMBDA)} return(vec) } \end{Scode} % Distributed lag (without parameter restrictions) % PRICES is a vector, PHI is a vector, and RATE is a vector. \begin{Scode}{eval=TRUE} DLED <- function(PRICES,PHI,RATES){ vec <- vector(mode='numeric',length=length(PRICES)) for (i in 1:length(PRICES)){ vec[i] <- PRICES[i]*RATES[i]*sum(PHI)} return(vec) } \end{Scode} % 'DrillingToProduction' takes a matrix of changes in number of % wells drilled, multiplies each entry by the product of the % success rate 'SR' and the expected production per % successful well 'PROD'. \begin{Scode} DrillingToProduction <- function(MAT,SR,PROD){ return(MAT*SR*PROD) } \end{Scode} \begin{Scode}{eval=TRUE} EGRevenue <- function(CHANGES,BASE,PRICES,CURR_RATE,SR,PROD){ rmat <- matrix(rep(0,nrow(CHANGES)*length(PRICES)),nrow=nrow(CHANGES)) for (i in 1:nrow(CHANGES)){ for (j in 1:length(PRICES)){ rmat[i,j] <- (SR *PROD *(BASE[i,j] - CHANGES[i,j]) *PRICES[j] *CURR_RATE[i])}} return(rmat) } \end{Scode} \begin{Scode} Revenue <- function(PRICES,BASE_PROD,CHANGE_PROD,BASE_RATES,CHANGE_RATES){ if (length(PRICES) != ncol(BASE_PROD)){stop('Input Error: Incongruence')} prices <- matrix(rep(PRICES,nrow(BASE_PROD)),nrow=nrow(BASE_PROD),byrow=TRUE) rev <- matrix(nrow=nrow(BASE_PROD),ncol=ncol(BASE_PROD)) for (i in 1:nrow(rev)){ for (j in 1:ncol(rev)){ rev[i,j] <- ((BASE_PROD[i,j]-CHANGE_PROD[i,j])*prices[i,j]*CHANGE_RATES[i,j] - BASE_PROD[i,j]*prices[i,j]*BASE_RATES[i,j])}} return(rev) } \end{Scode} \begin{Scode}{eval=FALSE} CGRevenue <- function(CHANGES,BASE,PRICES,CURR_RATE,RATES){ rmat <- matrix(rep(0,nrow(CHANGES)*length(prices)),nrow=nrow(CHANGES)) for (i in 1:nrow(CHANGES)){ for (j in 1:length(PRICES)){ rmat[i,j] <- ((BASE[i,j] - CHANGES[i,j])*PRICES[i]*RATES[j] - (BASE[i,j]*PRICES[i]*CURR_RATE))}} return(rmat) } \end{Scode} %INDUSTRY REVENUE % Revenue with the exemptions minus revenue without the exemptions. % Revenue with the exemptions is price times the exemptions level % Revenue without the exemptions is price times the no-exemptions level % Exemptions level is the last year of total production. % No-exemptions level is the last year of production minus the % decline in production due to lifting the exemptions. % This function takes a matrix ('mat') of total production declines for % given well types, and various prices, along with initial production % levels. \begin{Scode}{eval=FALSE} IRevenue <- function(MAT,PRICES){ for (i in 1:nrow(MAT)){ for (j in 1:ncol(MAT)){ rmat[i,j] <- MAT[i,j]*PRICES[j]*(1-0.05)}} return(rmat) } \end{Scode} % GOV'T REVENUE % Revenue with the exemptions minus revenue without the exemptions. % Revenue with the exemptions is the tax rate times price times the exemptions level % CBASE is a matrix consisting of NCOLUMNS copies of the vector LEVELS % as its columns. Element i of LEVELS --- LEVELS[i] --- is the % pre-change production (estimated) level for welltype i % (i = 'Wildcat', 'Development', 'Extension'). \begin{Scode}{CONSTRUCTING-THE-BASE-LEVEL-PRODUCTION-FOR-EXEMPTIONS,eval=TRUE} CBASE <- function(LEVELS,NCOLUMNS){ mat <- matrix(rep(LEVELS,NCOLUMNS),ncol=NCOLUMNS) return(mat) } \end{Scode} \begin{Scode} CBASE2 <- function(LEVELS,NROWS,NCOLUMNS){ mat <- matrix(rep(sum(LEVELS),NCOLUMNS*NROWS),nrow=NROWS) return(mat) } \end{Scode} % CHANGES is a matrix of the estimated production declines by well type % (rows) and by price level (columns). BASE is a matrix of the same % dimensions as CHANGES with entries that are the pre-change levels % of production by wells type (columns repeat, see description of % the function CBASE). CURR_RATE (scalar) is the current severance % tax rate and RATES is a vector of prospective severance tax rates. % PRICES is a vector of prospective prices. % GRevenue works as follows: the change in gov't revenue is the % arithmetic difference in post-change gov't revenue and pre-change % gov't revenue. Post-change gov't revenue is the product of long-run % annual post-change production (BASE-CHANGES), price per unit of % production (PRICES), and the post-change tax rate % (RATES). Pre-change gov't revenue is the product of long-run annual % pre-change production (BASE), price per unit of production (PRICES), % and the pre-change tax rate (CURR_RATE). \begin{document} \begin{titlepage} \begin{center} {\large The Effect of Proposed 2009 Tax Changes on Utah's Oil~and~Gas~Industry} \\\vspace{50pt} \textnormal{Gabriel A. Lozada\footnote{Department of Economics, University of Utah, Salt Lake City, UT 84112-9300. Email: {\tt lozada@economics.utah.edu}. This report contains only the opinions of Prof.~Lozada and does not necessarily represent the opinions of the University of Utah or its Department of Economics.} {\sc BA, BS, MA, MS, PhD}} \\ \textnormal{\small Assisted by Michael Hogue {\sc BA, MA, BA}} \\\vspace{40pt} \textnormal{November 24th, 2008} \end{center} \tableofcontents \end{titlepage} \section{Introduction} The purpose of this report is to estimate the effect of increasing taxes on Utah's oil and gas industry. By ``increasing taxes'' we mean eliminating the tax exemptions or credits to which the industry is currently entitled. \par We focus specifically on the change in drilling or in production that would result from increasing the effective tax rates. The decrease in drilling or production will have secondary effects, for example a reduction in employment, which we do not estimate, for two reasons. \par If the State increases tax rates, it can either spend the resulting increased tax revenue, or it can save it. If it spends it, then while activity in the oil and gas sector will decrease, and that will have negative secondary effects, the corresponding increase in government spending will stimulate other sectors of the economy. There is no reason to think that overall economic activity in Utah will decline if activity in the oil and gas sector declines and activity in other sectors which provide services to the government---such as highways, education, public health, and public safety---increases (or when the tax increases imposed on the oil and gas sector are offset by tax decreases on other sectors of the economy). \par On the other hand, the State may save the increased tax revenues, for example in a trust fund set up to compensate for the depletion---actually depreciation---of the State's stock of natural capital caused by the oil and gas extraction. Utah has passed legislation to start doing this in 2009. Among its neighbors, the amount of tax revenue from the oil, natural gas, and coal industries which the governments put into long-term investments in 2006 were: Colorado 10.4\%, Montana 5.4\%, New Mexico 5.8\%, and Wyoming 12.2\% \citep[see][p.~25]{Headwaters2008}. The balance in these states' trust funds in 2006 were approximately: \$200 million in the Colorado Department of Natural Resources Severance Tax Perpetual Fund; \$100 million in the Montana Resource Indemnity and Groundwater Assessment Tax permanent fund (this is its legally mandated cap; it cannot grow any larger); \$4.15~billion in the New Mexico Severance Tax Bonding Fund; and \$3~billion in the Permanent Wyoming Mineral Trust Fund \citep[see][pp.\ 27-28]{Headwaters2008}. This type of government saving, like private saving, can have the effect of benefitting the future while depressing economic activity in the present. On the whole, however, saving in this type of ``sinking fund'' is good because it prevents governments from spending from gross tax revenues; prudent state governments, just like prudent private firms, spend not from {\em gross\/} revenues, but instead first subtract out depreciation, which they set aside in a sinking fund, and then spend only out of the resulting {\em net\/} revenues. For more on such strategies see \citep{Lozada1995}. % ``Energy Revenue in the Intermountain West: State and Local % Government Taxes and Royalties from Oil, Natural Gas, and Coal.'' % Headwaters Economics, Bozeman, Montana: October, 2008. Available % at: {\tt % http://www. %headwaterseconomics.org/energy/HeadwatersEconomics_EnergyRevenue.pdf % } % Lozada, Gabriel A., ``Resource Depletion, National Income Accounting, % and the Value of Optimal Dynamic Programs.'' {\sl Resource and Energy % Economics}, August 1995, pp.\ 137--154. \par Before studying the likely future effect in Utah of increasing taxation on the oil and gas industry, it is instructive to consider the recent historical experience of two other Intermountain states: \begin{quotation} ``Wyoming and Montana's divergent choices in the late 1990s offer a case study. In the late 1990s, energy prices were low and new exploration and production were relatively flat in both states. Wyoming faced steep budget deficits, and legislators in both states were looking for ways to jump-start the energy economy. In the hopes of stimulating production, Montana simplified its tax structure and reduced production tax rates from 15 to 9~percent on oil wells and from 12 to 9~percent on natural gas wells drilled after 2001, and extended the definition of stripper wells (low producing wells) that qualify for lower tax rates. Montana added these reforms on top of existing incentives that nearly exempt new production from production taxes (the rate is 0.5\% for the first 12 to 18~months depending on the type of well). As a result, as new production becomes a larger share of all wells in Montana, the effective tax rate on oil and natural gas production declines. At the same time, Wyoming commissioned two studies to model the likely outcomes of tax incentives and tax increases on the oil and natural gas industries. The studies concluded that tax incentives would not stimulate significant new production or economic activity, but would cost the state millions in lost tax revenue. The studies also found the opposite true: that higher tax rates would produce new revenue with little risk of slowing the energy economy. As a result, in 2000 Wyoming eliminated a 2~percent reduction in its severance tax rate granted the previous year. We calculated in the previous section that the overall tax rate faced by industry is higher, by about 50 percent, in Wyoming than in Montana. [Note: They calculate ``effective tax rates'' of 15.9\% in Wyoming, 15.0\% in New Mexico, 10.4\% in Montana, 9.9\% in Utah, and 6.2\% in Colorado.] This is a direct result of the tax policies pursued by each state in the late 1990s and early 2000s. \par ``What, if any, effect has this had on the energy economy in Wyoming and Montana? Both states have experienced a surge in natural gas drilling and an increase in commodity prices since 2000. Wyoming added over \$10~billion in production value and Montana about \$2~billion between 2000 and 2006. New drilling continues in Wyoming at a faster pace than in Montana, and Wyoming's energy economy is significant. There is little evidence in the overall figures to suggest that firms fled Wyoming's higher tax climate and moved to Montana. If anything, Wyoming's communities where energy development is taking place are overwhelmed by the frantic pace and scale of drilling\ldots \citep[][pp.\ 20--21]{Headwaters2008}.'' \end{quotation} The following pages end up showing that, as a whole, we come to the same conclusion as the 1990's studies which correctly predicted the results of Wyoming's tax increase: namely that tax increases of the magnitude considered here will increase State revenues and will depress oil and gas activity by a very small amount. \par On a final note, ``production'' of oil and gas is in a sense a misnomer. Oil and gas were produced millions of years ago; none are produced today. The oil and gas industries extract these products today, and if their activity is reduced, more oil and gas will remain in the ground for future generations of Americans to use. So diminishing ``production'' of oil and gas from Utah today is properly understood not as decreasing the total amount of oil and gas ever extracted from the state, but instead as shifting extraction from today to the future. \section{Basic Methodology} \label{sec:basic-methodology} There are two main approaches to modeling extractive industries such as oil and gas. One approach, used for example by Gerking in his studies of Wyoming and Utah severance taxes \citep{Gerking2002}, assumes the extractive industry is in a long-run competitive market equilibrium in which the exhaustibility of the resource is the key determinant of the time path of prices. (This approach is sometimes called the ``Hotelling model'' after \citep{Hotelling1931}. While this approach is completely standard in economic theory, it has theoretical deficiencies which one of us (Lozada) has been researching his entire career, and it has almost never been helpful in fitting real-world data. For example, it predicts none of the dramatic swings in oil prices that the world has experienced since the early 1970's. \par Hence a second approach is used here. In this approach, the reaction of the oil and gas industry to a change in taxes is modeled just using the historical data from that industry, without an overarching theoretical model superimposed on that data. As a consequence, this study neither assumes nor predicts any characteristics of the industry many decades from now. Given the limitations of all empirical economic modeling, that is appropriate for answering the questions at hand. \par To illustrate the mathematical version of our approach, consider wildcat oil well drilling. The mathematical variable $\regv{WO}_{t}$ will represent the number of wildcat oil wells drilled in ``year~$t$.'' It appears on the left-hand side of our basic wildcat oil well drilling equation \begin{equation} \regv{WO}_{t} = \alpha + \lambda\regv{WO}_{t-1} + \phi\regv{PO}_{t} + \varepsilon_{t} \,. \tag{\ref{eq:EQ.WO}} \end{equation} The right-hand side of this equation describes how we predict the left-hand side. The first term, the Greek letter ``$\alpha$'' (``alpha''), called ``the constant term,'' usually has little economic interpretation, and is present mostly because it usually improves the statistical fit of the equation. The next term describes the relationship between last year's number of wildcat oil wells drilled, $\regv{WO}_{t-1}$, and the left-hand side of the equation (this year's number of wildcat oil wells drilled). For more information about this term, see subsection \ref{sec:lagged-effect-price} of the Appendix. The numerical relationship between the two is given by the Greek letter ``$\lambda$'' (``lambda''). The third term describes the relationship between the price of oil in this year, $\regv{PO}_{t}$, and the left-hand side of the equation (this year's number of wildcat oil wells drilled). The Greek letter ``$\phi$'' (``phi'') gives the numerical relationship between the price of oil and the number of wildcat oil wells drilled. The last term, $\varepsilon_{t}$, is an ``error term'' that simply signifies that the right-hand side of equation does not perfectly equal the left-hand side. Error terms are present in every statistical relationship. Numbers for the unknown variables $\alpha$, $\lambda$, and~$\phi$ are obtained by ``fitting'' Equation~\eqref{eq:EQ.WO} to the data which we have. This process gives, for each of these three unknowns, the following results which we will report: \begin{description} \item[Estimate:] Our best approximation to the true value of the unknown. \item[Standard Error:] This is often (if not always quite correctly) interpreted as implying that there is approximately a $2/3$ chance that the true value of the unknown lies within plus or minus one Standard Error of our Estimate. \item[$t$ Value:] How many Standard Errors separate the Estimate from zero. The bigger this is, the more confident one is that the true value of the unknown is not zero. If it were zero, it would be unrelated to the left-hand side of the equation. \item[$p$ Value:] The $p$~Value ranges from zero to one. If the $p$~Value is close to zero (say, 1\% or 5\%), one can be rather confident that the true value of the unknown variable $\alpha$, $\lambda$, or~$\phi$ is not zero. If the $p$~Value is close to one, it is less plausible that the true value of the unknown variable is zero. For example, if $\phi$ were close to one (perhaps $0.7$ or $0.8$), it would indicate that there is likely no relationship between price and wells drilled. (It could also indicate that there {\em is\/} a relationship between price and wells drilled but that Equation~\eqref{eq:EQ.WO} is not the right way to express it.) \item[Lower 95\%, Upper 95\%:] We are 95\% confident that the true value of the unknown lies in the interval between these two numbers. \end{description} Finally, ``$R^2$'' and ``Adjusted~$R^2$'' are two related measures of how well the equation as a whole fits the data. They range from zero to one, with one being a perfect fit and zero being no fit. \par The symbol $\est{\regv{WO}}_{t}$ means our predicted value of~$\regv{WO}_{t}$. The number of wells drilled depends on costs as well as on price, and a disadvantage of our study is that we lack data on per-well costs. However, a second-order polynomial approximation to {\em any\/} arbitrary cost function~$C$ can be written as $C(q) = a_1 + a_2 q + a_3 q^2$, and the corresponding profit-maximizing quantity for a competitive firm has the form $q = b_1 + b_2 p$, which is the form we estimate (except we take lags into account; $q$~is output, $p$~is price). Our formulation is hence satisfactory (i.e., not ``misspecified'') whenever there is little error in representing the cost function by its second-degree polynomial approximation.\footnote{The reason why we use a one-equation model and interpret the result as the supply curve, instead of simultaneously estimating a supply and demand pair, is that Utah suppliers can be assumed to face a horizontal demand curve because their role in international oil markets is so small. Price changes come from shifts in the flat demand curve, resulting from shifts in the international price of oil. Those shifts might be due to either aggregate demand or aggregate supply, but that is immaterial. Our model resembles ``competitive fringe'' analyses.} % Ideally, an equation such as \eqref{eq:EQ.WO} would predict wells % drilled using price {\em minus per-unit cost}, not just % price.{\footnote{Technically, the appropriate ``per-unit'' cost is the % incremental cost of an additional unit, also known as ``marginal % cost,'' not the more easily obtained ``average cost.''}} % Unfortunately, we only have price data, not cost data---that is, we do % not have individual cost data for each well in the State for each % separate year, which is what we would need to incorporate costs into our % equations.{\footnote{The Tax Commission may have some cost data, but it % would be confidential.}} If the per-unit cost ``$\regv{PUC}_{t}$'' % did not change over time, and if we did not use logarithms, then the % correct equation (the one including costs), % \begin{equation} % \label{eq:correct} % \regv{WO}_{t} = \alpha + \lambda\regv{WO}_{t-1} % + \phi [\regv{PO}_{t} -\regv{PUC}_{t}] % + \varepsilon_{t} % \end{equation} % could be rewritten as % \begin{equation} % \label{eq:rewrite} % \regv{WO}_{t} = [\alpha - \phi \regv{PUC}] % + \lambda\regv{WO}_{t-1} % + \phi \regv{PO}_{t} % + \varepsilon_{t} % \end{equation} % and costs would be captured in the constant term; there would be no % problem with only using price instead of cost.{\footnote{Furthermore, one % could predict that the value of Utah's constant term would be lower % than the value of, say, Wyoming's constant term by ``$\phi % \regv{PUC}$'' for Wyoming minus ``$\phi \regv{PUC}$'' for Utah, i.e., % the amount by which Utah's per-unit cost exceeded Wyoming's per-unit % cost, times the appropriate~$\phi$.}} At the other extreme, if % per-unit cost always varied together with price, then per-unit cost could % be written as a constant proportion of price. Using ``$m$'' to denote % that proportion, then the correct equation (the one including costs), % \begin{equation} % \label{eq:correcttwo} % \regv{WO}_{t} = \alpha + \lambda\regv{WO}_{t-1} % + \phi [\regv{PO}_{t} -\regv{PUC}_{t}] % + \varepsilon_{t} % \end{equation} % could be rewritten as % \begin{equation} % \label{eq:rewritetwo} % \regv{WO}_{t} = \alpha + \lambda\regv{WO}_{t-1} % + \phi [\regv{PO}_{t} -m \regv{PO}_{t}] % + \varepsilon_{t} % \end{equation} % which equals % \begin{equation} % \label{eq:rewritethree} % \regv{WO}_{t} = \alpha + \lambda\regv{WO}_{t-1} % + (\phi-m) \regv{PO}_{t} % + \varepsilon_{t} % \end{equation} % and again there would be no problem with only using price instead of % cost, because costs would be captured in the ``$\phi$'' term. So in the % extreme cases of per-unit costs either being constant or changing always % with price, our formulation poses no difficulties. In other cases, costs % are only imperfectly captured in the $\alpha$ and $\phi$ terms, and it % would be better to have per-well per-year cost data. The statistical % measures of fit described above (standard error, $t$~value, $p$~value, % confidence intervals) will tell us how closely our equation fits the data % despite our lack of cost data. Throughout this report, unless otherwise specified: oil is measured in barrels; gas is measured in thousand cubic feet (``Mcf''); and inflation-adjusted (``real'') prices are measured in 2006 dollars. \section{Wellhead Price of Utah Oil and Natural Gas} \label{sec:wellhead-price-utah} We estimate the effect of a tax change by way of observing how the industry has responded to changes in price. The prices we use for this study are based on the deflated Utah wellhead prices, where the deflator is the core CPI\footnote{We use the core CPI---sometimes described as `the CPI without food and energy prices'---instead of the CPI-U since the former is less influenced by the price of oil and gas.}. See section (\ref{sec:data}) in the appendix for the data sources. %% plot of "real" (CPI core) UT wellhead price of oil. \begin{figure}[t]\label{fig:real-ut-oil} \psfrag{price}[B][B][1][0]{\parbox{2in}{\centering Price\\(barrel)}} \psfrag{time}[B][B][1][0]{Time} \begin{center} \begin{Scode}{label=plot-wh_price_o,fig=TRUE,echo=FALSE,eval=TRUE} par(mar=c(5,4,4,2)+0.1) ts.plot(yrpo.O,ylab="price",xlab="time") points(yrpo.O,pch=20,cex=1) \end{Scode} \caption{Real wellhead price per barrel of Utah oil from 1960 through 2006.} \end{center} \end{figure} %% plot of "real" (CPI core) UT wellhead price of gas. \begin{figure}[t]\label{fig:real-ut-gas} \psfrag{price}[B][B][1][0]{Price} \psfrag{time}[B][B][1][0]{Time} \begin{center} \begin{Scode}{label=plot-wh_price_g,fig=TRUE,echo=FALSE,eval=TRUE} ts.plot(yrpg.G,ylab="price",xlab="time") points(yrpg.G,pch=20,cex=1) \end{Scode} \caption{Real wellhead price of Utah natural gas per thousand cubic feet (Mcf) from 1967 through 2006.} \end{center} \end{figure} \FloatBarrier \newpage \section{Severance Tax Exemptions for Wildcat, Development and Extension Wells} \label{sec:holiday} In 1990 (effective January 1992) Utah implemented a tiered severance tax for both oil and gas\footnote{Before 1992, Utah had a flat severance tax for both oil and natural gas. The rates were $1\%$ between 1938 and 1960, $2\%$ between 1960 and 1985, and $4\%$ between 1985 and 1992.}. In the case of oil, the tax rate is $3\%$ of the portion of wellhead price less than \$13 per barrel and $5\%$ of the portion of the wellhead price greater than \$13 per barrel. For natural gas, the rate is $3\%$ of the portion of the wellhead price less than \$1.50/Mcf and $5\%$ of the portion of the wellhead price greater than \$1.50/Mcf. \par Severance taxes are not levied on the first 12 months' oil or gas produced from wildcat wells. In sections \ref{sec:WO} and \ref{sec:WG} we estimate a statistical model which relates the number of wildcat wells drilled to the inflation-adjusted price per of barrel of oil and thousand cubic feet (Mcf) of natural gas. \par Production from development and extension wells is exempt from severance taxes for the first 6 months. In sections \ref{sec:DO}, \ref{sec:DG}, \ref{sec:EO}, and \ref{sec:EG} we estimate statistical models which relate the number of development and extension oil and gas wells drilled to the inflation-adjusted price of oil and of natural gas. \FloatBarrier \newpage \subsection{Wildcat Oil Well Drilling} \label{sec:WO} \begin{Scode} options(digits=2,scipen=3) \end{Scode} \psfrag{wo}[B][B][1][0]{\gannotationsize{WO}} \psfrag{yrop.O}[B][B][1][0]{\gannotationsize{PO}} \psfrag{lag0}[B][B][1][0]{\gannotationsize{Present-period price}} \psfrag{lag1}[B][B][1][0]{\gannotationsize{Past-period price}} \begin{center} \begin{Scode}{fig=TRUE,height=3.421,eval=TRUE} par(mfrow=c(1,2),pch=20,cex=0.5) plot(lag(yrpo.O,0),wo,xy.lines=FALSE,xy.labels=FALSE,xlab="lag0") plot(lag(yrpo.O,1),wo,xy.lines=FALSE,xy.labels=FALSE,xlab="lag1") \end{Scode} \end{center} \psfrag{wo}[B][B][1][0]{\gannotationsize{WO}} \psfrag{yrpo.O}[B][B][1][0]{\gannotationsize{PO}} \psfrag{TIME}[B][B][1][0]{\gannotationsize{Time}} \begin{center} \begin{Scode}{WO-figure,fig=TRUE} plot(cbind(wo,yrpo.O),main=" ",xlab="TIME") \end{Scode} \end{center} \begin{GRAPH-COMMENTARY} From looking at the graph, we expect to find a rather close relationship between changes in the price of oil and the number of wildcat oil wells drilled. \end{GRAPH-COMMENTARY} \FloatBarrier \newpage \begin{Scode}{label=WO} model.WO <- dynlm(wo ~ L(wo,k=1) + yrpo.O) yhat.WO <- fitted(model.WO) coef1.WO <- summary(model.WO)$coefficients[1,1] #$ coef2.WO <- summary(model.WO)$coefficients[2,1] #$ coef3.WO <- summary(model.WO)$coefficients[3,1] #$ \end{Scode} \begin{equation} \label{eq:EQ.WO} \regv{WO}_{t} = \alpha + \lambda\regv{WO}_{t-1} + \phi\regv{PO}_{t} + \varepsilon_{t} \end{equation} \begin{Scode}{results=tex} tab <- reg.info(model.WO) rownames(tab) <- c("$\\alpha$", "$\\lambda$", "$\\phi$", "\\phantom{xxx}") xtab <- xtable(tab) align(xtab) <- rep("c",7) print(xtab,hline.after=c(-1,0,0,nrow(tab)-1,nrow(tab)-1,nrow(tab)), sanitize.text.function=function(x){x}, floating=FALSE) \end{Scode} \begin{equation} \label{eq:EST.WO} \est{\regv{WO}}_{t} = \Sexpr{format(coef1.WO)} + \Sexpr{format(coef2.WO)}\cdot\regv{WO}_{t-1} + \Sexpr{format(coef3.WO)}\cdot\regv{PO}_{t} \end{equation} \begin{EST-COMMENTARY} Equation (\ref{eq:EQ.WO}) relates each year's wildcat oil well drilling to that year's inflation-adjusted wellhead price of Utah oil and to the previous year's wildcat oil well drilling. The estimated relation is given in (\ref{eq:EST.WO}) and is based on annual data from \Sexpr{start(yrpo.O)} through \Sexpr{end(yrpo.O)}. The estimated short-run decline in the number of wildcat oil wells drilled for a small change ``$\Delta\regv{PO}$'' in price is $\Delta\regv{PO}\times\Sexpr{format(coef3.WO)}$, while the estimated long-run decline is $\Delta\regv{PO}\times\Sexpr{format(coef3.WO/(1 - coef2.WO))}$. For example, if the price of oil fell by $\$10$ per barrel, we predict $\Sexpr{format(coef3.WO)} \times 10 = \Sexpr{format(coef3.WO*10)}$ fewer wildcat oil wells will be drilled in Utah every year in the short-run and $\Sexpr{format(coef3.WO/(1 - coef2.WO))} \times 10 = \Sexpr{format(coef3.WO/(1 - coef2.WO)*10)}$ wildcat oil wells will be drilled in Utah every year in the in the long-run. Appendix~\ref{sec:lagged-effect-price} explains how the long-run effect is calculated. Appendix~C also explains how ``last period's oil well drilling'' can be interpreted as a stand-in for the oil prices in previous years. \end{EST-COMMENTARY} \FloatBarrier \newpage \subsection{Wildcat Natural Gas Well Drilling} \label{sec:WG} \psfrag{wg}[B][B][1][0]{\gannotationsize{WG}} \psfrag{yrgp.G}[B][B][1][0]{\gannotationsize{PG}} \psfrag{lag0}[B][B][1][0]{\gannotationsize{Present-period price}} \psfrag{lag1}[B][B][1][0]{\gannotationsize{Past-period price}} \begin{center} \begin{Scode}{fig=TRUE,height=3.421} par(mfrow=c(1,2),pch=20,cex=0.5) plot(lag(yrpg.G,0),wg,xy.lines=FALSE,xy.labels=FALSE,xlab="lag0") plot(lag(yrpg.G,1),wg,xy.lines=FALSE,xy.labels=FALSE,xlab="lag1") \end{Scode} \end{center} \psfrag{wg}[B][B][1][0]{\gannotationsize{WG}} \psfrag{yrpg.G}[B][B][1][0]{\gannotationsize{PG}} \psfrag{TIME}[B][B][1][0]{\gannotationsize{Time}} \begin{center} \begin{Scode}{WG-figure,fig=TRUE,height=3.421} plot(cbind(wg,yrpg.G),main=" ",xlab="TIME") \end{Scode} \end{center} \begin{GRAPH-COMMENTARY} From looking at the graph, we expect to find not as close a relationship between changes in the price of natural gas and the number of wildcat natural gas wells drilled. \end{GRAPH-COMMENTARY} \FloatBarrier \newpage \begin{Scode}{WG} model.WG <- dynlm(wg ~ L(wg,k=1) + yrpg.G) yhat.WG <- fitted(model.WG) coef1.WG <- summary(model.WG)$coefficients[1,1] #$ coef2.WG <- summary(model.WG)$coefficients[2,1] #$ coef3.WG <- summary(model.WG)$coefficients[3,1] #$ \end{Scode} \begin{equation} \label{eq:EQ.WG} \regv{WG}_{t} = \alpha + \lambda\regv{WG}_{t-1} + \phi\regv{PG}_{t} + \varepsilon_{t} \end{equation} \begin{Scode}{results=tex} tab <- reg.info(model.WG) rownames(tab) <- c("$\\alpha$", "$\\lambda$", "$\\phi$", "\\phantom{xxx}") xtab <- xtable(tab) align(xtab) <- rep("c",7) print(xtab,hline.after=c(-1,0,0,nrow(tab)-1,nrow(tab)-1,nrow(tab)), sanitize.text.function=function(x){x}, floating=FALSE) \end{Scode} \begin{equation} \label{eq:EST.WG} \est{\regv{WG}}_{t} = \Sexpr{format(coef1.WG)} + \Sexpr{format(coef2.WG)}\cdot\regv{WG}_{t-1} + \Sexpr{format(coef3.WG)}\cdot\regv{PG}_{t} \end{equation} \begin{EST-COMMENTARY} Equation (\ref{eq:EQ.WG}) relates each year's wildcat natural gas well drilling to that year's inflation-adjusted price of Utah natural gas and to the previous year's wildcat natural gas well drilling. The estimated relation is given in (\ref{eq:EST.WG}) and is based on annual data from \Sexpr{start(yrpg.G)} through \Sexpr{end(yrpg.G)}. The estimated short-run decline in the number of wildcat natural gas wells drilled for a small change ``$\Delta\regv{PG}$'' in price is $\Delta\regv{PG}\times\Sexpr{format(coef3.WG)}$, while the estimated long-run decline in the number wells drilled is $\Delta\regv{PG}\times\Sexpr{format(coef3.WG/(1 - coef2.WG))}$. For example, if the price of natural gas fell by $\$0.50$ per Mcf, we predict $\Sexpr{format(coef3.WG)} \times 0.5 = \Sexpr{format(coef3.WG*0.5)}$ fewer wildcat natural gas wells will be drilled in Utah every year in the short-run and $\Sexpr{format(coef3.WG/(1 - coef2.WG))} \times 0.5 = \Sexpr{format(coef3.WG/(1 - coef2.WG)*0.5)}$ wildcat natural gas wells will be drilled in Utah every year in the in the long-run. \end{EST-COMMENTARY} \FloatBarrier \newpage \subsection{Development Oil Well Drilling} \label{sec:DO} \psfrag{do}[B][B][1][0]{\gannotationsize{DO}} \psfrag{yrpo.O}[B][B][1][0]{\gannotationsize{PO}} \psfrag{lag0}[B][B][1][0]{\gannotationsize{Present-period price}} \psfrag{lag1}[B][B][1][0]{\gannotationsize{Past-period price}} \begin{center} \begin{Scode}{fig=TRUE,height=3.421} par(mfrow=c(1,2),pch=20,cex=0.5) plot(lag(yrpo.O,0),do,xy.lines=FALSE,xy.labels=FALSE,xlab="lag0") plot(lag(yrpo.O,1),do,xy.lines=FALSE,xy.labels=FALSE,xlab="lag1") \end{Scode} \end{center} \psfrag{do}[B][B][1][0]{\gannotationsize{DO}} \psfrag{yrpo.O}[B][B][1][0]{\gannotationsize{PO}} \psfrag{TIME}[B][B][1][0]{\gannotationsize{Time}} \begin{center} \begin{Scode}{DO-figure,fig=TRUE,height=3.421} plot(cbind(do,yrpo.O),main=" ",xlab="TIME") \end{Scode} \end{center} \begin{GRAPH-COMMENTARY} From looking at the graph, we expect to find a rather close relationship between changes in the price of oil and the number of development oil wells drilled. \end{GRAPH-COMMENTARY} \FloatBarrier \newpage \begin{Scode}{DO} model.DO <- dynlm(do ~ L(do,k=1) + yrpo.O) yhat.DO <- fitted(model.DO) coef1.DO <- summary(model.DO)$coefficients[1,1] #$ coef2.DO <- summary(model.DO)$coefficients[2,1] #$ coef3.DO <- summary(model.DO)$coefficients[3,1] #$ \end{Scode} \begin{equation} \label{eq:EQ.DO} \regv{DO}_{t} = \alpha + \lambda\regv{DO}_{t-1} + \phi\regv{PO}_{t} + \varepsilon_{t} \end{equation} \begin{Scode}{results=tex} tab <- reg.info(model.DO) rownames(tab) <- c("$\\alpha$", "$\\lambda$", "$\\phi$", "\\phantom{xxx}") xtab <- xtable(tab) align(xtab) <- rep("c",7) print(xtab,hline.after=c(-1,0,0,nrow(tab)-1,nrow(tab)-1,nrow(tab)), sanitize.text.function=function(x){x}, floating=FALSE) \end{Scode} \begin{equation} \label{eq:EST.DO} \est{\regv{DO}}_{t} = \Sexpr{format(coef1.DO)} + \Sexpr{format(coef2.DO)}\cdot\regv{DO}_{t-1} + \Sexpr{format(coef3.DO)}\cdot\regv{PO}_{t} \end{equation} \begin{EST-COMMENTARY} Equation (\ref{eq:EQ.DO}) relates each year's development oil well drilling to that year's inflation-adjusted wellhead price of Utah oil and to the previous year's development oil well drilling. The estimated relation is given in (\ref{eq:EST.DO}) and is based on annual data from \Sexpr{start(yrpo.O)} through \Sexpr{end(yrpo.O)}. The estimated short-run decline in the number of development oil wells drilled for a small change ``$\Delta\regv{PO}$'' in price is $\Delta\regv{PO}\times\Sexpr{format(coef3.DO)}$, while the estimated long-run decline is $\Delta\regv{PO}\times\Sexpr{format(coef3.DO/(1 - coef2.DO))}$. \end{EST-COMMENTARY} \FloatBarrier \newpage \subsection{Development Natural Gas Well Drilling} \label{sec:DG} \psfrag{dg}[B][B][1][0]{\gannotationsize{DG}} \psfrag{yrgp.G}[B][B][1][0]{\gannotationsize{PG}} \psfrag{lag0}[B][B][1][0]{\gannotationsize{Present-period price}} \psfrag{lag1}[B][B][1][0]{\gannotationsize{Past-period price}} \begin{center} \begin{Scode}{fig=TRUE,height=3.421} par(mfrow=c(1,2),pch=20,cex=0.5) plot(lag(yrpg.G,0),dg,xy.lines=FALSE,xy.labels=FALSE,xlab="lag0") plot(lag(yrpg.G,1),dg,xy.lines=FALSE,xy.labels=FALSE,xlab="lag1") \end{Scode} \end{center} \psfrag{dg}[B][B][1][0]{\gannotationsize{DG}} \psfrag{yrpg.G}[B][B][1][0]{\gannotationsize{PG}} \psfrag{TIME}[B][B][1][0]{\gannotationsize{Time}} \begin{center} \begin{Scode}{DG-figure,fig=TRUE,height=3.421} plot(cbind(dg,yrpg.G),main=" ",xlab="TIME") \end{Scode} \end{center} \begin{GRAPH-COMMENTARY} From looking at the graph, it seems that for much of this period, there has not been a close relationship between changes in the price of natural gas and the number of development natural gas wells drilled. For example, the big jump in natural gas prices in the early 1980's accompanied a fall in the number of development wells. In the early 1990's, the wells drilled rose as the price fell. A high ``$p$'' value for the relation between price and wells drilled is not surprising here. Because of this, we decided to simplify the equation used, including on the right-hand side simply current and last year's price. \end{GRAPH-COMMENTARY} \FloatBarrier \newpage \begin{Scode}{DG} model.DG <- dynlm(dg ~ yrpg.G + L(yrpg.G,k=1)) yhat.DG <- fitted(model.DG) coef1.DG <- summary(model.DG)$coefficients[1,1] #$ coef2.DG <- summary(model.DG)$coefficients[2,1] #$ coef3.DG <- summary(model.DG)$coefficients[3,1] #$ \end{Scode} \begin{equation} \label{eq:EQ.DG} \regv{DG}_{t} = \alpha + \phi_{0}\regv{PG}_{t} + \phi_{1}\regv{PG}_{t-1} + \varepsilon_{t} \end{equation} \begin{Scode}{results=tex} tab <- reg.info(model.DG) rownames(tab) <- c("$\\alpha$", "$\\phi_{0}$", "$\\phi_{1}$", "\\phantom{xxx}") xtab <- xtable(tab) align(xtab) <- rep("c",7) print(xtab,hline.after=c(-1,0,0,nrow(tab)-1,nrow(tab)-1,nrow(tab)), sanitize.text.function=function(x){x}, floating=FALSE) \end{Scode} \begin{equation} \label{eq:EST.DG} \est{\regv{DG}}_{t} = \Sexpr{format(coef1.DG)} + \Sexpr{format(coef2.DG)}\cdot\regv{PG}_{t} + \Sexpr{format(coef3.DG)}\cdot\regv{PG}_{t-1} \end{equation} \begin{EST-COMMENTARY} Accordingly, equation (\ref{eq:EQ.DG}) relates each year's development natural gas well drilling to that year's and the previous year's inflation-adjusted prices of Utah natural gas. The estimated relation is given in (\ref{eq:EST.DG}) and is based on annual data from \Sexpr{start(yrpg.G)} through \Sexpr{end(yrpg.G)}. The estimated short-run decline in the number of development natural gas wells drilled for a small change ``$\Delta\regv{PG}$'' in price is $\Delta\regv{PG}\times\Sexpr{format(coef2.DG)}$, while the estimated long-run decline in the number wells drilled is $\Delta\regv{PG}\times\Sexpr{format(coef3.DG + coef2.DG)}$. \end{EST-COMMENTARY} \FloatBarrier \newpage \subsection{Extension Oil Well Drilling} \label{sec:EO} \psfrag{eo}[B][B][1][0]{\gannotationsize{EO}} \psfrag{yrpo.O}[B][B][1][0]{\gannotationsize{PO}} \psfrag{lag0}[B][B][1][0]{\gannotationsize{Present-period price}} \psfrag{lag1}[B][B][1][0]{\gannotationsize{Past-period price}} \begin{center} \begin{Scode}{fig=TRUE,height=3.421} par(mfrow=c(1,2),pch=20,cex=0.5) plot(lag(yrpo.O,0),eo,xy.lines=FALSE,xy.labels=FALSE,xlab="lag0") plot(lag(yrpo.O,1),eo,xy.lines=FALSE,xy.labels=FALSE,xlab="lag1") \end{Scode} \end{center} \psfrag{eo}[B][B][1][0]{\gannotationsize{EO}} \psfrag{yrpo.O}[B][B][1][0]{\gannotationsize{PO}} \psfrag{TIME}[B][B][1][0]{\gannotationsize{Time}} \begin{center} \begin{Scode}{EO-figure,fig=TRUE,height=3.421} plot(cbind(eo,yrpo.O),main=" ",xlab="TIME") \end{Scode} \end{center} \begin{GRAPH-COMMENTARY} From looking at the graph, the relationship between the price of oil and the number of extension oil wells drilled seems to be rather weak. The number of extension oil wells drilled often experiences large changes even when the price of oil is little changed. It is therefore not surprising that we get a high ``$p$'' for the relation between price and wells drilled in the table below. \end{GRAPH-COMMENTARY} \FloatBarrier \newpage \begin{Scode}{EO} model.EO <- dynlm(eo ~ L(eo,k=1) + yrpo.O) yhat.EO <- fitted(model.EO) coef1.EO <- summary(model.EO)$coefficients[1,1] #$ coef2.EO <- summary(model.EO)$coefficients[2,1] #$ coef3.EO <- summary(model.EO)$coefficients[3,1] #$ \end{Scode} \begin{equation} \label{eq:EQ.EO} \regv{EO}_{t} = \alpha + \lambda\regv{EO}_{t-1} + \phi\regv{PO}_{t} + \varepsilon_{t} \end{equation} \begin{Scode}{results=tex} tab <- reg.info(model.EO) rownames(tab) <- c("$\\alpha$", "$\\lambda$", "$\\phi$", "\\phantom{xxx}") xtab <- xtable(tab) align(xtab) <- rep("c",7) print(xtab,hline.after=c(-1,0,0,nrow(tab)-1,nrow(tab)-1,nrow(tab)), sanitize.text.function=function(x){x},floating=FALSE) \end{Scode} \begin{equation} \label{eq:EST.EO} \est{\regv{EO}}_{t} = \Sexpr{format(coef1.EO)} + \Sexpr{format(coef2.EO)}\cdot\regv{EO}_{t-1} + \Sexpr{format(coef3.EO)}\cdot\regv{PO}_{t} \end{equation} \begin{EST-COMMENTARY} Equation (\ref{eq:EQ.EO}) relates each year's extension oil well drilling to that year's inflation-adjusted wellhead price of Utah oil and to the previous year's extension oil well drilling. The estimated relation is given in (\ref{eq:EST.EO}) and is based on annual data from \Sexpr{start(yrpo.O)} through \Sexpr{end(yrpo.O)}. The estimated short-run decline in the number of development oil wells drilled for a small change ``$\Delta\regv{PO}$'' in price is $\Delta\regv{PO}\times\Sexpr{format(coef3.EO)}$, while the estimated long-run decline is $\Delta\regv{PO}\times\Sexpr{format(coef3.EO/(1 - coef2.EO))}$. \end{EST-COMMENTARY} \FloatBarrier \newpage \subsection{Extension Natural Gas Well Drilling} \label{sec:EG} \psfrag{eg}[B][B][1][0]{\gannotationsize{EG}} \psfrag{yrgp.G}[B][B][1][0]{\gannotationsize{PG}} \psfrag{lag0}[B][B][1][0]{\gannotationsize{Present-period price}} \psfrag{lag1}[B][B][1][0]{\gannotationsize{Past-period price}} \begin{center} \begin{Scode}{fig=TRUE,height=3.421} par(mfrow=c(1,2),pch=20,cex=0.5) plot(lag(yrpg.G,0),eg,xy.lines=FALSE,xy.labels=FALSE,xlab="lag0") plot(lag(yrpg.G,1),eg,xy.lines=FALSE,xy.labels=FALSE,xlab="lag1") \end{Scode} \end{center} \psfrag{eg}[B][B][1][0]{\gannotationsize{EG}} \psfrag{yrpg.G}[B][B][1][0]{\gannotationsize{PG}} \psfrag{TIME}[B][B][1][0]{\gannotationsize{Time}} \begin{center} \begin{Scode}{EG-figure,fig=TRUE,height=3.421} plot(cbind(eg,yrpg.G),main=" ",xlab="TIME") \end{Scode} \end{center} \begin{GRAPH-COMMENTARY} From looking at the graph, the relationship between the price of natural gas and the number of extension gas wells drilled seems to be weak. The number of extension oil wells drilled often experiences large changes even when the price of oil is little changed, and it sometimes goes up while the price of natural gas was falling. It is therefore not surprising that we get a very high ``$p$'' value for the relation between price and wells drilled in the table below. \end{GRAPH-COMMENTARY} \FloatBarrier \newpage \begin{Scode}{EG} model.EG <- dynlm(eg ~ L(eg,k=1) + yrpg.G) yhat.EG <- fitted(model.EG) coef1.EG <- summary(model.EG)$coefficients[1,1] #$ coef2.EG <- summary(model.EG)$coefficients[2,1] #$ coef3.EG <- summary(model.EG)$coefficients[3,1] #$ \end{Scode} \begin{equation} \label{eq:EQ.EG} \regv{EG}_{t} = \alpha + \lambda\regv{EG}_{t-1} + \phi\regv{PG}_{t} + \varepsilon_{t} \end{equation} \begin{Scode}{results=tex} tab <- reg.info(model.EG) rownames(tab) <- c("$\\alpha$", "$\\lambda$", "$\\phi$", "\\phantom{xxx}") xtab <- xtable(tab) align(xtab) <- rep("c",7) print(xtab,hline.after=c(-1,0,0,nrow(tab)-1,nrow(tab)-1,nrow(tab)), sanitize.text.function=function(x){x}, floating=FALSE) \end{Scode} \begin{equation} \label{eq:EST.EG} \est{\regv{EG}}_{t} = \Sexpr{format(coef1.EG)} + \Sexpr{format(coef2.EG)}\cdot\regv{EG}_{t-1} + \Sexpr{format(coef3.EG)}\cdot\regv{PG}_{t} \end{equation} \begin{EST-COMMENTARY} Equation (\ref{eq:EQ.EG}) relates each year's development natural gas well drilling to that year's inflation-adjusted price of Utah natural gas and to the previous year's development natural gas well drilling. The estimated relation is given in (\ref{eq:EST.EG}) and is based on annual data from \Sexpr{start(yrpg.G) } through \Sexpr{end(yrpg.G)}. The estimated short-run decline in the number of development natural gas wells drilled for a small change $(\Delta\regv{PG})$ in price is $\Delta\regv{PG}\times\Sexpr{format(coef3.EG)}$, while the estimated long-run decline in the number wells drilled is $\Delta\regv{PG}\times\Sexpr{format(coef3.EG/(1 - coef2.EG))}$. \end{EST-COMMENTARY} \FloatBarrier \newpage \section{Analysis of Past and Proposed Tax Changes for Wildcat, Development, and Extension Wells} We begin by calculating the estimated annual long-run (after roughly a decade) decline in industry activity that would result if the severance tax exemptions for wildcat, development, and extension wells are removed. Note that the term ``New Field'' refers to development wells and extension wells, i.e., wells drilled that are not wildcats. \par Severance tax changes are converted to equivalent price changes using the techniques of the Appendix's subsection \ref{sec:equiv-rate}. % For example, here is how the numbers in the first row of the table are computed. [Add % detailed explanation of one row of numbers] [Add industry revenue % after change, in long run] [Add increase in state tax collection in % long run] %[Add old effective tax rate] %[Add new effective tax rate] %[define effective tax rate as total tax payments divided by % total before-tax revenue, noting that it ought to be divided % instead by total before-tax profit] [State that the % table uses 2008 dollars] % In section \ref{sec:analys-tier-sever} we compare the effect on oil % and gas drilling of the tiered severance tax structure to the one that % preceded it (flat $4\%$). % From 1985 until the beginning of 1992, the severance tax was fixed at % $4\%$. Thereafter the severance tax has had a tiered structure. Here % we estimate the number of wells not drilled as a consequence of the % current $5\%$ production tax rather than the fixed $4\%$ tax the % tiered structure replaced. \FloatBarrier \newpage %%% BEGIN: Summarizing Estimated Drilling and Production Effects % for Removal of Severance Tax Exemptions \begin{Scode} horizon <- 10 discount.rate <- 0.1 \end{Scode} % tsteod for Table Severance Tax Exemptions Oil Drilling \begin{Scode}{STE-OIL-DRILLING-TABLE,results=tex} prices <- c(20,40,60,80,100,120,140,160) flat <- TwoTieredToFlat(PRICES=prices,LRATE=0.03,HRATE=0.05,BREAK=13) rates.WO <- Stretch(FLAT=flat,TAU=1,T=horizon,R=discount.rate) rates.DO <- Stretch(FLAT=flat,TAU=0.5,T=horizon,R=discount.rate) rates.EO <- Stretch(FLAT=flat,TAU=0.5,T=horizon,R=discount.rate) row.WO <- GLED(PRICES=prices,LAMBDA=coef2.WO,PHI=coef3.WO,RATES=rates.WO) row.DO <- GLED(PRICES=prices,LAMBDA=coef2.DO,PHI=coef3.DO,RATES=rates.DO) row.EO <- GLED(PRICES=prices,LAMBDA=coef2.EO,PHI=coef3.EO,RATES=rates.EO) tsteod.bare <- rbind(row.WO,row.DO,row.EO) tsteod <- addmargins(tsteod.bare,1,sum) rownames(tsteod) <- c("Wildcat Oil", "Development Oil","Extension Oil","Total Oil") colnames(tsteod) <- as.character(prices) tsteod.print <- xtable(format(tsteod,digits=1),label="table:tsteod", caption="Estimated long-run annual decline in oil wells drilled, provided the 1 year severance exemption for wildcat wells and 6 month severance tax exemption for new field wells are removed, by price per barrel of oil and well type.") align(tsteod.print) <- c("l",rep("c",ncol(tsteod))) print(tsteod.print,hline.after=c(-1,0,0,nrow(tsteod)),floating=TRUE, floating.environment='table',sanitize.text.function=function(x){x}) \end{Scode} \begin{TAB-COMMENTARY} Table \ref{table:tsteod} shows the estimated decline in the annual number of oil wells drilled if the present severance tax exemptions for oil produced during the first 1 year (wildcat) and 6 months (development and extension) are removed. As an illustration, consider the case where the well is a wildcat, and the price per barrel of oil is $\$60$. Then the severance tax rate is $\displaystyle\frac{0.03 \times 13 + 0.05 \times 47}{60} = \Sexpr{format(TwoTieredToFlat(PRICES=60,LRATE=0.03,HRATE=0.05,BREAK=13))}$. Since the well owner is exempt from this tax for 1 year, received is higher than it would otherwise be by $\Sexpr{format(TwoTieredToFlat(PRICES=60,LRATE=0.03,HRATE=0.05,BREAK=13))} \times 60 = \Sexpr{format(60*TwoTieredToFlat(PRICES=60,LRATE=0.03,HRATE=0.05,BREAK=13))}$. \end{TAB-COMMENTARY} % tsteop for Table Severance Tax Exemptions Oil Production \begin{Scode}{STE-OIL-PRODUCTION-TABLE,results=tex,eval=TRUE} prices <- c(20,40,60,80,100,120,140,160) sr <- tail(usr,n=1) prod <- tail(AYP.O,n=1) tsteop <- DrillingToProduction(MAT=tsteod,SR=sr,PROD=prod) rownames(tsteop) <- c("Wildcat Oil", "Development Oil","Extension Oil","Total Oil") colnames(tsteop) <- as.character(prices) tsteop.print <- xtable(format(tsteop,big.mark=",",scientfic=FALSE,scipen=3),label="table:tsteop", caption="Estimated long-run annual decline in oil production (barrels), provided the 1 year severance exemption for wildcat wells and 6 month severance tax exemption for new field wells are removed, by price per barrel of oil and well type.") align(tsteop.print) <- c("l",rep("c",ncol(tsteop))) print(tsteop.print,hline.after=c(-1,0,0,nrow(tsteop)),floating=TRUE, floating.environment='table',sanitize.text.function=function(x){x}) \end{Scode} \newpage % tstegd for Table Exemptions Gas Drilling \begin{Scode}{STE-GAS-DRILLING-TABLE,results=tex,eval=TRUE} prices <- c(1,2,3,4,5,6,7,8) flat <- TwoTieredToFlat(PRICES=prices,LRATE=0.03,HRATE=0.05,BREAK=1.50) rates.WG <- Stretch(FLAT=flat,TAU=1,T=horizon,R=discount.rate) rates.DG <- Stretch(FLAT=flat,TAU=0.5,T=horizon,R=discount.rate) rates.EG <- Stretch(FLAT=flat,TAU=0.5,T=horizon,R=discount.rate) row.WG <- GLED(PRICES=prices,LAMBDA=coef2.WG,PHI=coef3.WG,RATES=rates.WG) row.DG <- DLED(PRICES=prices,PHI=c(coef2.DG,coef3.DG),RATES=rates.DG) row.EG <- GLED(PRICES=prices,LAMBDA=coef2.EG,PHI=coef3.EG,RATES=rates.EG) tstegd.bare <- rbind(row.WG,row.DG,row.EG) tstegd <- addmargins(tstegd.bare,1,sum) rownames(tstegd) <- c("Wildcat Gas", "Development Gas","Extension Gas","Total Gas") colnames(tstegd) <- as.character(prices) tstegd.print <- xtable(format(tstegd,digits=1),label="table:tstegd", caption="Estimated decline in total natural gas wells drilled, provided the 1 year severance exemption for wildcat wells and 6 month severance tax exemption for new field wells are removed MICHAEL IS THIS RIGHT?, by price per thousand cubic feet (Mcf) of natural gas and well type.") align(tstegd.print) <- c("l",rep("c",ncol(tstegd))) print(tstegd.print,hline.after=c(-1,0,0,nrow(tstegd)),floating=TRUE, floating.environment='table',sanitize.text.function=function(x){x}) \end{Scode} % tegp for Table Exemptions Gas Production \begin{Scode}{STE-GAS-PRODUCTION-TABLE,results=tex,eval=TRUE} prices <- c(1,2,3,4,5,6,7,8) sr <- tail(usr,tail,n=1) prod <- tail(AYP.G,n=1) tstegp.bare <- DrillingToProduction(tstegd,sr,prod) tstegp <- tstegp.bare rownames(tstegp) <- c("Wildcat Gas", "Development Gas","Extension Gas","Total Gas") colnames(tstegp) <- as.character(prices) tstegp.print <- xtable(format(tstegp,big.mark=",",scientfic=FALSE,scipen=3),label="table:tstegp", caption="Estimated decline in total natural gas production (Mcf), provided the 1 year severance exemption for wildcat wells and 6 month severance tax exemption for new field wells are removed MICHAEL IS THIS RIGHT?, by price per thousand cubic feet (Mcf) of natural gas and well type.") align(tstegp.print) <- c("l",rep("c",ncol(tstegp))) print(tstegp.print,hline.after=c(-1,0,0,nrow(tstegp)),floating=TRUE, floating.environment='table',sanitize.text.function=function(x){x}) \end{Scode} \newpage % teoir for Table Exemptions Oil Gov't Revenue \begin{Scode}{STE-OIL-GOV-REVENUE-TABLE,results=tex,eval=TRUE} prices <- c(20,40,60,80,100,120,140,160) flat <- TwoTieredToFlat(PRICES=prices,LRATE=0.03,HRATE=0.05,BREAK=13) curr_rate <- c(flat,flat/2,flat/2) sr <- tail(usr,n=1) prod <- tail(AYP.O,n=1) levels <- c(tail(wo,n=1),tail(do,n=1),tail(eo,n=1)) ncolumns <- ncol(tsteod) base <- CBASE(LEVELS=levels,NCOLUMNS=ncolumns) tsteogr.bare <- (EGRevenue(CHANGES=tsteod.bare,BASE=base,PRICES=prices, CURR_RATE=curr_rate,SR=sr,PROD=prod)) tsteogr <- addmargins(tsteogr.bare,1,sum) rownames(tsteogr) <- c("Wildcat Oil", "Development Oil","Extension Oil","Total Oil") colnames(tsteogr) <- as.character(prices) tsteogr.print <- xtable(format(tsteogr,big.mark=",",scientfic=FALSE,scipen=3), label="table:exempt-oil-g-rev", caption="Estimated long-run annual increase in state government's severance tax revenue from oil, in dollars, provided the 1 year severance exemption for wildcat wells and the 6 month severance tax exemption for development and extension wells are removed, by price per barrel of oil and well type.") align(tsteogr.print) <- c("l",rep("c",ncol(tsteogr))) print(tsteogr.print,hline.after=c(-1,0,0,nrow(tsteogr)),floating=TRUE, floating.environment='sidewaystable',sanitize.text.function=function(x){x}) \end{Scode} % teoir for Table Exemptions Gas Gov't Revenue \begin{Scode}{STE-GAS-GOV-REVENUE-TABLE,results=tex,eval=TRUE} prices <- c(1,2,3,4,5,6,7,8) flat <- TwoTieredToFlat(PRICES=prices,LRATE=0.03,HRATE=0.05,BREAK=1.50) curr_rate <- c(flat,flat/2,flat/2) sr <- tail(usr,n=1) prod <- tail(AYP.G,n=1) levels <- c(tail(wg,n=1),tail(dg,n=1),tail(eg,n=1)) ncolumns <- ncol(tstegd) base <- CBASE(LEVELS=levels,NCOLUMNS=ncolumns) tsteggr.bare <- EGRevenue(CHANGES=tstegd.bare,BASE=base,PRICES=prices, CURR_RATE=curr_rate,SR=sr,PROD=prod) tsteggr <- addmargins(tsteggr.bare,1,sum) rownames(tsteggr) <- c("Wildcat Gas", "Development Gas","Extension Gas","Total Gas") colnames(tsteggr) <- as.character(prices) tsteggr.print <- xtable(format(tsteggr,big.mark=",",scientfic=FALSE,scipen=3), label="table:exempt-oil-g-rev", caption="Estimated long-run annual increase in state government's severance tax revenue from natural gas, in dollars, provided the 1 year severance exemption for wildcat wells and the 6 month severance tax exemption for development and extension wells are removed, by price per thousand cubic feet (Mcf) of natural gas and by well type.") align(tsteggr.print) <- c("l",rep("c",ncol(tsteggr))) print(tsteggr.print,hline.after=c(-1,0,0,nrow(tsteggr)),floating=TRUE, floating.environment='sidewaystable',sanitize.text.function=function(x){x}) \end{Scode} \newpage % END: SEVERANCE TAX EXEMPTIONS % BEGIN: RATE CHANGES % DRILLING % tcod for Table Changes Oil Drilling \begin{Scode}{eval=FALSE} AggDrilling <- function(PRICES,COEFS,TYPE,PROP_RATE,CUR_RATE){ agg <- vector(mode='numeric',length=length(PRICES)) for (i in 1:length(PRICES)){ total <- 0 for (j in 1:nrow(COEFS)){ if (COEFS[j,1] == 'GL'){ total <- total + (GLED(PRICES=PRICES,LAMBDA=COEFS[j,2],PHI=COEFS[j,3], RATES=rep(PROP_RATE-CUR_RATE,length(PRICES))))} else { if (TYPE == 'DL'){ total <- total + (DLED(PRICES=PRICES,PHI=c(COEFS[j,2],COEFS[j,3]), RATES=rep(PROP_RATE-CUR_RATE,length(PRICES))))} else { stop('Input error: prohibited value for TYPE')}}} agg[i] <- total} } \end{Scode} % 'AggDrilling' takes vector PRICES, vector PROP_RATES and % vector CUR_RATES. \begin{Scode}{OIL-DRILLING-FUNCTION,eval=TRUE} AggDrillingOil <- function(PRICES,PROP_RATES,CUR_RATES){ mat <- matrix(nrow=nrow(PROP_RATES),ncol=length(PRICES)) for (i in 1:nrow(mat)){ for (j in 1:ncol(mat)){ mat[i,j] <- (PRICES[j]*(PROP_RATES[i,j]-CUR_RATES[i,j])*coef3.WO/(1-coef2.WO) + PRICES[j]*(PROP_RATES[i,j]-CUR_RATES[i,j])*coef3.DO/(1-coef2.DO) + PRICES[j]*(PROP_RATES[i,j]-CUR_RATES[i,j])*coef3.EO/(1-coef2.EO))}} return(mat) } \end{Scode} \begin{Scode}{STRC-OIL-DRILLING-TABLE,results=tex,eval=TRUE} prices <- c(20,40,60,80,100,120,140,160) top_prop_rates <- c(0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1,0.11,0.12) prop_rates <- TwoTieredToFlat(PRICES=prices,LRATE=0.03,HRATE=top_prop_rates,BREAK=13) cur_rates <- TwoTieredToFlat(PRICES=prices,LRATE=0.03,HRATE=rep(0.05,length(top_prop_rates)),BREAK=13) tstcod.bare <- AggDrillingOil(PRICES=prices,PROP_RATES=prop_rates,CUR_RATES=cur_rates) tstcod <- tstcod.bare rownames(tstcod) <- as.character(paste(100*top_prop_rates,'\\!\\%')) colnames(tstcod) <- as.character(prices) tstcod.print <- xtable(format(tstcod,digits=2),label="table:tstcod", caption="Estimated decline in oil well drilling, by price per barrel of oil and severance tax rate.") align(tstcod.print) <- c("l",rep("c",ncol(tstcod))) print(tstcod.print,hline.after=c(-1,0,0,nrow(tstcod)),floating=TRUE ,floating.environment='table',sanitize.text.function=function(x){x}) \end{Scode} \begin{Scode}{STRC-OIL-PRODUCTION-TABLE,results=tex,eval=TRUE} prices <- c(20,40,60,80,100,120,140,160) prod <- tail(AYP.O,n=1) sr <- tail(usr,n=1) tstcop.bare <- DrillingToProduction(tstcod,sr,prod) tstcop <- tstcop.bare rownames(tstcop) <- as.character(paste(100*top_prop_rates,'\\!\\%')) colnames(tstcop) <- as.character(prices) tstcop.print <- xtable(format(tstcop,big.mark=",",scientfic=FALSE,scipen=3,digits=1), label="table:tstcop", caption="Estimated decline in oil production (barrels), by the price per barrel of oil and severance tax rate.") align(tstcop.print) <- c("l",rep("c",ncol(tstcop))) print(tstcop.print,hline.after=c(-1,0,0,nrow(tstcop)),floating=TRUE ,floating.environment='table',sanitize.text.function=function(x){x}) \end{Scode} \FloatBarrier \newpage \begin{Scode}{GAS-DRILLING-FUNCTION,eval=TRUE} AggDrillingGas <- function(PRICES,PROP_RATES,CUR_RATES){ mat <- matrix(nrow=nrow(PROP_RATES),ncol=length(PRICES)) for (i in 1:nrow(mat)){ for (j in 1:ncol(mat)){ mat[i,j] <- (PRICES[j]*(PROP_RATES[i,j]-CUR_RATES[i,j])*coef3.WG/(1-coef2.WG) + PRICES[j]*(PROP_RATES[i,j]-CUR_RATES[i,j])*sum(coef3.DG + coef2.DG) + PRICES[j]*(PROP_RATES[i,j]-CUR_RATES[i,j])*coef3.EG/(1-coef2.EG))}} return(mat) } \end{Scode} \begin{Scode}{STRC-GAS-DRILLING-TABLE,results=tex,eval=TRUE} prices <- c(1,2,3,4,5,6,7,8) top_prop_rates <- c(0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1,0.11,0.12) prop_rates <- TwoTieredToFlat(PRICES=prices,LRATE=0.03,HRATE=top_prop_rates,BREAK=1.50) cur_rates <- TwoTieredToFlat(PRICES=prices,LRATE=0.03,HRATE=rep(0.05,length(top_prop_rates)),BREAK=1.50) tstcgd.bare <- AggDrillingGas(PRICES=prices,PROP_RATES=prop_rates,CUR_RATES=cur_rates) tstcgd <- tstcgd.bare rownames(tstcgd) <- as.character(paste(100*top_prop_rates,'\\!\\%')) colnames(tstcgd) <- as.character(prices) tstcgd.print <- xtable(format(tstcgd,digits=1),label="table:tstcgd", caption="Estimated decline in natural gas well drilling, by the price per thousand cubic feet (Mcf) of natural gas and and by the given severance tax rate.") align(tstcgd.print) <- c("l",rep("c",ncol(tstcgd))) print(tstcgd.print,hline.after=c(-1,0,0,nrow(tstcgd)),floating=TRUE ,floating.environment='table',sanitize.text.function=function(x){x}) \end{Scode} \begin{Scode}{STRC-GAS-PRODUCTION-TABLE,results=tex,eval=TRUE} prices <- c(1,2,3,4,5,6,7,8) prop_rates <- c(0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1,0.11,0.12) prod <- tail(AYP.G,n=1) sr <- tail(usr,n=1) tstcgp.bare <- DrillingToProduction(tstcgd,sr,prod) tstcgp <- tstcgp.bare rownames(tstcgp) <- as.character(paste(100*top_prop_rates,'\\!\\%')) colnames(tstcgp) <- as.character(prices) tstcgp.print <- xtable(format(tstcgp,big.mark=",",scientfic=FALSE,scipen=3), label="table:tstcgp", caption= "Estimated decline in natural gas production (Mcf), by the price per thousand cubic feet (Mcf) of natural gas and by the given severance tax rate.") align(tstcgp.print) <- c("l",rep("c",ncol(tstcgp))) print(tstcgp.print,hline.after=c(-1,0,0,nrow(tstcgp)),floating=TRUE ,floating.environment='table',sanitize.text.function=function(x){x}) \end{Scode} \FloatBarrier \newpage \begin{Scode}{STRC-OIL-GOV-REVENUE-TABLE,results=tex,eval=TRUE} prices <- c(20,40,60,80,100,120,140,160) top_prop_rates <- c(0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1,0.11,0.12) prod <- tail(AYP.O,n=1) sr <- tail(usr,n=1) levels <- c(tail(wo,n=1),tail(do,n=1),tail(eo,n=1)) nrows <- nrow(tstcop) ncolumns <- ncol(tstcop) base_prod <- DrillingToProduction(CBASE2(LEVELS=levels,NROWS=nrows,NCOLUMNS=ncolumns),SR=sr,PROD=prod) base_rates <- TwoTieredToFlat(PRICES=prices,LRATE=0.03,HRATE=rep(0.05,nrow(tstcop)),BREAK=13) change_rates <- (TwoTieredToFlat(PRICES=prices,LRATE=0.03,HRATE=top_prop_rates,BREAK=13)) change_prod <- tstcop tstcogr.bare <- Revenue(PRICES=prices,BASE_PROD=base_prod,CHANGE_PROD=change_prod,BASE_RATES=base_rates,CHANGE_RATES=change_rates) tstcogr <- tstcogr.bare rownames(tstcogr) <- as.character(paste(100*top_prop_rates,'\\!\\%')) colnames(tstcogr) <- as.character(prices) tstcogr.print <- xtable(format(tstcogr,big.mark=",",scientfic=FALSE,scipen=3), label="table:tstcogr", caption="Estimated long-run annual increase in state government's severance tax revenue from oil, in dollars, by price per barrel of oil and severance tax rate.") align(tstcogr.print) <- c("l",rep("c",ncol(tstcogr))) print(tstcogr.print,hline.after=c(-1,0,0,nrow(tstcogr)),floating=TRUE, floating.environment='sidewaystable',sanitize.text.function=function(x){x}) \end{Scode} \begin{Scode}{STRC-GAS-GOV-REVENUE-TABLE,results=tex,eval=TRUE} prices <- c(1,2,3,4,5,6,7,8) prod <- tail(AYP.G,n=1) sr <- tail(usr,n=1) top_prop_rates <- c(0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1,0.11,0.12) levels <- c(tail(wg,n=1),tail(dg,n=1),tail(eg,n=1)) ncolumns <- ncol(tstcgp) nrows <- nrow(tstcgp) base_prod <- DrillingToProduction(CBASE2(LEVELS=levels,NROWS=nrows,NCOLUMNS=ncolumns),SR=sr,PROD=prod) base_rates <- TwoTieredToFlat(PRICES=prices,LRATE=0.03,HRATE=rep(0.05,nrow(tstcgp)),BREAK=1.50) change_rates <- (TwoTieredToFlat(PRICES=prices,LRATE=0.03,HRATE=top_prop_rates,BREAK=1.50)) change_prod <- tstcgp tstcggr.bare <- Revenue(PRICES=prices,BASE_PROD=base_prod,CHANGE_PROD=change_prod,BASE_RATES=base_rates,CHANGE_RATES=change_rates) tstcggr <- tstcggr.bare rownames(tstcggr) <- as.character(paste(100*top_prop_rates,'\\!\\%')) colnames(tstcggr) <- as.character(prices) tstcggr.print <- xtable(format(tstcggr,big.mark=",",scientfic=FALSE,scipen=3), label="table:tstcggr", caption="Estimated long-run annual increase in state government's severance tax revenue from natural gas MICHAEL OK?, in dollars, by proposed rate and by price per thousand cubic feet of natural gas.") align(tstcggr.print) <- c("l",rep("c",ncol(tstcggr))) print(tstcggr.print,hline.after=c(-1,0,0,nrow(tstcggr)),floating=TRUE, floating.environment='sidewaystable',sanitize.text.function=function(x){x}) \end{Scode} \FloatBarrier \newpage \section{Severance Tax Exemptions for Low Production Wells} Low-production wells, also known as stripper wells, are defined as oil wells that produce an average of 20~barrels per day or less over a 12~month period, and gas wells that produce an average of 60 thousand cubic feet (Mcf) per day or less over a 90~day period. \par All production of both oil and gas extracted from stripper wells is exempt from severance taxes provided the exemption does not prevent the severance tax from being treated as a deduction for federal tax purposes. \par In sections \ref{sec:SO} and \ref{sec:SG} we model the effect of the price of oil and gas on the number of stripper wells. \subsection{Stripper Oil Wells} \label{sec:SO} \begin{Scode}{CPI-SON} yc.SON <- window(YC,start=1983,end=2006) pyc.SON <- yc.SON*(100/tail(yc.SON,n=1)) \end{Scode} \begin{Scode}{Window-SON-price} ypo.SON <- window(PRICE.O,start=1983,end=2006) yrpo.SON <- (100/pyc.SON)*ypo.SON \end{Scode} \begin{Scode}{Window-SON} son <- window(SON,start=1983,end=2006) \end{Scode} \begin{Scode} model.SO <- dynlm(son ~ L(son,k=1) + yrpo.SON) yhat <- fitted(model.SO) coef1.SO <- summary(model.SO)$coefficients[1,1] #$ coef2.SO <- summary(model.SO)$coefficients[2,1] #$ coef3.SO <- summary(model.SO)$coefficients[3,1] #$ \end{Scode} \psfrag{son}[B][B][1][0]{Count} \psfrag{yrpo.SON}[B][B][1][0]{Price} \psfrag{TIME}[B][B][1][0]{Time} \begin{center} \begin{Scode}{fig=TRUE} plot(cbind(son,yrpo.SON),main="",xlab="TIME",ylim=c(0,max(son))) \end{Scode} \end{center} \begin{GRAPH-COMMENTARY} This graph actually shows significant periods of time in which the price of oil fell and the number of oil stripper wells rose. However, the statistical estimation below shows that there is a very large amount of ``inertia'' in the number of oil stripper wells, and when that inertia is factored out, there is still a positive relationship between the price of oil and the number of oil stripper wells. \end{GRAPH-COMMENTARY} \FloatBarrier \newpage \begin{equation} \label{eq:13m} \regv{SO}_{t} = \alpha + \lambda\regv{SO}_{t-1} + \phi\regv{PO}_{t} + \varepsilon_{t} \end{equation} \begin{Scode}{results=tex} tab <- reg.info(model.SO) rownames(tab) <- c("$\\alpha$", "$\\lambda$", "$\\phi$", "\\phantom{xxx}") xtab <- xtable(tab) align(xtab) <- rep("c",7) print(xtab,hline.after=c(-1,0,0,nrow(tab)-1,nrow(tab)-1,nrow(tab)),sanitize.text.function=function(x){x},floating=FALSE) \end{Scode} \begin{equation} \label{eq:13e} \est{\regv{SO}}_{t} = \Sexpr{format(coef1.SO)} + \Sexpr{format(coef2.SO)}\cdot\regv{SO}_{t-1} + \Sexpr{format(coef3.SO,digits=2)}\cdot\regv{PO}_{t} \end{equation} \begin{EST-COMMENTARY} Equation (\ref{eq:13m}) relates each year's number (``count'') of stripper oil wells to that year's inflation-adjusted wellhead price of Utah oil and to the number (``count'') of the previous year's stripper oil wells. The estimated relation is given in (\ref{eq:13m}) and is based on annual data from \Sexpr{start(yrpo.SON)} through \Sexpr{end(yrpo.SON)}. The estimated short-run decline in the count of stripper wells for a small change ``$\Delta\regv{PO}$'' in price is $\Delta\regv{PO}\times\Sexpr{format(coef3.SO)}$, while the estimated long-run decline in the well count is $\Delta\regv{PO}\times\Sexpr{format(coef3.SO/(1 - coef2.SO),digits=2)}$. \end{EST-COMMENTARY} \FloatBarrier \newpage \subsection{Production from Stripper Gas Wells} \label{sec:SG} \begin{Scode}{CPI-SOG} yc.SGN <- window(YC,start=1993,end=2006) pyc.SGN <- yc.SGN*(100/tail(yc.SGN,n=1)) \end{Scode} \begin{Scode} ypg.SGN <- window(PRICE.G,start=1993,end=2006) yrpg.SGN <- (100/pyc.SGN)*ypg.SGN \end{Scode} \begin{Scode}{Window-SGN} sgn <- window(SGN,start=1993,end=2006) \end{Scode} \begin{Scode} model.SG <- dynlm(sgn ~ yrpg.SGN + L(yrpg.SGN,k=1) ) yhat <- fitted(model.SG) coef1.SG <- summary(model.SG)$coefficients[1,1] #$ coef2.SG <- summary(model.SG)$coefficients[2,1] #$ coef3.SG <- summary(model.SG)$coefficients[3,1] #$ \end{Scode} \psfrag{sgn}[B][B][1][0]{Count} \psfrag{yrpg.SGN}[B][B][1][0]{Price} \psfrag{Time}[B][B][1][0]{Time} \begin{center} \begin{Scode}{fig=TRUE} plot(cbind(sgn,yrpg.SGN),main="",xlab="Time",ylim=c(0,max(sgn))) \end{Scode} \end{center} \begin{GRAPH-COMMENTARY} This graph shows the number of gas stripper wells rising rather inexorably, without much influence from the price of natural gas. With so much ``inertia,'' using our standard equation would assign all the causation of stripper gas well drilling to past stripper gas well drilling, and essentially none to current price. A better estimate of the effect of current price on wells drilled comes from doing what we did for development natural gas wells, and simply put current price and previous year's price on the right-hand side of the equation. (In the language of Appendix~\ref{sec:lagged-effect-price}, this is equivalent to assuming prices more than one year in the past do not afffect drilling.) \end{GRAPH-COMMENTARY} \begin{equation} \label{eq:EQ-SG} \regv{SG}_{t} = \alpha + \phi_{0}\regv{PG}_{t} + \phi_{1}\regv{PG}_{t-1} + \varepsilon_{t} \end{equation} \begin{Scode}{results=tex} tab <- reg.info(model.SG) rownames(tab) <- c("$\\alpha$", "$\\phi_{0}$", "$\\phi_{1}$", "\\phantom{xxx}") xtab <- xtable(tab) align(xtab) <- rep("c",7) print(xtab,hline.after=c(-1,0,0,nrow(tab)-1,nrow(tab)-1,nrow(tab)),sanitize.text.function=function(x){x},floating=FALSE) \end{Scode} \begin{equation} \label{eq:EST-SG} \est{\regv{SG}}_{t} = \Sexpr{format(coef1.SG)} + \Sexpr{format(coef2.SG)}\cdot\regv{PG}_{t} + \Sexpr{format(coef3.SG)}\cdot\regv{PG}_{t-1} \end{equation} \begin{EST-COMMENTARY} Accordingly, equation (\ref{eq:EQ-SG}) relates each year's count of stripper natural gas wells to that year's and the previous year's inflation-adjusted prices of Utah natural gas. The estimated relation is given in (\ref{eq:EST-SG}) and is based on annual data from \Sexpr{start(yrpg.SGN)} through \Sexpr{end(yrpg.SGN)}. The estimated short-run decline in the count of stripper natural gas wells for a small change ``$\Delta\regv{PG}$'' in price is $\Delta\regv{PG}\times\Sexpr{format(coef2.SG)}$, while the estimated long-run decline in the well count is $\Delta\regv{PG}\times\Sexpr{format(coef3.SG + coef2.SG)}$. For example, if the current price per Mcf is $\$4$, and price declines by 2\%, we predict the annual count of stripper natural gas wells would decline by $(8/100) \times \Sexpr{format(coef2.SG)}$ in the short run and by $(8/100)\times\left(\Sexpr{format(coef3.SG + coef2.SG)}\right) = \Sexpr{format(0.08*(coef3.SG + coef2.SG))}$ in the long run. \end{EST-COMMENTARY} \FloatBarrier \newpage % %% Stripper Oil as a percent % \begin{Scode}{CPI-SOR} % yc.SOR <- window(YC,start=1983,end=2006) % pyc.SOR <- yc.SOR*(100/tail(yc.SOR,n=1)) % \end{Scode} % \begin{Scode} % ypo.SOR <- window(PRICE.O,start=1983,end=2006) % yrpo.SOR <- (100/pyc.SOR)*ypo.SOR % \end{Scode} % \begin{Scode} % sor <- window(SOR,start=1983,end=2006) % \end{Scode} % \begin{figure}[t] % \psfrag{sor}[B][B][1][0]{Percent} % \psfrag{yrpo.SOR}[B][B][1][0]{Price} % \psfrag{TIME}[B][B][1][0]{Time} % \centering % \begin{Scode}{fig=TRUE} % plot(cbind(sor,yrpo.SOR),main="",xlab="TIME") % \end{Scode} % \caption{The percent of total Utah oil production accounted for by stripper well production.} % \end{figure} % \begin{Scode}{CPI-SOPY} % yc.SOPY <- window(YC,start=1983,end=2006) % pyc.SOPY <- yc.SOPY*(100/tail(yc.SOPY,n=1)) % \end{Scode} % \begin{Scode} % ypo.SOPY <- window(PRICE.O,start=1983,end=2006) % yrpo.SOPY <- (100/pyc.SOPY)*ypo.SOPY % \end{Scode} % \begin{Scode} % sopy <- window(SOPY,start=1983,end=2006) % \end{Scode} % \begin{figure}[t] % \psfrag{sopy}[B][B][1][0]{Production} % \psfrag{yrpo.SOPY}[B][B][1][0]{Price} % \psfrag{TIME}[B][B][1][0]{Time} % \centering % \begin{Scode}{fig=TRUE} % plot(cbind(sopy,yrpo.SOPY),main="",xlab="time") % \end{Scode} % \caption{Total Utah stripper well oil production (barrels).} % \end{figure} % \begin{Scode}{CPI-SOPD} % yc.SOPD <- window(YC,start=1983,end=2006) % pyc.SOPD <- yc.SOPD*(100/tail(yc.SOPD,n=1)) % \end{Scode} % \begin{Scode} % ypo.SOPD <- window(PRICE.O,start=1983,end=2006) % yrpo.SOPD <- (100/pyc.SOPD)*ypo.SOPD % \end{Scode} % \begin{Scode} % sopd <- window(SOPD,start=1983,end=2006) % \end{Scode} % \begin{figure}[t] % \psfrag{sopd}[B][B][1][0]{Production} % \psfrag{yrpo.SOPD}[B][B][1][0]{Price} % \psfrag{TIME}[B][B][1][0]{Time} % \centering % \begin{Scode}{fig=TRUE} % plot(cbind(sopd,yrpo.SOPD),main="",xlab="TIME") % \end{Scode} % \caption{The average daily production of oil for Utah stripper wells.} % \end{figure} % \begin{Scode}{CPI-SGPD} % yc.SGPD <- window(YC,start=1993,end=2006) % pyc.SGPD <- yc.SGPD*(100/tail(yc.SGPD,n=1)) % \end{Scode} % \begin{Scode} % ypg.SGPD <- window(PRICE.G,start=1993,end=2006) % yrpg.SGPD <- (100/pyc.SGPD)*ypg.SGPD % \end{Scode} % \begin{Scode} % sgpd <- window(SGPD,start=1993,end=2006) % \end{Scode} % \begin{figure}[t] % \psfrag{sgpd}[B][B][1][0]{Percent} % \psfrag{yrpg.SGPD}[B][B][1][0]{Price} % \psfrag{TIME}[B][B][1][0]{Time} % \centering % \begin{Scode}{fig=TRUE} % plot(cbind(sgpd,yrpg.SGPD),main="",xlab="time") % \end{Scode} % \caption{The average daily production of natural gas for Utah stripper wells.} % \end{figure} \subsection{Analysis of Eliminating the Stripper Well Exemptions} \label{sec:stripper-exemption} The tax revenue losses which the stripper well exemption causes to the State can be significant. A stripper oil well producing at 20~barrels per day for a year at a price of oil of $\$90$/barrel brings in revenue to the company of $20 \times 360 \times \$90 = \mbox{\$648,000}$ severance-tax-free. A stripper natural gas well producing at 60~Mcf per day for a year at a price of natural gas of \$5/Mcf brings in revenue to the company of $60 \times 360 \times \$5 = \$\mbox{108,000}$ tax-free. Perhaps a better strategy for the State would be to do what the State of Kansas does, and define a ``stripper'' not by a low amount of production but by a low amount of revenue. ``Kansas exempts wells having an average daily gross production value of~\$87 or less'' \citep[][p.~47]{COAudit2006}. However, before coming to such a conclusion, we need to investigate how a tax increase would affect stripper wells. \par Accordingly, here we calculate the estimated long-run decline in industry activity that would result if the stripper well severance tax exemptions are removed. For example, here is how the numbers in the first row of the table are computed. \begin{Scode}{SSTRC-OIL-COUNT-FUNCTION} SEON <- function(PRICES,LAMBDA,PHI,RATES){ mat <- matrix(rep(0,length(RATES)*length(PRICES)),nrow=length(RATES)) for (j in 1:length(PRICES)){ for (i in 1:length(RATES)){ mat[i,j] <- RATES[i]*PRICES[j]*PHI/(1-LAMBDA)}} return(mat) } \end{Scode} \begin{Scode}{SSTRC-GAS-COUNT-FUNCTION} SEGN <- function(PRICES,PHI,RATES){ mat <- matrix(rep(0,length(RATES)*length(PRICES)),nrow=length(RATES)) for (j in 1:length(PRICES)){ for (i in 1:length(RATES)){ mat[i,j] <- RATES[i]*PRICES[j]*sum(PHI)}} return(mat) } \end{Scode} \begin{Scode}{SSTRC-OIL-PRODUCTION-FUNCTION} SEOP <- function(prices,rates){ mat <- matrix(rep(0,length(prices)*length(rates)),nrow=length(rates)) for (i in 1:length(rates)){ for (j in 1:length(prices)){ mat[i,j] <- tail(SOPD,n=1)*(coef3.SO/(1 - coef2.SO)*(rates[i])*prices[j]) } } return(mat) } \end{Scode} \FloatBarrier \newpage \begin{Scode}{SSTRC-OIL-COUNT-TABLE,results=tex} prices <- c(20,40,60,80,100,120,140,160) phi <- coef3.SO lambda <- coef2.SO prop_rates <- c(0.01,0.03,0.05,0.07,0.09,0.11,0.13) sstrcoc.bare <- SEON(PRICES=prices,PHI=phi,LAMBDA=lambda,RATES=prop_rates) sstrcoc <- sstrcoc.bare rownames(sstrcoc) <- as.character(paste(100*prop_rates,'\\!\\%')) colnames(sstrcoc) <- as.character(prices) sstrcoc.print <- xtable(format(sstrcoc,digits=2),label="table:sstrcoc", caption="Estimated decline in stripper oil well count, by the price per barrel of oil, and by the given severance tax rate.") align(sstrcoc.print) <- c("l",rep("c",ncol(sstrcoc))) print(sstrcoc.print,hline.after=c(-1,0,0,nrow(sstrcoc)),floating=TRUE ,floating.environment='table',sanitize.text.function=function(x){x}) \end{Scode} \begin{Scode}{SSTRC-OIL-PRODUCTION-TABLE,results=tex} prices <- c(20,40,60,80,100,120,140,160) prop_rates <- seq(0.01,0.13,0.02) sr <- 1 prod <- tail(YASOP,n=1) sstrcop.bare <- DrillingToProduction(sstrcoc,sr,prod) sstrcop <- sstrcop.bare rownames(sstrcop) <- as.character(paste(100*prop_rates,'\\!\\%')) colnames(sstrcop) <- as.character(prices) sstrcop.print <- xtable(format(sstrcop,big.mark=",",scientfic=FALSE,scipen=3), label="table:sstrcop", caption="Estimated decline in stripper oil production (barrels), by price per barrel of oil and severance tax rate.") align(sstrcop.print) <- c("l",rep("c",ncol(sstrcop))) print(sstrcop.print,hline.after=c(-1,0,0,nrow(sstrcop)),floating=TRUE ,floating.environment='table',sanitize.text.function=function(x){x}) \end{Scode} \FloatBarrier \newpage \begin{Scode}{SSTRC-GAS-COUNT-TABLE,results=tex} prices <- c(1,2,3,4,5,6,7,8) prop_rates <- seq(0.01,0.13,0.02) phi <- c(coef2.SG,coef3.SG) sstrcgc.bare <- SEGN(PRICES=prices,PHI=phi,RATES=prop_rates) sstrcgc <- sstrcgc.bare rownames(sstrcgc) <- as.character(paste(100*prop_rates,'\\!\\%')) colnames(sstrcgc) <- as.character(prices) sstrcgc.print <- xtable(format(sstrcgc,digits=2),label="table:sstrcgc", caption="Estimated decline in stripper natural gas well count, by the price per thousand cubic feet (Mcf) of natural gas and severance tax rate.") align(sstrcgc.print) <- c("l",rep("c",ncol(sstrcgc))) print(sstrcgc.print,hline.after=c(-1,0,0,nrow(sstrcgc)),floating=TRUE ,floating.environment='table',sanitize.text.function=function(x){x}) \end{Scode} \begin{Scode}{SSTRC-GAS-PRODUCTION-TABLE,results=tex} prices <- c(1,2,3,4,5,6,7,8) prop_rates <- seq(0.01,0.13,0.02) sr <- 1 prod <- tail(YASGP,n=1) sstrcgp.bare <- DrillingToProduction(sstrcgc,sr,prod) sstrcgp <- sstrcgp.bare rownames(sstrcgp) <- as.character(paste(100*prop_rates,'\\!\\%')) colnames(sstrcgp) <- as.character(prices) sstrcgp.print <- xtable(format(sstrcgp,big.mark=",",scientfic=FALSE,scipen=3), label="table:sstrcgp", caption="Estimated decline in stripper natural gas production (Mcf), by the price per thousand cubic feet (Mcf) of oil and severance tax rate.") align(sstrcgp.print) <- c("l",rep("c",ncol(sstrcgp))) print(sstrcgp.print,hline.after=c(-1,0,0,nrow(sstrcgp)),floating=TRUE ,floating.environment='table',sanitize.text.function=function(x){x}) \end{Scode} \begin{Scode}{SSTRC-OIL-GOV-REVENUE-TABLE,results=tex,eval=TRUE} prices <- c(20,40,60,80,100,120,140,160) prop_rates <- seq(0.01,0.13,0.02) prod <- tail(YASOP,n=1) sr <- 1 levels <- tail(son,n=1) nrows <- nrow(sstrcop) ncolumns <- ncol(sstrcop) base_prod <- DrillingToProduction(CBASE2(LEVELS=levels,NROWS=nrows,NCOLUMNS=ncolumns),SR=sr,PROD=prod) base_rates <- TwoTieredToFlat(PRICES=prices,LRATE=0,HRATE=rep(0,nrow(sstrcop)),BREAK=13) change_rates <- (TwoTieredToFlat(PRICES=prices,LRATE=0, HRATE=prop_rates,BREAK=0)) change_prod <- sstrcop sstrcogr.bare <- Revenue(PRICES=prices,BASE_PROD=base_prod,CHANGE_PROD=change_prod,BASE_RATES=base_rates,CHANGE_RATES=change_rates) sstrcogr <- sstrcogr.bare rownames(sstrcogr) <- as.character(paste(100*prop_rates,'\\!\\%')) colnames(sstrcogr) <- as.character(prices) sstrcogr.print <- xtable(format(sstrcogr,big.mark=",",scientfic=FALSE,scipen=3), label="table:sstrcogr", caption="Estimated long-run annual increase in state government's severance tax revenue from stripper oil wells, in dollars, by price per barrel of oil.") align(sstrcogr.print) <- c("l",rep("c",ncol(sstrcogr))) print(sstrcogr.print,hline.after=c(-1,0,0,nrow(sstrcogr)),floating=TRUE, floating.environment='sidewaystable',sanitize.text.function=function(x){x}) \end{Scode} \begin{Scode}{SSTRC-GAS-GOV-REVENUE-TABLE,results=tex,eval=TRUE} prices <- c(1,2,3,4,5,6,7,8) prop_rates <- seq(0.01,0.13,0.02) prod <- tail(YASGP,n=1) sr <- 1 levels <- tail(sgn,n=1) nrows <- nrow(sstrcgp) ncolumns <- ncol(sstrcgp) base_prod <- DrillingToProduction(CBASE2(LEVELS=levels,NROWS=nrows,NCOLUMNS=ncolumns),SR=sr,PROD=prod) base_rates <- TwoTieredToFlat(PRICES=prices,LRATE=0,HRATE=rep(0,nrow(sstrcgp)),BREAK=1.50) change_rates <- (TwoTieredToFlat(PRICES=prices,LRATE=0, HRATE=prop_rates,BREAK=0)) change_prod <- sstrcgp sstrcggr.bare <- Revenue(PRICES=prices,BASE_PROD=base_prod,CHANGE_PROD=change_prod,BASE_RATES=base_rates,CHANGE_RATES=change_rates) sstrcggr <- sstrcggr.bare rownames(sstrcggr) <- as.character(paste(100*prop_rates,'\\!\\%')) colnames(sstrcggr) <- as.character(prices) sstrcggr.print <- xtable(format(sstrcggr,big.mark=",",scientfic=FALSE,scipen=3), label="table:sstrcggr", caption="Estimated long-run annual increase in state government's severance tax revenue from stripper natural gas wells, in dollars, by proposed rate and by price per barrel of oil.") align(sstrcggr.print) <- c("l",rep("c",ncol(sstrcggr))) print(sstrcggr.print,hline.after=c(-1,0,0,nrow(sstrcggr)),floating=TRUE, floating.environment='sidewaystable',sanitize.text.function=function(x){x}) \end{Scode} \FloatBarrier \newpage % Severance Tax Performance Audit, June 2006, State of Colorado % Office of the State Auditor. Available at % www.state.co.us/gov_dir/leg_dir/lcsstaff/2007/comsched/07AllocSeverTaxPerfAud.pdf \par % [Add detailed explanation of one row of numbers] % [Add industry revenue after change, in long run] % [Add increase in state tax collection in long run] % [Add old effective tax rate] % [Add new effective tax rate] % [State that the table uses 2008 dollars] \section{Workovers and Recompletions} Complete data on workovers and recompletions exists in computer-readable form only since 1999. Prior to 1999, when a workover, recompletion, or other major event occurred to a well, the State had to delete all prior data on that well in order to accommodate the new data in the computerized database. This makes it impossible to know (unless one hand-codes data from the written archives) how much production went up as a result of the workover or recompletion, and therefore impossible to know how much benefit accrued from the State's credits for those activities. \par An alternative approach would be to merely {\em assume\/} that the increase in production caused by a workover or recompletion before 1999 was equal to the average increase in production caused by a workover or recompletion after 1999. If this assumption is acceptable to the Committee, we can carry out that analysis. \par % NOTE: missing data for some years prior to 1977. % NOTE: data prior to 1999 might be suspect. \FloatBarrier \newpage % \section{Tax Credits for Workovers/Recompletions} % We briefly consider the workover/recompletion credit\footnote{Firms % may take a $20\%$ credit, to a maximum of $30,000$ per year, for % qualifying expenses on downhole operations.} and the $50\%$ % severance tax exemption on incremental production from enhanced % recovery (e.g. water or gas injection) wells. So far, the data do not % permit a precise analysis of the effect of these provisions. % Since Jan 1 1995 the credit is $20\%$, subject to a maximum credit of % 30,000 per well per year. \appendix \section{Data Sources} \label{sec:data} \begin{table}[h!] \begin{center}{\footnotesize \begin{tabular}{p{1.25in}p{1in}p{3.5in}} \hline \textbf{Data Description} & \textbf{Source Name} & \textbf{Address} \\\hline\hline Utah wellhead oil prices & Utah Geological Survey & {\tt http://geology.utah.gov/emp/energydata/oildata.htm} \\ Utah wellhead natural gas prices & Energy Information Administration& {\tt \verb+http://tonto.eia.doe.gov/dnav/ng/ng_pri_sum_dcu_SUT_a.htm+} \\ Core CPI & Bureau of Labor Statistics & {\tt http://data.bls.gov/cgi-bin/surveymost?cu} \\ UT Drilling and Production & Utah Geological Survey & {\tt http://geology.utah.gov} \\ UT Drilling and Production & UT Division of Oil, Gas and Mining & {\tt http://ogm.utah.gov}\\ \hline \end{tabular}} \end{center} \end{table} \begin{Scode}{OIL-DATA-TABLE,results=tex} dates <- seq(1960,2006,1) odt <- cbind(yrpo.O,wo,do,eo,window(AYP.O,start=1960,end=2006),usr,window(YASOP,start=1986),window(SON,start=1986)) rownames(odt) <- as.character(dates) colnames(odt) <- c("PO","WO","DO","EO","AAPO","DSR","AASOP","SON") odt.print <- xtable(odt,digits=1,scipen=3,caption="Data for Oil Activity. Note: PO is ``Price of Oil (per barrel) in 2006 dollars,'' WO is ``number of wildcat oil wells drilled,'' DO is ``number of development oil wells drilled,'' EO is ``number of extension oil wells drilled,'' AAPO is ``average annual production of oil in Utah (total production divided by total number of oil-producing wells), DSR is ``the proportion of holes drilled that results in a producing well,'' AASOP is ``average annual stripper oil production (total stripper oil production divided by the stripper oil well count),'' and SON is ``the count of stripper oil wells.'') align(odt.print) <- c("l",rep("c",ncol(odt))) print(odt.print,hline.after=c(-1,0,0,nrow(odt)),floating=TRUE,size='tiny', floating.environment='table',sanitize.text.function=function(x){x}, sanitize.rownames.function=function(x){x} ) \end{Scode} \begin{Scode}{OIL-DATA-WRITE} write.csv(odt, "Oil-Data.csv",append=FALSE, na="",row.names=FALSE,eol="\r\n") \end{Scode} \begin{Scode}{GAS-DATA-TABLE,results=tex} dates <- seq(1967,2006,1) gdt <- cbind(yrpg.G,wg,dg,eg,window(AYP.G,start=1967,end=2006), window(usr,start=1967,end=2006),YASGP,SGN) rownames(gdt) <- as.character(dates) colnames(gdt) <- c("PG","WG","DG","EG","AAPG","DSR","AASGP","SGN") gdt.print <- xtable(gdt,digits=2,scipen=3,caption="Data for Gas Activity. Note: PG is ``Price of Gas (per Mcf) in 2006 dollars,'' WG is ``number of wildcat gas wells drilled,'' DG is ``number of development gas wells drilled,'' EG is ``number of extension gas wells drilled,'' AAPG is ``average annual production of gas in Utah (total production divided by total number of gas-producing wells), DSR is ``the proportion of holes drilled that results in a producing well,'' AASGP is ``average annual stripper gas production in Mcf (total stripper gas production divided by the stripper gas well count),'' and SGN is ``the count of stripper gas wells.'') align(gdt.print) <- c("l",rep("c",ncol(gdt))) print(gdt.print,hline.after=c(-1,0,0,nrow(gdt)),floating=TRUE,size='tiny', floating.environment='table',sanitize.text.function=function(x){x}, sanitize.rownames.function=function(x){x}) \end{Scode} \begin{Scode} \end{Scode} \begin{Scode}{GAS-DATA-WRITE} write.csv(gdt, "Gas-Data.csv",append=FALSE, na="",row.names=FALSE,eol="\r\n") \end{Scode} \FloatBarrier \newpage \section{Computing the Annual Equivalent Rate} \label{sec:equiv-rate} In this section of the report we explain the the translation of a tax rate for one period (e.g. the 1~year and 6~month severance tax exemptions for wildcat and new field wells respectively) to a rate effect for some other time period~$T$ such that the two rates give rise to the same net present value. \par Let $s$ be the severance tax rate for one period, $s^{\ast}$ the equivalent rate for $T$~periods, and $r$ the per-period discount rate. Assume the tax is paid immediately at the end of the period. In order for $s^{\ast}$ to be the equivalent rate the following must hold: \begin{equation} \label{eq:eq-cond} \begin{split} s &= s^{\ast}\left[1 + \left(\frac{1}{1+r}\right) + \left(\frac{1}{1+r}\right)^{2} + \cdots + \left(\frac{1}{1+r}\right)^{T} \right] \\ &= s^{\ast}\left[\frac{1-\left(\frac{1}{1+r}\right)^{T+1}} {1-\left(\frac{1}{1+r}\right)}\right] . \end{split} \end{equation} Thus, \begin{equation} \label{eq:equivalent} \begin{split} s^{\ast} = s\left[\frac{1-\left(\frac{1}{1+r}\right)^{T+1}} {1-\left(\frac{1}{1+r}\right)}\right]^{-1} \end{split} \end{equation} If one wants to think of the industry's time horizon as infinite, then the following result may be used to compute the equivalent rate: \begin{equation} \label{eq:lim} \begin{split} \lim_{T \to \infty} s\left[\frac{1-\left(\frac{1}{1+r}\right)^{T+1}} {1-\left(\frac{1}{1+r}\right)}\right]^{-1} = s\bigg[\frac{1 + r}{r}\bigg]^{-1} = s \; \frac{r}{1+r} \,. \end{split} \end{equation} In this report, we use the finite horizon formulation \eqref{eq:equivalent} with a time horizon of 10 years and an annual discount rate of $10\%$. The six month exemption is implemented as a twelve month exemption of half the magnitude. \newpage \section{Estimating the lagged effect of price on drilling activity} \label{sec:lagged-effect-price} %\section{Estimating the lagged effect of price on drilling activity} %\label{sec:lagged-effect-price} In this section the general regression equation used in this report is explained along with how to appropriately interpret the corresponding estimates. \par The basic model we use in this report is one in which the number of wells drilled in the present period is a linear function of present and past output prices. Referring to the number of wells drilled in the time period $t$ by $\regv{Q}_{t}$ and to the output price at time $t$ by $\regv{P}_{t}$, we have \begin{equation} \label{eq:DL} % 'DL' for Distributed Lag \regv{Q}_{t} = \alpha + \phi_{0}\regv{P}_{t} + \phi_{1}\regv{P}_{t-1} + \cdots + \phi_{k}\regv{P}_{t-k} + \cdots + u_{t} \end{equation} While it is possible to estimate a truncated version of this model directly, such an approach presents two main difficulties, both of which are equivalent in effect to having less data on which to estimate the relation: 1.) For each regression coefficient estimated, one ``degree of freedom'' is lost, and 2.) Although we have data on present and past prices, due to the apparent time-correlation of prices these data are not ``independent'' and in fact may be nearly dependent, a problematic situation known as multicollinearity. It is possible to check the data for an indication how severe multicollinearity may be, and such a check indicates that in the case of our data multicollinearity may be a problem. A common way to ameliorate these problems is to restrict the coefficients $\phi_{i}$ in \eqref{eq:DL} in such a way that there are fewer parameters to estimate. One such restriction is to require that the coefficients on the independent variable $\regv{P}_{t-k}$ decline geometrically with $k$: $\phi_{k} = \phi^{\ast}\lambda^{k}$ for all $k$. Then \eqref{eq:DL} becomes \begin{equation} \label{eq:GDL} % GDL for Generalized Distributed Lag \regv{Q}_{t} = \alpha + \phi^{\ast}\sum_{k=0}^{\infty}\lambda^{k}\regv{P}_{t-k} + u_{t} \ . \end{equation} Equation \eqref{eq:GDL} is referred to as the distributed geometric lag version of equation \eqref{eq:DL}. Note that in this case we have three parameters to estimate: $\alpha$, $\phi^{\ast}$, and $\lambda$, while in the case of \eqref{eq:DL} we would have $k + 1$ parameters to estimate if we considered the effect of only the $k$ most recent price periods. Since equation \eqref{eq:DL} implies $\lambda\regv{Q}_{t-1} = \lambda\alpha + \phi\sum_{k=0}^{\infty}\lambda^{k+1}\regv{P}_{t-1-k} + \lambda u_{t-1}$, it follows: \begin{equation} \label{eq:ADL-1} % 'ADL' for Autoregressive Distributed Lag \begin{split}\raisetag{15pt} \regv{Q}_{t} - \lambda\regv{Q}_{t-1} &= \alpha (1 - \lambda) + \phi^{\ast}\sum_{k=0}^{\infty} \lambda^{k}\regv{P}_{t-k} - \phi^{\ast}\sum_{k=0}^{\infty} [\lambda^{k+1}\regv{P}_{t-1-k}] + u_{t} - \lambda u_{t-1} \\ & = \alpha (1 - \lambda) + \phi^{\ast}\regv{P}_{t} + \phi^{\ast}\sum_{j=0}^{\infty}[\lambda^{j+1}\regv{P}_{t-1-j}] - \phi^{\ast}\sum_{j=0}^{\infty} [\lambda^{j+1}\regv{P}_{t-1-j}] + u_{t} - \lambda u_{t-1} \\ &= \alpha (1 - \lambda) + \phi^{\ast}\regv{P}_{t} + u_{t} - \lambda u_{t-1} \ . \end{split} \end{equation} Thus \begin{equation} \label{eq:ADL-2} % 'ADL' for Autoregressive Distributed Lag \regv{Q}_{t} = \alpha^{\ast} + \lambda\regv{Q}_{t-1} + \phi^{\ast}\regv{P}_{t} + \varepsilon_{t} \, \end{equation} where $\alpha^{\ast} \equiv \alpha(1 - \lambda)$ and $\varepsilon_{t} \equiv u_{t} - \lambda u_{t-1}$. Estimation of \eqref{eq:ADL-2} does not suffer from the problems enumerated above. In order for ordinary least squares (OLS) to be an appropriate estimator of relations in the form \eqref{eq:ADL-2}, it is important that the errors $\varepsilon_{t}$ are not autocorrelated.\footnote{In the case of models not involving lagged values of the dependent variable, autocorrelated errors lead to biased, but not inconsistent, parameter estimates. The presence of autocorrelated errors in lagged dependent variable models is more serious, as in those cases the OLS estimator is inconsistent.} Statistical tests indicate that autocorrelation is not a problem in our models of the form \eqref{eq:ADL-2}, but (and actually, because) first order autocorrelation does appear present in models of the form \eqref{eq:DL}. % In models such as \eqref{eq:ADL-1} it is crucial that the error term $\varepsilon_{t}$ % is not autocorrelated. Statistical tests, as well as simple graphs of the error % terms indicate the the $\varepsilon_{t}$ are not autocorrelated. Hence ordinarly % least squares regression is an appropriate estimator of % In addition, if the errors $u_{t}$ in % \eqref{eq:DL} are first order autocorrelated\footnote{This means % $\varepsilon_{t} = \rho \varepsilon_{t-1} + u_{t}$ where $|\rho| < % 1$ and $u_{t}$ has a mean of $0$, is serially uncorrelated, and % without autocorrelation}, then the errors $\varepsilon_{t}$ % in \eqref{eq:ADL-2} are \emph{not} not autocorrelated. Statistical tests strongly % suggest that 1st order autocorrelated errors are present - as % generically described by equation \eqref{eq:DL} - in the processes % we've estimated. % I've looked into the possibility of using maximum likelihood, % rather than OLS, to estimate the parameters (and their standard errors). % The problem with OLS is that the consistency of the OLS estimator depends % on whether the error term in the transformed model is autocorrelated, while % the ML estimator apparently (I need to learn why; the texts I have state it without proof) % is consistent (and asymptotically efficient) regardless of the presence of % serial correlation. The problem is that ML estimation is much more involved. % \subsection{Interpreting the coefficients (Logs)} % In model \eqref{eq:DL} the short-run effect of a change in the current % price is the coefficient of the current price, $\phi_{0}$, and the % long run effect of a change in the current price is the sum of the % coefficients of present and past price: $\phi_{0} + \phi_{1} + \cdots + \phi_{k} + \cdots $. % \par % In equation \eqref{eq:5} price is measured in logarithms. This is the % form of \eqref{eq:ADL-1} that we have estimated in this paper. In equation % \eqref{eq:ADL-1}, the coefficient $\phi^{\ast}$ has the following % interpretation: Suppose price changes by a small amount % $\Delta\regv{P}_{t}$ between time $t-1$ and time $t$. Then, % \begin{equation} % \label{eq:6} % \Delta\regv{Q}_{t} = \alpha^{\ast} + \lambda\regv{Q}_{t-1} + \phi^{\ast}\log\regv{P}_{t} + \varepsilon_{t} % \end{equation} \subsection{Interpreting the coefficients} In model \eqref{eq:DL}, elementary calculus implies that the short-run effect of a change in the current price is the coefficient of the current price, $\phi_{0}$, times the price change. In this section we prove that the long run effect of a change in the current price is the price change times the sum of the coefficients of present and past price: $\phi_{0} + \phi_{1} + \cdots + \phi_{k} + \cdots $. Since $\phi_{k} = \phi^{\ast}\lambda^{k}$, it will follow that \begin{equation} \label{eq:GS} % 'GS' for Geometric Series \begin{split} \sum_{k=0}^{\infty}\phi_{k} &= \sum_{k=0}^{\infty}\phi^{\ast}\lambda^{k} = \phi^{\ast}\sum_{k=0}^{\infty}\lambda^{k} = \phi^{\ast}\left[\frac{1}{1 - \lambda}\right] \end{split} \end{equation} if $\lambda<1$ and infinity otherwise. \par To begin, suppose we have estimated a model of the form \eqref{eq:ADL-2}: \begin{equation} \label{eq:EADL} % 'EADL' for Estimated Autoregressive Distributed Lag \est{\regv{Q}}_{t} = \est{\alpha^{\ast}} + \est{\lambda}\regv{Q}_{t-1} + \est{\phi}^{\ast}\regv{P}_{t} \ , \end{equation} and we consider the estimated impact on present and future drilling associated with a current-period change in price. Let $\Delta\regv{P}_{t}$ be the change in price in period~$t$ (for example, tax rates are changed in period $t$, and $\Delta\regv{P}_{t}$ is the price-equivalent), denote by $\est{\Delta\regv{Q}}_{t}$ the estimated change in $\est{\regv{Q}}$ associated with the change in $\regv{P}_{t}$, and lastly, refer to the estimated number of wells drilled when there \emph{is} price change by $\est{\regv{Q}}_{t}[\Delta\regv{P}_{t} \neq 0]$, and the estimated number of wells when there \emph{is not} a price change by $\est{\regv{Q}}_{t}[\Delta\regv{P}_{t} = 0]$. The arithmetic difference between them is the estimated impact of the one-period price change at time $t$. That is, $\est{\Delta\regv{Q}}_{t} = \est{\regv{Q}}_{t}[\Delta\regv{P}_{t} \neq 0] - \est{\regv{Q}}_{t}[\Delta\regv{P}_{t} = 0]$. From \eqref{eq:EADL} we have: \begin{equation} \label{eq:est-one-change} \est{\regv{Q}}_{t}[\Delta\regv{P}_{t} \neq 0] = \est{\alpha^{\ast}} + \est{\lambda}\regv{Q}_{t-1} + \est{\phi}^{\ast}[\regv{P}_{t} + \Delta\regv{P}_{t}] \ , \end{equation} \begin{equation} \label{eq:est-no-change} \est{\regv{Q}}_{t}[\Delta\regv{P}_{t} = 0] = \est{\alpha^{\ast}} + \est{\lambda}\regv{Q}_{t-1} + \est{\phi}^{\ast}\regv{P}_{t} \ . \end{equation} Therefore, \begin{equation} \label{eq:est-diff} \begin{split} \est{\Delta\regv{Q}}_{t} =& \left[\est{\alpha^{\ast}} + \est{\lambda}\regv{Q}_{t-1} + \est{\phi}^{\ast}\regv{P}_{t}\right] - \left[\est{\alpha^{\ast}} + \est{\lambda}\regv{Q}_{t-1} + \est{\phi}^{\ast}[\regv{P}_{t} + \Delta\regv{P}_{t}]\right] \\ =& \phi^{\ast}\Delta\regv{P}_{t} \ . \end{split} \end{equation} Then the estimated present-period effect is \begin{equation*}\label{eq:one-change-1} \begin{split}% \raisetag{80pt} \est{\regv{Q}}_{t}[\Delta\regv{P}_{t} \neq 0] % \est{\Delta\regv{Q}}_{t} &= \est{\alpha} + \est{\phi}^{\ast}\left[\regv{P}_{t} + \Delta\regv{P}_{t}\right] + \est{\phi}^{\ast}\est{\lambda}\regv{P}_{t-1} + \est{\phi}^{\ast}\est{\lambda}^{2}\regv{P}_{t-2} + \cdots \ , \end{split} \end{equation*} the next-period effect of the present-period change is \begin{equation*}\label{eq:one-change-2} \begin{split} \est{\regv{Q}}_{t+1}[\Delta\regv{P}_{t} \neq 0] % \est{\Delta\regv{Q}}_{t+1} &= \est{\alpha} + \est{\phi}^{\ast}\regv{P}_{t+1} + \est{\phi}^{\ast}\est{\lambda}\left[\regv{P}_{t} + \Delta\regv{P}_{t}\right] + \est{\phi}^{\ast}\est{\lambda}^{2}\regv{P}_{t-1} + \est{\phi}^{\ast}\est{\lambda}^{3}\regv{P}_{t-2} + \cdots \ . \end{split} \end{equation*} and the estimated $k$-periods-ahead effect is \begin{equation*}\label{eq:one-change-3} \begin{split} % \est{\Delta\regv{Q}}_{t+k} \est{\regv{Q}}_{t+k}[\Delta\regv{P}_{t} \neq 0] &= \est{\alpha} + \est{\phi}^{\ast}\regv{P}_{t+k} + \est{\phi}^{\ast}\est{\lambda}\regv{P}_{t+k-1} + \est{\phi}^{\ast}\est{\lambda}^{2}\regv{P}_{t+k-2} + \est{\phi}^{\ast}\est{\lambda}^{3}\regv{P}_{t+k-3} + \cdots \\ &\phantom{xxxxxxx} + \est{\phi}^{\ast}\est{\lambda}^{k}\left[\regv{P}_{t} + \Delta\regv{P}_{t}\right] + \cdots \ . \end{split} \end{equation*} \par If instead of a one-time price change, the same price change occurs in each period, then the effects overlap \begin{equation} \label{eq:all-change} \begin{split} % \est{\Delta\regv{Q}}_{t} \est{\regv{Q}}_{t}[\Delta\regv{P}_{t} \neq 0] &= \est{\alpha} + \est{\phi}^{\ast}\left[\regv{P}_{t} + \Delta\regv{P}_{t}\right] + \est{\phi}^{\ast}\est{\lambda}\regv{P}_{t-1} + \est{\phi}^{\ast}\est{\lambda}^{2}\regv{P}_{t-2} + \cdots \ , \end{split} \end{equation} the next-period effect of the present-period change plus the next period effect of the next period price change is \begin{equation} \begin{split} % \est{\Delta\regv{Q}}_{t+1} \est{\regv{Q}}_{t}[\Delta\regv{P}_{t} \neq 0, \Delta\regv{P}_{t+1} \neq 0] &= \est{\alpha} + \est{\phi}^{\ast}\left[\regv{P}_{t+1} + \Delta\regv{P}_{t+1}\right] + \est{\phi}^{\ast}\est{\lambda}\left[\regv{P}_{t} + \Delta\regv{P}_{t}\right] + \est{\phi}^{\ast}\est{\lambda}^{2}\regv{P}_{t-1} + \est{\phi}^{\ast}\est{\lambda}^{3}\regv{P}_{t-2} + \cdots \ . \end{split} \end{equation} and the estimated $k$-periods-ahead effect of the price change in each period $t$ though $t+ k$ is \begin{equation} \begin{split} % \est{\Delta\regv{Q}}_{t+k} \est{\regv{Q}}_{t}[\Delta\regv{P}_{t} \neq 0, \Delta\regv{P}_{t+1} \neq 0, \ldots, \Delta\regv{P}_{t+k} \neq 0] &= \est{\alpha} + \est{\phi}^{\ast}\left[\regv{P}_{t+k} + \Delta\regv{P}_{t+k}\right] + \est{\phi}^{\ast}\est{\lambda} \left[\regv{P}_{t+k-1} + \Delta\regv{P}_{t+k-1}\right] \\ &\phantom{xxxxxxx} + \est{\phi}^{\ast}\est{\lambda}^{2} \left[\regv{P}_{t+k-2} + \Delta\regv{P}_{t+k-2}\right] + \est{\phi}^{\ast}\est{\lambda}^{3} \left[\regv{P}_{t+k-3} + \Delta\regv{P}_{t+k-3}\right] + \cdots \\ &\phantom{xxxxxxx} + \est{\phi}^{\ast}\est{\lambda}^{k}\left[\regv{P}_{t} + \Delta\regv{P}_{t}\right] + \cdots \ . \end{split} \end{equation} If $\Delta\regv{P}_{t+k} = \Delta\regv{P}_{t}$ for all~$k$ then \begin{equation} \begin{split} % \est{\Delta\regv{Q}}_{t+k} \est{\regv{Q}}_{t}[\Delta\regv{P}_{t} \neq 0, \Delta\regv{P}_{t+1} \neq 0, \ldots, \Delta\regv{P}_{t+k} \neq 0] &= \est{\alpha} + \est{\phi}^{\ast}\left[\regv{P}_{t+k} + \Delta\regv{P}_{t}\right] + \est{\phi}^{\ast}\est{\lambda} \left[\regv{P}_{t+k-1} + \Delta\regv{P}_{t}\right] \\ &\phantom{xxxxxxx} + \est{\phi}^{\ast}\est{\lambda}^{2} \left[\regv{P}_{t+k-2} + \Delta\regv{P}_{t}\right] + \est{\phi}^{\ast}\est{\lambda}^{3} \left[\regv{P}_{t+k-3} + \Delta\regv{P}_{t}\right] + \cdots \\ &\phantom{xxxxxxx} + \est{\phi}^{\ast}\est{\lambda}^{k}\left[\regv{P}_{t} + \Delta\regv{P}_{t}\right] + \cdots \ , \end{split} \end{equation} and the {\emph difference\/} between this and $\est{\regv{Q}}_{t}[\Delta\regv{P}_{t} = 0]$ is, using \ref{eq:GDL}, \begin{equation} \est{\phi}^{\ast}\Delta\regv{P}_{t} + + \est{\phi}^{\ast}\est{\lambda} \Delta\regv{P}_{t} + \est{\phi}^{\ast}\est{\lambda}^{2} \Delta\regv{P}_{t} + \cdots + \est{\phi}^{\ast}\est{\lambda}^{k} \Delta\regv{P}_{t} + \cdots = \est{\phi}^{\ast} \Delta\regv{P}_{t} \sum_{k=0}^\infinity \est{\lambda}^{k} \end{split} \end{equation} as in \ref{eq:GS}, which completes the proof. \FloatBarrier \newpage \begin{Scode} con <- dbConnect(MySQL(),user="root",password="Os*car1",db="OilGas") \end{Scode} \begin{Scode} WORK.INTENDED <- dbGetQuery(con,"SELECT DATE_FORMAT(INTENT_REC,'%Y-%m'), COUNT(*) FROM HISTDATA WHERE DATE_FORMAT( INTENT_REC,'%Y-%m') BETWEEN '1999-01' AND '2008-09' GROUP BY DATE_FORMAT(INTENT_REC,'%Y-%m')") WORK.COMPLETED <- dbGetQuery(con,"SELECT DATE_FORMAT(WORK_COMPL,'%Y-%m'), COUNT(*) FROM HISTDATA WHERE DATE_FORMAT( WORK_COMPL,'%Y-%m') BETWEEN '1999-01' AND '2008-09' GROUP BY DATE_FORMAT(WORK_COMPL,'%Y-%m')") work.completed <- ts(WORK.COMPLETED[,2],start=c(1999,1),end=c(2008,9),frequency=12) work.intended <- ts(WORK.INTENDED[,2],start=c(1999,1),end=c(2008,9),frequency=12) \end{Scode} \begin{Scode}{fig=TRUE,eval=FALSE} par(mar=rep(5,4)) plot(work.intended,ylab="Date of Intent",xlab="Time") par(new=T) plot(work.completed,axes=F,ylab=" ",lty=2) axis(4) mtext("Date Work Completed",side=4,line=3) \end{Scode} \begin{figure}[h!] \centering \psfrag{Time}[B][B][1][0]{Time} \psfrag{Number of Completions}[B][B][1][0]{Number of Completions} \begin{center} \begin{Scode}{fig=TRUE} ts.plot(work.completed,xlab="Time",ylab="Number of Completions",ylim=c(0,max(work.intended,work.completed)),lty=c(1,2)) \end{Scode} \caption{Monthly number of works completed.} \end{center} \label{fig:intent-complete} \end{figure} \begin{figure}[h!] \psfrag{Time}[B][B][1][0]{Time} \psfrag{Number of Intentions}[B][B][1][0]{Number of Intentions} \begin{center} \begin{Scode}{fig=TRUE} ts.plot(work.intended,xlab="Time",ylab="Number of Intentions",ylim=c(0,max(work.intended,work.completed)),lty=c(1,2)) \end{Scode} \caption{Monthly number of works intended.} \end{center} \label{fig:intent-complete} \end{figure} \FloatBarrier \newpage \renewcommand\refname{\large{References}} \bibliographystyle{jurabib} \bibliography{st} \end{document} %%% Local Variables: %%% mode: latex %%% TeX-master: t %%% End: