Abstract - In this work, we provide a more accurate alternative to Decline Curve Analysis (DCA), one of the most prevalent forecasting techniques used in the oil & gas industry. DCA largely relies upon non-linear regression where a hyperbolic function is fitted through historical data to predict the future production. We propose a data-driven approach that utilizes both the most recent portion of a time series and a set of heuristic to improve upon the current benchmark. Given the time series of production history and a set of contextual meta data (e.g. well location, field's geological information, operations, etc.) we forecast the hydrocarbon production of a given well. We show how regression and clustering techniques can be combined to improve prediction accuracy. We use different sequential neural networks with domain informed feature engineering and enhance the accuracy of the forecast (in some cases by a large margin) compared to a DCA approach.
Keywords: Time Series Forecast, Recurrent Neural Network, RNN, LSTM
Fig.1. Wells clusters projected in PCA space with a global list of $15$ features including but not limited to geolocation coordinates, cumulative oil and water productions, mean, peak, and standard deviation of the oil production, first month production, the cumulative of the first $12$ months of production.
Fig.2. A many-to-one sequence model, where an input sequence is considered for an output through connections made by RNN states
Fig.3. A many-to-many sequence model, multivariate input sequences are used to predict and output
Fig.4. Oil production time series forecast using history of production - 75%-25% split over training and test sets - DVRNN under/overshoots the peaks and troughs with slight delay - DGRU leads to less delay, however, under/overshoots still present - DLSTM is reasonably robust in capturing the trend and spotting.
Fig.5. True v.s. predicted liquid cumulative production for $4$ randomly selected wells, with inputs as gas production, water production, dates, number of flowing days in a month, API number (related to position)