Systems and methods of predictive decline modeling based on time-dependent depletion function

By integrating a dynamic depletion function that considers time-dependent and spatial factors into machine-learning models, the method addresses the inaccuracies in traditional well production prediction for unconventional reservoirs, achieving enhanced predictive accuracy and holistic understanding of reservoir degradation.

US20250179905A1Pending Publication Date: 2025-06-05CONOCOPHILLIPS CO
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
US18/958258
Authority / Receiving Office
US · United States
Patent Type
Applications(United States)
Current Assignee / Owner
Priority Date
2023-11-30
Filing Date
2024-11-25
Publication Date
2025-06-05

AI Technical Summary

Technical Problem

Traditional methods for predicting well production in unconventional reservoirs are inaccurate due to insufficient representation of reservoir degradation effects caused by neighboring well production, leading to biased predictions and underestimation of depletion impacts.

Method used

The implementation of a dynamic depletion function that integrates time-dependent depletion aspects and the proximity and production of neighboring wells into machine-learning based production forecasting models, enhancing predictive accuracy and holism.

Benefits of technology

This approach improves the precision of well production decline modeling by accounting for complex reservoir interactions, leading to more accurate and reliable predictions of well performance over time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US20250179905A1-D00000_ABST
    Figure US20250179905A1-D00000_ABST
Patent Text Reader

Abstract

Systems and method for predicting production decline for a target well include receiving a first data set representing a target well; generating a static model of the target well based on the first data set; receiving a second data set representing one or more neighboring wells; generating a dynamic model of the target well based on the static model and based on a time-dependent depletion function, wherein the time-dependent depletion function is based on distances between the target well and the one or more neighboring wells, and the time-dependent depletion function based on the second data set and predictions of cumulative production of the one or more neighboring wells; and generating, based on the dynamic model, one or more time series values of a production profile of the target well.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] The present application claims priority to U.S. Provisional Patent Application No. 63 / 604,333 filed on Nov. 30, 2023, which is incorporated by reference in its entirety herein.TECHNICAL FIELD

[0002] Aspects of the present disclosure relate generally to systems and methods for modeling well production, and more particularly, to using a time-dependent depletion function for predicting well production decline for a target well that is proximate with other wells.BACKGROUND

[0003] Effective and accurate prediction of well production is used to inform field development and operation. Well-production behavior depends on many factors, including the recovery mechanisms driving fluids to the production wells, reservoir characteristics, well completion parameters, and operation constraints. The complex nature of the fluid flow and transport within the reservoir makes it challenging to accurately predict the flow streams of a given well in a reservoir.

[0004] Traditional approaches have been developed with assumptions of simplified physics to model well production behaviors. Those physics-based modeling methods, however, suffer from the high cost of computation and can include invalid underlying assumptions when dealing with highly complicated reservoir systems and complex recovery mechanisms. Moreover, typical systems can compound error rates as the predictions extend further into the future. As such, typical systems often yield inaccurate, inefficient predictions with limited forecasting abilities.

[0005] Further, when applied to Unconventional Reservoirs (UR), traditional approaches using machine learning predominantly factor in parameters like petrophysics, well location, and completions configuration. These approaches, however, suffer from insufficient representation of reservoir degradation effects due to neighboring well production. This limitation can lead to inaccurate or biased predictions, often underestimating or overlooking the depletion impacts on new or existing wells.

[0006] It is with these observations in mind, among others, that various aspects of the present disclosure were conceived and developed.SUMMARY

[0007] Implementations described and claimed herein address the foregoing problems by providing systems and methods for modeling production decline for a well by using a dynamic depletion function. For example, the dynamic depletion function can be used to generate a well production profile. Further, the methods disclosed herein improve machine-learning based production forecasting models for unconventional reservoirs (URs) by integrating various aspects of depletion (e.g., time dependences and the proximity and production of neighboring wells) into said models, thereby ensuring more holistic and precise predictions. The methods disclosed herein can also be used a standalone reservoir characterization tool for reservoir engineering (RE) applications.

[0008] For instance, a method of predictive decline modeling for an oil well comprises: generating a static model based on an input data set including historical production data corresponding to one or more wells; generating a decline model based on the historical production data and dynamic well data; and generating a predicted well production profile for a target well by: calculating, using the static model and one or more well features of the target well, a predicted initial resource production rate for the target well; calculating, using the decline model and the predicted initial resource production rate, a first final resource production rate for the target well at a first time interval; and calculating, using the decline model and the first final resource production rate at the first time interval, a second final resource production rate at a second time interval subsequent to the first time interval.

[0009] In some examples, generating the predicted well production profile includes recursive calculations generating resource production rates for a series of time intervals. The static model can be generated with supervised machine learning using the historical production data as feature inputs and a target variable being an initial resource production rate having a 30 days-averaged Initial Production (IP30) value. The historical production data can represent one or more of a geologic feature, well completion parameters, reservoir properties, production data, injection data, and fluid data. Moreover, in some instances, the decline model is generated with a neural network using the historical production data and the dynamic well data as feature inputs and a target variable being resource production rate at time (t). The neural network can include two to seven dense layers and between 100 and 600 neurons per layer. Additionally, the dynamic well data can include one or more of a resource production rate for a previous time interval, a bottom hole pressure at the target well, a shut-in bottom hole pressure at the target well, and an average draw down pressure at the target well.

[0010] In some examples, the method further comprises: identifying a subset of data from the historical production data associated with a shut-in period of days; and removing the subset of data associated with the shut-in period of days from the historical production data. The decline model can have an elapsed days feature variable that is reset by an occurrence of an acid job or a recompletion at the target well. The input data set can be generated from an initial data set filtered based on a well age or a type of well. The first time interval or the second time interval can be based on a user input indicating a desired length of time, or a comparison of different lengths of time affecting an absolute percentage error of the predicted well production profile. Additionally, the method can further comprise developing the target well based on the predicted well production profile. Moreover, in some instances, a system is adapted to carry out the method(s) discussed herein, the system comprising: a predictive decline modeling system including the static model trained using the historical production data and the decline model trained using the historical production data and the dynamic well data, the predictive decline modeling system receiving the one or more well features of the target well and the first time interval and generating the predicted well production profile.

[0011] Other implementations are also described and recited herein. Further, while multiple implementations are disclosed, still other implementations of the presently disclosed technology will become apparent to those skilled in the art from the following detailed description, which shows and describes illustrative implementations of the presently disclosed technology. As will be realized, the presently disclosed technology is capable of modifications in various aspects, all without departing from the spirit and scope of the presently disclosed technology. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not limiting.BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The foregoing summary, as well as the following detailed description, will be better understood when read in conjunction with the appended drawings. For the purpose of illustration, there is shown in the drawings certain embodiments of the disclosed subject matter. It should be understood, however, that the disclosed subject matter is not limited to the precise embodiments and features shown. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate implementations of systems, methods, and apparatuses consistent with the disclosed subject matter and, together with the description, serve to explain advantages and principles consistent with the disclosed subject matter, in which:

[0013] FIG. 1 shows an example network environment that can implement various systems and methods discussed herein;

[0014] FIG. 2 shows an example of wells being drilled in spatial proximity with each other for which production can be modeled using the various systems and methods discussed herein;

[0015] FIG. 3A shows an example graph representing cumulate production curves that can be used and / or generated using the various systems and methods discussed herein;

[0016] FIG. 3B shows an example graph of time-dependent depletion functions that can be used and / or generated using the various systems and methods discussed herein;

[0017] FIG. 4 is a block diagram illustrating an example data flow for training and using machine learning (ML) models that can form at least a portion of any of the systems or methods discussed herein;

[0018] FIG. 5 is a block diagram illustrating an example data flow for generating a well production profile utilizing deep learning and / or computer pattern recognition techniques for predictive decline modeling that can form at least a portion of any of the systems or methods discussed herein;

[0019] FIG. 6 illustrates an example predictive decline modeling system for generating a well production profile that can form at least a portion of any of the systems or methods discussed herein;

[0020] FIG. 7 illustrates an example of a method for generating the well production profile that can be performed by any of the systems discussed herein; and

[0021] FIG. 8 illustrates an example computing system that can implement any of the systems and methods discussed herein.DETAILED DESCRIPTION

[0022] Aspects of the present disclosure involve systems and methods for modeling resource production rates (e.g., oil production rates and / or natural gas production rates) for wells. In one aspect, a resource production rate modeling system includes a predictive decline modeling (PDM) tool that generates a well production profile for a given or selected target well. The well production profile indicates how the predicted resource production rate for the target well will change over time and can extend into the future to predict the decline in resource production rate.

[0023] In some examples, the predictive decline modeling system can receive a first data set representing a target well; generate a static model of the target well based on the first data set; receive a second data set representing one or more neighboring wells; generate a dynamic model of the target well based on the static model and based on a time-dependent depletion function, wherein the time-dependent depletion function is based, at least partly, on distances between the target well and the one or more neighboring wells, and the time-dependent depletion function based on the second data set and predictions of cumulative production of the one or more neighboring wells; and generate, based on the dynamic model, one or more time series values of a production profile of the target well.

[0024] In some examples, the dynamic model of the target well is generated based on the time-dependent depletion function that combines or integrates the predicted cumulative productions of the one or more neighboring wells (e.g., by summing or integrating a product of the weights and the predicted cumulative productions).

[0025] In some examples, weights comprising an influence function that depends on spatial and geological factors and depends on distances between the target well and the one or more neighboring wells are used in the weighted sum that combines the predicted cumulative productions of the one or more neighboring wells.

[0026] In some examples, the predictive decline modeling system can generate the dynamic model of the target well by iteratively predicting cumulative production at respective time intervals for the target well and the one or more neighboring wells, wherein the predicted cumulative production for each of the target well and the one or more neighboring wells account for a depletion effect arising from neighboring wells to each of the target well and the one or more neighboring wells.

[0027] In some examples, the dynamic model of the target well is generated by applying inputs comprising the time-dependent depletion function to a machine learning (ML) model to provide the dynamic model and output the one or more time series values of a production profile of the target well, wherein the ML model has been trained using training data that includes training inputs comprising time series representing neighboring well production rates and includes training outputs comprising other time series representing target well production rates.

[0028] In some examples, the static model is generated with supervised machine learning using the first data set that includes historical production data as feature inputs and a target variable being an initial resource production rate having a 30 days-averaged Initial Production (IP30) value.

[0029] In some examples, the predictive decline modeling system can generate the production profile of the target well includes recursive calculations generating predicted production rates for the target well and the one or more neighboring wells for a series of time intervals.

[0030] In some examples, the first data set represents one or more of a geological feature, well completion parameters, reservoir properties, production data, injection data, and fluid data.

[0031] In some examples, the dynamic model of the target well is generated with a neural network using the historical production data and the dynamic well data as feature inputs and a target variable being resource production rate at time (t).

[0032] In some examples, the predictive decline modeling system can use the one or more time series values of a production profile of the target well to generate asset intelligence corresponding to an asset life cycle stage; and recommend, based on the generated asset intelligence, risk-mitigation strategy associated with reservoir depletion.

[0033] In some examples, the predictive decline modeling system can repeat, for potential locations of the target well, the steps of generating the static model and generating the dynamical model of the target well at each of the potential locations; and compare the production profiles of the target well at the potential locations.

[0034] In one aspect, a method for predictive decline modeling for an oil well is provided. The predictive decline modeling method can include: receiving a first data set representing a target well; generating a static model of the target well based on the first data set; receiving a second data set representing one or more neighboring wells; generating a dynamic model of the target well based on the static model and based on a time-dependent depletion function, wherein the time-dependent depletion function is based, at least partly, on distances between the target well and the one or more neighboring wells, and the time-dependent depletion function based on the second data set and predictions of cumulative production of the one or more neighboring wells; and generating, based on the dynamic model, one or more time series values of a production profile of the target well.

[0035] In some examples, the predictive decline modeling can also include the dynamic model of the target well is generated based on the time-dependent depletion function that combines or integrates the predicted cumulative productions of the one or more neighboring wells. as a weighted sum. For example, the cumulative productions can be weighted combination (e.g., summation or integration) with weights comprising influence function(s) that depend on spatial and geologic factors and depend on distances between the target well and the one or more neighboring wells are used in the weighted sum that combines the predicted cumulative productions of the one or more neighboring wells. Generating the dynamic model of the target well comprises iteratively predicting cumulative production at respective time intervals for the target well and the one or more neighboring wells. And the predicted cumulative production for each of the target well and the one or more neighboring wells can be used to account for a depletion effect arising from neighboring wells to each of the target well and the one or more neighboring wells. The dynamic model of the target well is generated by applying inputs comprising the time-dependent depletion function to a machine learning (ML) model to provide the dynamic model and output the one or more time series values of a production profile of the target well, wherein the ML model has been trained using training data that includes training inputs comprising time series representing neighboring well production rates and includes training outputs comprising other time series representing target well production rates. The static model is generated with supervised machine learning using the first data set that includes historical production data as feature inputs and a target variable being an initial resource production rate. Generating the production profile of the target well includes recursive calculations generating predicted production rates for the target well and the one or more neighboring wells for a series of time intervals. The first data set represents one or more of a geological feature, well completion parameters, reservoir properties, production data, injection data, and fluid data. The dynamic model of the target well is generated with a neural network using the historical production data and the dynamic well data as feature inputs and a target variable being resource production rate at time (t). In some examples, the predictive decline modeling can also include using the one or more time series values of a production profile of the target well to generate asset intelligence corresponding to an asset life cycle stage; and recommending, based on the generated asset intelligence, risk-mitigation strategy associated with reservoir depletion.

[0036] In some examples, the predictive decline modeling can also include repeating, for potential locations of the target well, the steps of generating the static model and generating the dynamical model of the target well at each of the potential locations; and comparing the production profiles of the target well at the potential locations.

[0037] To begin a detailed discussion of an example system for modeling production decline for a well extracting a resource (e.g., oil and / or natural gas), reference is made to FIG. 1. FIG. 1 illustrates an example network environment 100 for implementing the various systems and methods, as described herein including a resource production rate modeling system 102. As depicted in FIG. 1, a network 104 is used by one or more computing or data storage devices for implementing a resource production rate modeling system 102 to generate one or more resource production models (e.g., static model 502 and decline model 504 illustrated in FIG. 2, etc.). In one implementation, various components of the resource production rate modeling system 102, one or more user devices 106, one or more databases 110, and / or other network components or computing devices described herein are communicatively connected to the network 104. Examples of the user devices 106 include a terminal, personal computer, a smart-phone, a tablet, a mobile computer, a workstation, and / or the like.

[0038] A server 108 may, in some instances, host the system. In one implementation, the server 108 also hosts a website or an application that users can visit to access the network environment 100, including the resource production rate modeling system 102. The server 108 can be one single server, a plurality of servers with each such server being a physical server or a virtual machine, or a collection of both physical servers and virtual machines. In another implementation, a cloud hosts one or more components of the system. The resource production rate modeling system 102, the user devices 106, the server 108, and other resources connected to the network 104 can access one or more additional servers for access to one or more websites, applications, web services interfaces, etc. that are used for production decline modeling and / or generating a well production profile.

[0039] FIG. 2 illustrates a non-limiting example of a target well 206 that is planned to be drilled in the spatial proximity of two neighboring wells (i.e., a first well 202 and a second well 204). The target well 206 is an example of an unconventional reservoir.

[0040] Unconventional reservoirs, such as shale gas reservoirs, shale oil reservoirs, and / or the like, are generally complex both in terms of geology and development. More particularly, shales are highly heterogeneous due to nanoscale pore size and highly variable structures. Characterizing shale geology in terms of permeability and natural fractures remains a pervasive challenge. Exacerbating these challenges, performance of an unconventional well is strongly driven by development approaches in drilling, well placement, and completion over the life cycle of reservoir development, and the technology to reliably characterize and model physical properties of a reservoir is insufficient.

[0041] FIG. 2 illustrates an example in which the performance of the target well 206 depends on the well placement. More particularly, the target well 206 is a “child” of the first well 202 and therefore the second well 204, and production estimates for target well 206 are reduced due to the depletion of resources from the surrounding area that arises from the cumulative resources extracted by the “parent” wells. In addition to depletion being tied to the cumulative resources extracted, the depletion effect on the child well will often be greater when the parent wells are closer to the child. That is, the performance of a child well is dependent on and often worse than the parent wells due to depletion. Determining how much the performance will degrade is important so that engineers can properly forecast production and organizations can allocate capital correctly. For example, an efficient scoping workflow for understanding the effect of depletion on child well performance across an area of interest can be used to analyze potential infill locations, and thereby recognize promising infill locations and avoid risky infill locations.

[0042] The methods disclosed herein provide a time-dependent depletion function that expresses the parent-child relationship as a continuum, where the influence of parents on a given reference well decays with distance. As discussed above, in general, a substantial percentage of child wells in unconventional plays perform worse on a completion-normalized basis than their predecessors within a defined distance (i.e., parent wells). Depletion in the vicinity of the child well can (i) reduce the quantity of available hydrocarbons in the area; (ii) lower the pressure in the area resulting in less energy is available to the child well; and (iii) alter the stress state of the reservoir resulting in a less effective fracture network for the child well.

[0043] The overall impact of depletion on well 206 over time, Impactwell(t), can be characterized by considering the cumulative effects of various factors (geologic, offset wells production, etc.) over time. This can be represented by an integral that accounts for continuous changes in depletion state over time:Impactw⁢e⁢l⁢l(t)=Impacti⁢n⁢i⁢t⁢i⁢a⁢l+∫0 tf⁡(τ)⁢d⁢τ,

[0044] where f(τ) represents a function that accounts for various dynamic factors that influence the well with respect to time τ, and Impactinitial(t) denotes the cumulative effect of depletion at time t=0 for a specific well.

[0045] In this sense if we consider that for a specific well, depletion effects are additive, we can consider the specific form of the equation, which integrates the depletion effects over the spatial and temporal domain. This captures the influence of each point within the reservoir and the depletion impact of that specific well:D⁢Fw⁢e⁢l⁢l(j,t)=∫FD⁡(s,t)·Ψ⁡(djs,Ω)⁢ds.In this expression, DFwell(j, t) is the Depletion Function and represents the depletion impact experienced at the specific well, at location j and time t. Additionally, D(s, t) represents the cumulative depletion-related factors at point s within the field f at time t (including the contributions of wells 202, 204 and any other offsets in FIG. 2), and Ψ(djs, Ω) is an influence function that integrates distance and other reservoir characteristics, where dis is the distance to well j and Ω encapsulates other reservoir characteristics.The Depletion Function can be expressed in a compact integral form that encompasses the complex dynamics of well interactions as:D⁢Fw⁢e⁢l⁢l(j,t)=∫ΘX⁡(ξ,t)·⁢(η⁡(ξ))⁢d⁢ξ.In this formulation, X (ξ, t) represents a time-varying function capturing withdrawal of reservoir fluids at offset well locations. The function g(η(ι)) denotes the influence of spatial and geological factors within a transformed domain θ, capturing the complex interactions and variability in the reservoir. DFwell(j, t) is a time-dependent depletion function that can therefore be used to characterize the impact of depletion on any field point in space and time.FIG. 3A illustrates examples of predicted cumulative production values for the target well 206 when the depletion function (DF) is assumed to have the respective static values shown in the legend. This static value for the depletion function occurs, for example, when the neighboring wells are no longer active / producing. Curve 302 shows the predicted cumulative production in units of thousands of barrels (MBO) for the case of DF=0 (e.g., no neighboring wells). And curve 304 shows the predicted cumulative production for the case of DF=100. The curves in between curve 302 and curve 304 are the predicted cumulative production for DF=10, 20, . . . , 80, where the cumulative production curves decrease as the value of DF increases.The predicted target well production for DF=0 can be predicted, e.g., using the static model 502 discussed below with reference to FIG. 5. Further, the mapping of the predicted target well production for DF=0 to predicted target well production curves for DF #0 can also be performed using the static model 502. For example, a ML model can be derived that determines a percentage by which the target well production curve is diminished for respective values of DF. Further, this percentage can depend on various parameters of the target well, such a geological conditions in the area, a depth of the well, and other parameters as would be understood by a person of ordinary skill in the art.

[0049] Generally, the values of the depletion function (DF) will not be static. For example the neighboring wells can continue production while the target well is producing. The cumulative production MBOj(t) can therefore be a time-dependent parameter that increases monotonically as production continues at the neighboring wells. Further, the predictions for production at the neighboring wells will be modified due to depletion at the target well and all other additional wells within a neighborhood of each of the neighboring wells. A neighborhood of a given well can be specified as any well that is within a predefined distance (e.g., within 10,000 meters) of the given well.

[0050] A more accurate / realistic model incorporates a time-dependent value for the cumulative production of the neighboring wells (e.g., the jth well has a time-dependent cumulative production value of MBOj(t)). FIG. 3B illustrates a non-limiting examples of dynamic predictions for the time-dependent depletion functions of the respective wells illustrated in FIG. 2. The depletion function for the target well 206 is the largest because it experiences depletion from two neighboring wells (i.e., the first well 202 and therefore the second well 204). The depletion function for the first well 202 is in the middle because it is closer to the target well 206, and therefore the first well 202 is predicted to experience greater depletion than the second well 204. The depletion function for the second well 204 is in the least because it is farthest from the other two wells, resulting in the least depletion.

[0051] To obtain the dynamic / time-dependent cumulative production value MBOj(t) and the time-dependent depletion functions, an iterative or recursive process can be used in which, for a series of N+1 time intervals (e.g., t={t0, t1, . . . , tn, tn+1, tn+2, t0, . . . , tN,}), the values of the time-dependent depletion function for the current time interval (tn) are used to predict the time-dependent cumulative production value for each well at the next time interval (tn+1). Then, the cumulative production values at the next time interval are used to predict the time-dependent depletion functions at the next time interval (tn+1) or at the next next time interval (tn+2).

[0052] The time-dependent depletion function can be combined with one or more ML models to provide improved predictions for production of the target well 206. For example, the time-dependent depletion function of the target well 206 can be used as one of the inputs to a ML model that generates a production profile of the target well 206. Alternatively or additionally, the time-dependent depletion function of the neighboring wells can be used as one of the inputs to a ML model that generates a production profile of the target well 206, Alternatively or additionally, cumulative productions generated using the time-dependent depletion functions of the target well and / or of the neighboring wells can be used as one of the inputs to a ML model. Alternatively or additionally, one or more ML models can be used to generate static models (e.g., the curves in FIG. 2A) for the cumulative production of the target well for various conditions (e.g., geological condition, depletion values DF, etc.), and these static models derived from an ML model can be used to determine the well production at the respective time intervals. These examples are non-limiting, and the time-dependent depletion function and quantities derived therefrom can be combined with ML models in additional ways, as would be understood by a person of ordinary skill in the art.

[0053] The time-dependent depletion function provides several benefits for predicting well production and for reservoir engineering based on these predictions. The time-dependent depletion function beneficially provides a solution to the problem of accurately predicting production in unconventional reservoirs. This solution provides a dynamic, time-dependent depletion function that aggregates all the depletion drivers into a singular, quantifiable metric, and this solution offers a clear representation of reservoir degradation effects over time. Further, the time-dependent depletion function beneficially provides a comprehensive understanding of depletion impacts as reservoir development progresses. Moreover, by integrating the time-dependent depletion function with other inputs into a deep learning neural network model, a more holistic and nuanced approach is provided to predict monthly volumes of oil, water, and gas. This approach not only ensures more accurate and reliable predictions but also aligns with established reservoir engineering principles.

[0054] Even without integrating the time-dependent depletion function with a ML model (e.g., deep learning neural network model), the time-dependent depletion function beneficially can be used as a standalone tool that offers greater insights into degradation evolution and thereby fosters better reservoir management decisions and optimizing production strategies in the face of reservoir depletion challenges.

[0055] Further, in contrast to static metrics in conventional approaches, the time-dependent depletion function beneficially captures the depletion impact over time, offering a more accurate representation as reservoir development progresses. As a unified metric, the time-dependent depletion function beneficially aggregates multiple depletion drivers into one comprehensive metric. This simplification aids in the interpretation and application of data, eliminating the noise and discrepancies often found when handling disparate data sources.

[0056] Additionally, the time-dependent depletion function beneficially provides enhanced predictive accuracy. For example, when integrated into machine learning algorithms (e.g., deep learning neural networks) the time-dependent depletion function enables for better prediction of monthly production volumes of oil, water, and gas, by explicitly accounting for reservoir degradation. Moreover, the time-dependent depletion function beneficially improves versatility because it can both be integrated into advanced predictive models and / or it can be used as a standalone tool. This dual utility beneficially enables the time-dependent depletion function can cater to varying needs, from machine learning applications to direct reservoir analysis. The time-dependent depletion function also enables optimized reservoir management. By modeling the time dependency of depletion, reservoir engineers and decision-makers can make more informed strategies for optimizing production and managing risks associated with reservoir depletion.

[0057] FIG. 4 illustrates a non-limiting example of training a machine learning (ML) model. As discussed above, according to certain non-limiting examples, the input data 416 can include the time-dependent depletion function with similar inputs used in the training data 404. The output data 422 from the ML model can include a well-production profile or other outputs used for reservoir engineering and used to inform strategies for optimizing production and managing risks associated with reservoir depletion. According to certain non-limiting examples, the input data 416 can include various parameters used to predict a static model (e.g., one or more of a geological feature, well completion parameters, reservoir properties, production data, injection data, and fluid data) and the output data 422 can be a static model (e.g., those curves illustrated in FIG. 3A).

[0058] More particularly, FIG. 4 illustrates a non-limiting example of training a machine learning (ML) model to generate trained coefficients 412 to which input data 416 is then applied to generate the outputs 422. In step 406, training data 404 is applied to train the ML model. For example, the ML model can be an artificial neural network (ANN) that is trained via supervised or unsupervised learning using a backpropagation technique to train the weighting parameters between nodes within respective layers of the ANN. Alternatively or additionally, the ML model can include other models, such as a random forest model, a linear regression model, a boosted trees model, a non-linear regression model, and / or a support vector machine, for example. Without loss of generality, the method 400 is illustrated using the non-limiting example of the ML model being an ANN.

[0059] In supervised learning, the training data 404 is labeled such that the training data 404 includes training inputs to the ML model, and these inputs are labeled / associated with known / desired outputs from the ML model. The inputs in the training data 404 are applied to the ML model, and an error / loss function is generated by comparing the output from the ML model with the desired outputs / labels of the training data 404. Starting with the initial coefficients 402, the coefficients of the ML model are iteratively updated to reduce an error / loss function. The value of the error / loss function decreases as outputs from the ML model increasingly approximate the desired output. In other words, ANN infers the mapping implied by the training data, and the error / loss function produces an error value related to the mismatch between the desired output and the outputs from the ML model that are produced as a result of applying the training data 404 to the ML model.

[0060] Alternatively, for unsupervised learning or semi-supervised learning, training data 404 is applied to train the ML model. For example, the ML model can be an artificial neural network (ANN) that is trained via unsupervised or self-supervised learning using a backpropagation technique to train the weighting parameters between nodes within respective layers of the ANN.

[0061] In unsupervised learning, the training data 404 is applied as an input to the ML model, and an error / loss function is generated by comparing the predictions to other data in the training data 404 For example, in time series or prose (ordered words), the ML model can predict the next value in the series based on the previous values, and the error function is generated by comparing the predicted next value in a series to the actual next value in the series. The coefficients of the ML model can be iteratively updated to reduce an error / loss function. The value of the error / loss function decreases as outputs from the ML model increasingly approximate the training data 404.

[0062] Relatedly generative adversarial networks (GAN) can be trained using unlabeled training data and unsupervised learning by pitting two ML models (a generative ML model and a classifying ML model) against each other to train the ML models.

[0063] In certain implementations, the cost function can use the mean-squared error to minimize the average squared error. In the case of a of multilayer perceptrons (MLP) neural network, the backpropagation algorithm can be used for training the network by minimizing the mean-squared-error-based cost function using a gradient descent method.

[0064] Training a neural network model essentially means selecting one model from the set of allowed models (or, in a Bayesian framework, determining a distribution over the set of allowed models) that minimizes the cost criterion (i.e., the error value calculated using the error / loss function). Generally, the ANN can be trained using various algorithms for training neural network models (e.g., by applying optimization theory and statistical estimation).

[0065] For example, the optimization method used in training artificial neural networks can use some form of gradient descent, using backpropagation to compute the actual gradients. This is done by taking the derivative of the cost function with respect to the network parameters and then changing those parameters in a gradient-related direction. The backpropagation training algorithm can be: a steepest descent method (e.g., with variable learning rate, with variable learning rate and momentum, and resilient backpropagation), a quasi-Newton method (e.g., Broyden-Fletcher-Goldfarb-Shannon, one step secant, and Levenberg-Marquardt), or a conjugate gradient method (e.g., Fletcher-Reeves update, Polak-Ribiére update, Powell-Beale restart, and scaled conjugate gradient). Additionally, evolutionary methods, such as gene expression programming, simulated annealing, expectation-maximization, non-parametric methods and particle swarm optimization, can also be used for training the ML model.

[0066] In step 408, method 400 can also include various techniques to prevent overfitting to the training data 404 and for validating the trained step 420. For example, holdout data 410 can be used in step 408 to validate the trained ML model. The holdout data 410 can be a subset of the training data 404 that was not used in step 406 but was instead set aside to be used for validation. Additionally or alternatively, validation can be performed using bootstrapping and random sampling of the training data 404 can be used.

[0067] As understood by those of skill in the art, other methods can be used for the ML model including one or more of the following: hidden Markov models, recurrent neural networks (RNNs), convolutional neural networks (CNNs); Deep Learning networks, Bayesian symbolic methods, general adversarial networks (GANs), support vector machines. As discussed above, the ML model can include a regression algorithm, such as, but not limited to, a Stochastic Gradient Descent Regressors, and / or Passive Aggressive Regressors, etc.

[0068] The ML models can also include one or more clustering algorithms (e.g., a Mini-batch K-means clustering algorithm), a recommendation algorithm (e.g., a Miniwise Hashing algorithm, or Euclidean Locality-Sensitive Hashing (LSH) algorithm), and / or an anomaly detection algorithm, such as a Local outlier factor. Additionally, the ML model can employ a dimensionality reduction approach, such as, one or more of: a Mini-batch Dictionary Learning algorithm, an Incremental Principal Component Analysis (PCA) algorithm, a Latent Dirichlet Allocation algorithm, and / or a Mini-batch K-means algorithm, etc.

[0069] In step 420, input data 416 can be applied to the trained ML model (e.g., an ANN with the trained coefficients 412) to generate the outputs 422.

[0070] FIG. 5 is a block diagram illustrating an example data flow in which the time-dependent depletion function can be used to contribute to the well-production profile 500. For example, the time-dependent depletion function can be one component used in generating the decline model 504. This data flow can be used in the resource production rate modeling system 102 to generate a well production profile 500 utilizing supervised machine learning to generate a static model 502 and a neural network to generate a decline model 504. For example, the neural network to generate a decline model 504 can receive inputs that include the time-dependent depletion function. Through the data flow of FIG. 5, the static model 502, the decline model 504, and the well production profile 500 can be generated without the need to utilize any physics laws or physics-based modeling. Rather, artificial intelligence such as supervised machine learning, neural networks, and other algorithms or techniques can be trained through one or more iterative and validation processes using historical production data 506 and dynamic well data (e.g., dynamic well production data 518) to calculate a plurality of final resource production rates for a plurality of time intervals that, when aggregated, generate the well production profile 500. In one particular implementation, the steps outlined in the data flow of FIG. 5 can be executed by the resource production rate modeling system 102 automatically or in response to inputs provided through a user interface to generate the well production profile 500. In other instances, however, any component of the network environment 100 can execute one or more applications as described in relation to the data flow of FIG. 5.

[0071] In some examples, the data flow can include generating an input data set 510 as input to a supervised machine learning algorithm, technique, or system (e.g., supervised machine learning algorithm 512). The input data set 510 can include the historical production data 506 and / or any well-production-related data, such as but not limited to data representing geological features at well locations, drilling or completion data for the wells, properties of subterranean reservoirs at locations of the wells, production data of the wells, injection data from the water injection wells surrounding the target wells, or fluid data for the wells. In an implementation, at least a portion of the input data set 510 is generated using sensors (e.g., well sensors, flow rate sensors, temperature sensors, pressure sensors, etc.).

[0072] In some examples, geological feature data—the data representing geological features at the well locations—may include one or more different types of data such as formation data, permeability data, porosity data (e.g., effective porosity data), clay content data, effective oil saturation (SOE), depth and thickness data (measured depth (MD), true vertical depth (TVD), total thickness, net-to-gross ratio (NTG)), completed thickness, or completed thickness with interval thicker than 2 meters. The drilling or completion data can include data related to top hole perforations or bottom hole perforations, a completion hole size, a completion job code, a screen size (e.g., sand screen size), a perforation measured depth (MD) or true vertical depth (TVD), a perforation clustering, a fracture gradient (e.g., in pounds-per-square inch (psi) per foot), a proppant type or amount, a slurry volume, or any combinations thereof (e.g., such that improve the accuracy of the static model 502). The production data can include one or more different types of data such as a daily oil production volume, a gas production volume, a water production volume, a ESP pump intake pressure, a drawdown pressure, a wellhead pressure (WHP), a oil gravity, a flow line temperature, a flow line pressure, and a ESP pump intake temperature, a well test (e.g., daily production data of the well test). The injection data can include an injection daily volume, an injection volume target, a well head pressure, a choke size, a pre-valve pressure, a well head temperature, a casing pressure, a cumulative injection volume, or combinations thereof (e.g., such that improve the accuracy of the static model 502.

[0073] In some instances, the input data set 510 can be a filtered subset of a larger dataset. For instance, an initial dataset can be filtered based on one or more well features or well metrics of the target well so that the filtered input data set 510 includes data more relevant to the target well than the larger, unfiltered data set. For instance, the larger dataset can be filtered based on a type of the target well (e.g., oil, gas, oil and gas, producer, etc.), and / or a date or age of the target well (e.g., all wells since 5011, all wells since 5012, etc.). As such, the input dataset 510 provided to the static model 502 for calculating initial production values for the well production profile 500 can be based on one or more features of the target well. The input data set 510 can include historical production data 506 related to a plurality of wells distributed throughout multiple reservoir sites (e.g., training wells). The historical production data 506 can relate to wells at various stages of surveying, drilling, encasing, completion, injection, and production. In some instances, the historical production data 506 can be generated from various sources that have partial or incomplete data, but can be aggregated according to a training well identifier or reservoir site identifier of the training well to generate the historical production data 506. In some instances, the input data set 510 can be continually updated as updated information is received from active wells of the training wells.

[0074] In some instances, the input data set 510 can include the time-dependent depletion function.

[0075] In some examples, the supervised machine learning system 512 can determine that any particular one of the different types of geological feature data, the drilling or completion data, the production data, the injection data, or the fluid data disclosed above can have a greater causal correlation with a resource production rate achieving the target variable resource production rate, e.g., (IP30, IP60, IP 60, IP 180, etc.) and, as such, the particular type of data can be assigned a greater weight than other types of data by the supervised machine learning system 512. For instance, the supervised machine learning system 512 can utilize aspects of pattern recognition techniques to generate the static model 502 from the input data set 512 by recognizing correlations between data trends and combinations of data trends of particular data types and resource production rates.

[0076] In some examples, a first training / validation diagnostics technique, algorithm, or system (e.g., first training / validation diagnostics 514) can be performed on the static model 502 to refine the static model 502 and improve its accuracy. For instance, the supervised machine learning system 512 can use a training data set representing information for between 100 and 500 training wells (e.g., that have previously been completed and produced oil and / or natural gas). The first training / validation diagnostics 514 can use between 10 and 50 wells from the historical data set 506 as a holdout data set (e.g., a validation data set). Data corresponding to wells in the holdout data set is compared to results generated by the static model 502 (e.g., after the static model 502 is trained with the training data set) to determine how closely the static model 502 can predict initial oil production rates for wells in the holdout data set (e.g., based on the geological feature data, and the completion data).

[0077] For instance, the first training / validation diagnostics 514 can iteratively train multiple static models 502, based on the input data set 510, to determine a combination of correlations between the geological feature data, the drilling or completion data, the production data, the injection data, the development data, and / or the fluid data as they relate to an initial resource production rate. For example, the first training / validation diagnostics 514 can utilize one or more pattern recognition algorithms to correlate the resource production rate with various generated static models 502 and, through a regression algorithm, can train / validate the various generated models with the input data set 510. In one implementation, the first training / validation diagnostics 514 can be applied to each generated static model 502 to determine an accuracy of the static model when applied to training wells from the input data set 510. Through a determined error obtained from the application of the various static models 502 to the input data set 510, the supervised machine learning algorithm 512 can determine how accurate or how closely the generated static model 502 corresponds to the input data set 510. The first training / diagnostics 514 of the supervised machine learning algorithm 512 can then alter the generated static model 502 based on the determined error to address and attempt to eliminate the error. This process of model generation, regression, validation, and alteration can be repeated until the determined error of the static model 502 (as based on the first training / validation diagnostics 514) falls below a threshold value. In this manner, the supervised machine learning algorithm 512 can utilize techniques (such as one or more pattern recognition algorithms) to generate or alter static models 502 that are trained, through the above-described iterative process, to accurately predict an initial resource production for a target well. Accuracy testing and modifying the static model 502 (e.g., adjusting variable weights) based on results of the validation testing with the holdout data set can further improve the accuracy of the static model 502.

[0078] In some examples, the static model 502 and the historical production data 506 can be provided to a neural network algorithm or system 516 to generate the decline model 504. The neural network system 516 can also receive and use dynamic well production data 518 (e.g., dynamic well operation data), in addition to the static model 502, to generate the decline model 504. For instance, the neural network system 516 can include two to seven dense layers having between 500 and 600 neurons per layer arranged to generate the decline model 504 with a target variable of oil at time (t) based on input features including the static model 502 (e.g., an initial resource production rate generated by the static model 502), and the dynamic well production data 518.

[0079] FIGS. 3A and 3B illustrates an example predictive decline modeling system 620 for generating the well production profile 500, which can form a portion of any of the systems discussed herein (e.g., the resource production rate modeling system 102 of FIG. 1). FIGS. 3A and 3B illustrates the well production profile 500 layered over actual production data on an x-y graph representing time on the x-axis (e.g., in units of days, weeks, or months) and resource production rate (e.g. in units of barrels per day (bbl / day)) on the y-axis. In some instances, the production profile 500 can be based on multiple recursive calculations generated by the static model 502 and the decline model 504 indicating resource production rates at various time intervals. For instance, an initial resource production rate 302 can be calculated by the static model 502 at an initial time step based on the input data set 510 (e.g., filtered based on one or more well features of the target well). The decline model 504 can calculate, based on the predicted initial resource production rate 302 and the dynamic well production data 518, a resource production rate 310 at the second timestep after a time interval. The decline model 504 can calculate, using the predicted resource production rate 310 and other input data, a second resource production rate(s) 308, 306 at the next timestep(s). This process can be repeated any number of times for any number of time intervals using the predicted resource production rates at the previous time steps for subsequent timesteps.

[0080] In some examples, the predictive decline modeling system 620 can perform multiple recursive calculations to generate the predicted well production profile 500, for instance, by generating a plurality of resource production rates for a plurality of time intervals. The predictive decline modeling system 620 can calculate resource production rates for a series of time intervals. In some instances, the first time interval and / or the second time interval is between 10 days and six months (e.g., 15 days, one month, two months, three months, four months, five, months or six months). The first time interval or the second time interval can be determined based on a user input indicating a desired length of time. Additionally, or alternatively, the predictive decline modeling system 620 can generate multiple well production profiles 500 using time intervals of different lengths of time and can compare the results of using different lengths of time to determine which length of time provides a most accurate well production profile 500 (e.g., by using the second training / validation diagnostics 520). The first time interval, the second time interval, and / or any number of time intervals can have a same length of time, or the length of time can vary based on a minimum accuracy threshold for each final resource production rate calculation and / or as needed based on available computational resource.

[0081] FIG. 6 shows an example block diagram of a resource production rate modeling tool 600 for generating the well production profile 500. In general, the resource production rate modeling tool 600 can include the predictive decline modeling system 620 and can form at least a part of the resource production rate modeling system 102 of FIG. 1. As shown in FIG. 6, the resource production rate modeling tool 600 can be in communication with a computing device 602 providing a user interface 604. As explained in more detail below, the resource production rate modeling tool 600 can be accessible to various users to generate the time-dependent depletion function, the static model 502, the decline model 504, and the well production profile 500 based on the historical production data 506 and / or the input data set 510, which can be provided to the tool by the user. Access to the resource production rate modeling tool 600 can occur through the user interface 604 executed on the computing device 602.

[0082] As explained above, the resource production rate modeling tool 600 can use the time-dependent depletion function to generate the well production profile 500 based on the input data set 510. Thus, the resource production rate modeling tool 600 can include the predictive decline modeling system 620 executed to perform one or more of the operations described herein. The predictive decline modeling system 620 can be an application stored in a computer-readable media 606 (e.g., memory) and executed on a processing system 608 of the resource production rate modeling tool 600 or other type of computing system, such as that described below. For example, the predictive decline modeling system 620 can include instructions that can be executed in an operating system environment, such as a Microsoft Windows™ operating system, a Linux operating system, or a UNIX operating system environment. The computer readable medium 606 includes volatile media, nonvolatile media, removable media, non-removable media, and / or another available medium. By way of example and not limitation, non-transitory computer readable medium 606 comprises computer storage media, such as non-transient storage memory, volatile media, nonvolatile media, removable media, and / or non-removable media implemented in a method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.

[0083] The predictive decline modeling system 620 can also utilize a data source 610 of the computer readable media 606 for storage of data and information associated with the resource production rate modeling tool 600. For example, the predictive decline modeling system 620 can store information associated with iterations of the time-dependent depletion function, the static model 502, and the decline model 504. Further, the predictive decline modeling system 620 can store information associated with training / validation diagnostic information or data, trained static models 502, trained decline models 504, and model accuracy scoring, well production profiles 500, for example. As described in more detail below, various generated models and profiles can be stored and used via the user interface 604 to simulate or otherwise determine well production profiles such that trained or optimized models and profiles for various target wells can be stored in the data source 610.

[0084] The predictive decline modeling system 620 can include several components to perform one or more of the operations described herein. For example, the predictive decline modeling system 620 can include a training data manager 612 to manage the input data set 510 for the supervised machine learning system 512 and / or the neural network 516 for generating one or more static models 502, decline models 504, and / or well production profiles 500 based on the input data set 510. The training data manager 612 may, in some instances, receive various types of data, such as well logs, well construction data, production data, seismic data, attribute data, and / or other types of well-related data and combine the data into the input data set 510 for use in generating the well production profile 500. Further, the training data manager 612 can also manage training / validation diagnostic information and data used in determining an accuracy of the well production profile 500 as compared to the input data set 510. For example, the training data manager 612 can compare simulated results of the decline model 504 and determine a difference between the simulated results and the input data set 510 to determine an accuracy of the generated model. Past results of the training of the model can also be stored and / or maintained by the training data manager 612 for comparison to current results to determine if the generated model is becoming more accurate or less accurate in response to operations performed by the supervised machine training system 512 and / or the neural network 516. In general, any information or data provided as inputs to the predictive decline modeling system 620 and / or utilized to train or validate the static model 502 or the decline model 504 can be managed by the training data manager 612.

[0085] The predictive decline modeling system 620 can also include a deep learning trainer 614 and regression trainer 616 to generate and / or train one or more static models 502 or decline models 504 based on the input data set 510 received from the training data manager 612. As explained above, the deep learning trainer 614 can include any machine learning or artificial intelligence techniques (e.g., the supervised machine learning system 512, the neural network 516, etc.) to generate the static model 502, the decline model 504, and the well production profile 500 from the input data set 510. In one particular implementation, the deep learning trainer 614 can employ a neural network to execute a pattern recognition algorithm on the input data set 510 and the dynamic well production data 518 to generate the decline model 504 and the well production profile 500. The regression trainer 616 can reduce the complexity of the generated models and profiles and apply the models to the first training / validation diagnostics 514 and 520 for iterative training. Together, the deep learning trainer 614 and the regression trainer 616 can develop a plurality of trained models of the resource production associated with the input data set 510.

[0086] A parallelization implementer 618 can also be included and executed by the predictive decline modeling system 620. In general, the parallelization implementer 618 can manage the parallelization of the training of the generated static models 502 and decline models 504 and / or model scoring with a high performance cluster (HPC). For instance, the overall data flow process described above with relation to FIG. 5 may be distributed across an HPC of computing devices. For example, the various trained models generated by the iterative process can be scored in parallel through a distribution of the trained models onto various computing machines of the HPC. In this manner, the simulations executed on the trained models and the accuracy scores of the various models can be obtained simultaneously to reduce the time needed to complete the model evaluations. In a similar manner, multiple computing devices can execute the deep learning / pattern recognition techniques in a parallel manner to generate the multiple trained models for the target well simultaneously such that the trained models can be generated at a faster rate than previous implementations that can generate the trained models serially. For example, the parallelization implementer 618 can provide the generated models to one or more computing devices of the HPC for training, simulation, and comparing to the diagnostic data. Similarly, the parallelization implementer 618 can communicate with one or more computing devices of the HPC to apply measured data to the trained models to determine an accuracy of the trained models. In general, any communication between the predictive decline modeling system 620 and the HPC can be managed by the parallelization implementer 618 to reduce the time to generate the static model 502, decline model 504, and / or the well production profile 500.

[0087] It should be appreciated that the components described herein are provided only as examples, and that the resource production rate modeling tool 600 can have different components, additional components, or fewer components than those described herein. For example, one or more components as described in FIG. 6 can be combined into a single component. As another example, certain components described herein can be encoded and executed on other computing systems.

[0088] FIG. 7 illustrates a non-limiting example of a method 700 for generating the well production profile 500, which can be performed by any of the systems discussed herein. The operations can be performed by a computing device configured to execute any machine learning or artificial intelligent algorithm, including image recognition techniques. Such operations can be executed through control of one or more hardware components, one or more software programs, or a combination of both hardware and software components of the computing device.

[0089] Beginning in step 702, the computing device can receive training data (e.g. the input data set 510) including any production or historical production data 506 for inclusion in modeling production decline for the target well. As explained above, such a dataset can include data obtained through well logs, production logs, seismic data, attribute data, or any other well modeling-related data.

[0090] In step 704, the computing device can generate one or more models, e.g., by training one or more machine learning (ML) models based on the training data. The trained models can include the static model 502, which is trained based on the input data set, for instance, by using the supervised machine learning system 512 and the first training / validation diagnostics 514. Further, trained models can include a dynamic model (e.g., the decline model 504, which is trained based on the input data set 510 and the dynamic well production data 518 using the neural network 516). Additionally, according to certain non-limiting examples, the dynamic model generated in step 704 can use the time-dependent depletion function, e.g., as one of the inputs. Also, according to certain non-limiting examples, the static model can be trained to provide production curves for given static values of the depletion function, as discussed above.

[0091] According to certain non-limiting examples, the computing device can iteratively train multiple static models 502 and / or multiple decline models 504, based on the input data set 510 and the dynamic well production data 518, to determine a combination of correlations between the geological feature data, the drilling or completion data, the production data, the injection data, the development data, and the fluid data and a resource production rate. For example, the predictive decline modeling system 620 can utilize one or more pattern recognition algorithms to correlate the resource production rate with various generated static models 502 and, through a regression algorithm, can train / validate the various generated models with the input data set 510. In one implementation, the first training / validation diagnostics 514 can be applied to each generated static model 502 to determine an accuracy of the static model when applied to training wells from the input data set 510. Through a determined error obtained from the application of the various static models 502 to the input data set 510, the supervised machine learning algorithm 512 can determine how accurate or how closely the generated static model 502 corresponds to the input data set 510. The first training / diagnostics 514 of the supervised machine learning algorithm 512 can then alter the generated static model 502 based on the determined error to address and attempt to eliminate the error. This process of model generation, regression, validation, and alteration can be repeated until the determined error of the static model 502 (as based on the training / validation diagnostics 514) falls below a threshold value. In this manner, the supervised machine learning algorithm 512 can utilize techniques (such as one or more pattern recognition algorithms) to generate or alter static models 502 that are trained, through the above-described iterative process, to accurately predict resource production for a target well.

[0092] In step 706, the trained static models 502 and dynamic models 504 can be compared to holdout data to determine an optimized static model and an optimized decline model. For instance, the predictive decline modeling system 620 can generate models that each performs within the thresholds of the validation diagnostics. However, some models generated by the predictive decline modeling system 620 can be more accurate than others. To determine the optimal model generated by the system, each trained model can be applied to a parallel model scoring technique in step 706. In particular, each trained model can be compared to data from one or more holdout wells of the holdout data set (e.g., discussed in greater detail above regarding FIG. 5) to determine an accuracy score for the generated trained models. To compare the trained models to the holdout well data, a simulation can be executed on each trained model to determine an expected dataset for the holdout wells and a comparison of the expected dataset to the actual datasets can be performed by the predictive decline modeling system 620. The trained model with the lowest delta between the expected dataset values and the measured dataset values at the holdout wells can be considered the optimized models (e.g., the optimized static model 502 or the optimized decline models 504). These optimized models may, in step 710, be utilized to make predictions of the reservoir properties across the entire seismic volume for the reservoir being modeled.

[0093] In step 708, the computing device can receive a data set representing the parameters of a target well. These parameters can include, e.g., one or more of a geological feature, well completion parameters, reservoir properties, production data, injection data, and fluid data that are related to s specified location at which the target is to be drilled. Further, the data set can include parameters relating the target well to neighboring wells, including, e.g., the distance between the target well and the neighboring wells, the cumulative production of the neighboring wells, and the predicted / ongoing production of the neighboring wells. In an implementation, at least a portion of the parameters include sensor data obtained from neighboring wells.

[0094] In step 710, the computing device can generate particular models for the target well, e.g., by applying the data set to the trained models from step 704. The particular model of the target well can include a static model and a dynamic model of the target well, and these can be based, at least partly, on the particular time-dependent depletion function for the target well. Alternatively or additionally, as discussed above, a standalone model based on the time-dependent depletion function can be developed for the target well. Thus, the models for the target well (e.g., the time-dependent depletion function, the static model, and / or the dynamic model) can be based on the trained ML model, or the model for the target well can be a standalone model that predicts the production of the target well over time based on only the time-dependent depletion function—not the trained ML models.

[0095] In step 712, the computing device uses the generated models from step to generate the well production profile 500 for the target well. For instance, the predictive decline modeling system 620 can calculate an initial resource production rate for the target well using the static model 502, and a plurality of final resource production rates for a plurality of time intervals using the optimized decline model 504.

[0096] In step 714, the method 700 can include developing the target well based at least partly on the well production profile 500. For instance, the well production profile 500 can indicate that the target well is capable of producing a particular amount of resource (e.g., oil or gas) if the target well is developed and, in response, one or more well development actions can be taken for the target well, such as modifying a production process (e.g., increasing or decreasing an injection rate) and / or extraction of the hydrocarbons (e.g., the oil and / or the gas), etc. based on the predicted well production profile. In some instances, multiple well production profiles 500 can be generated to simulate different well development actions (e.g., by adjusting the dynamic well production data 518 to represent the well development actions) such that the resource production rate modeling system 102 can determine that particular well development action will result in an increased resource production for the target well. The particular well development action can be taken to develop the target well at least partly in response to the well production profile 500.

[0097] Referring to FIG. 8, a detailed description of an example computing system 800 having one or more computing units that can implement various systems and methods discussed herein is provided. The computing system 800 can be applicable to the resource production rate modeling system 102, the network environment 100, and other computing or network devices. It will be appreciated that specific implementations of these devices can be of differing possible specific computing architectures not all of which are specifically discussed herein but will be understood by those of ordinary skill in the art.

[0098] The computer system 800 can be a computing system is capable of executing a computer program product to execute a computer process. Data and program files can be input to the computer system 800, which reads the files and executes the programs therein. Some of the elements of the computer system 800 are shown in FIG. 8, including one or more hardware processors 802, one or more data storage devices 804, one or more memory devices 806, and / or one or more ports 808-910. Additionally, other elements that will be recognized by those skilled in the art can be included in the computing system 800 but are not explicitly depicted in FIG. 8 or discussed further herein. Various elements of the computer system 800 can communicate with one another by way of one or more communication buses, point-to-point communication paths, or other communication means not explicitly depicted in FIG. 8.

[0099] The processor 802 can include, for example, a central processing unit (CPU), a microprocessor, a microcontroller, a digital signal processor (DSP), and / or one or more internal levels of cache. There can be one or more processors 802, such that the processor 802 comprises a single central-processing unit, or a plurality of processing units capable of executing instructions and performing operations in parallel with each other, commonly referred to as a parallel processing environment.

[0100] The computer system 800 can be a conventional computer, a distributed computer, or any other type of computer, such as one or more external computers made available via a cloud computing architecture. The presently described technology is optionally implemented in software stored on the data stored device(s) 804, stored on the memory device(s) 806, and / or communicated via one or more of the ports 808-910, thereby transforming the computer system 800 in FIG. 8 to a special purpose machine for implementing the operations described herein. Examples of the computer system 800 include personal computers, terminals, workstations, mobile phones, tablets, laptops, personal computers, multimedia consoles, gaming consoles, set top boxes, and the like.

[0101] The one or more data storage devices 804 can include any non-volatile data storage device capable of storing data generated or employed within the computing system 800, such as computer executable instructions for performing a computer process, which can include instructions of both application programs and an operating system (OS) that manages the various components of the computing system 800. The data storage devices 804 can include, without limitation, magnetic disk drives, optical disk drives, solid state drives (SSDs), flash drives, and the like. The data storage devices 804 can include removable data storage media, non-removable data storage media, and / or external storage devices made available via a wired or wireless network architecture with such computer program products, including one or more database management products, web server products, application server products, and / or other additional software components. Examples of removable data storage media include Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Disc Read-Only Memory (DVD-ROM), magneto-optical disks, flash drives, and the like. Examples of non-removable data storage media include internal magnetic hard disks, SSDs, and the like. The one or more memory devices 806 can include volatile memory (e.g., dynamic random access memory (DRAM), static random access memory (SRAM), etc.) and / or non-volatile memory (e.g., read-only memory (ROM), flash memory, etc.).

[0102] Computer program products containing mechanisms to effectuate the systems and methods in accordance with the presently described technology can reside in the data storage devices 804 and / or the memory devices 806, which can be referred to as machine-readable media. It will be appreciated that machine-readable media can include any tangible non-transitory medium that is capable of storing or encoding instructions to perform any one or more of the operations of the present disclosure for execution by a machine or that is capable of storing or encoding data structures and / or modules utilized by or associated with such instructions. Machine-readable media can include a single medium or multiple media (e.g., a centralized or distributed database, and / or associated caches and servers) that store the one or more executable instructions or data structures. The machine-readable media can store instructions that, when executed by the processor, cause the systems to perform the operations disclosed herein.

[0103] In some implementations, the computer system 800 includes one or more ports, such as an input / output (I / O) port 808 and a communication port 810, for communicating with other computing, network, or reservoir development devices. It will be appreciated that the ports 808-910 can be combined or separate and that more or fewer ports can be included in the computer system 800.

[0104] The I / O port 808 can be connected to an I / O device, or other device, by which information is input to or output from the computing system 800. Such I / O devices can include, without limitation, one or more input devices, output devices, and / or environment transducer devices.

[0105] In one implementation, the input devices convert a human-generated signal, such as, human voice, physical movement, physical touch or pressure, and / or the like, into electrical signals as input data into the computing system 800 via the I / O port 808. Similarly, the output devices can convert electrical signals received from computing system 800 via the I / O port 808 into signals that can be sensed as output by a human, such as sound, light, and / or touch. The input device can be an alphanumeric input device, including alphanumeric and other keys for communicating information and / or command selections to the processor 802 via the I / O port 808. The input device can be another type of user input device including, but not limited to: direction and selection control devices, such as a mouse, a trackball, cursor direction keys, a joystick, and / or a wheel; one or more sensors, such as a camera, a microphone, a positional sensor, an orientation sensor, a gravitational sensor, an inertial sensor, and / or an accelerometer; and / or a touch-sensitive display screen (“touchscreen”). The output devices can include, without limitation, a display, a touchscreen, a speaker, a tactile and / or haptic output device, and / or the like. In some implementations, the input device and the output device can be the same device, for example, in the case of a touchscreen.

[0106] In one implementation, a communication port 810 is connected to a network by way of which the computer system 800 can receive network data useful in executing the methods and systems set out herein as well as transmitting information and network configuration changes determined thereby. Stated differently, the communication port 810 connects the computer system 800 to one or more communication interface devices configured to transmit and / or receive information between the computing system 800 and other devices by way of one or more wired or wireless communication networks or connections. Examples of such networks or connections include, without limitation, Universal Serial Bus (USB), Ethernet, Wi-Fi, Bluetooth®, Near Field Communication (NFC), Long-Term Evolution (LTE), and so on. One or more such communication interface devices can be utilized via the communication port 810 to communicate one or more other machines, either directly over a point-to-point communication path, over a wide area network (WAN) (e.g., the Internet), over a local area network (LAN), over a cellular (e.g., third generation (3G) or fourth generation (4G) or fifth generation (5G) network), or over another communication means. Further, the communication port 810 can communicate with an antenna or other link for electromagnetic signal transmission and / or reception.

[0107] In an example implementation, historical production data 506, dynamic well production data 518, and software and other modules and services can be embodied by instructions stored on the data storage devices 804 and / or the memory devices 806 and executed by the processor 802. The computer system 800 can be integrated with or otherwise form part of the air filtration system resource production rate modeling tool 600.

[0108] The system set forth in FIG. 8 is but one possible example of a computer system that can employ or be configured in accordance with aspects of the present disclosure. It will be appreciated that other non-transitory tangible computer-readable storage media storing computer-executable instructions for implementing the presently disclosed technology on a computing system can be utilized.

[0109] In the present disclosure, the methods disclosed can be implemented as sets of instructions or software readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods disclosed are instances of example approaches. The accompanying method claims present elements of the various steps in a sample order, and are not necessarily meant to be limited to the specific order or hierarchy presented.

[0110] The described disclosure can be provided as a computer program product, or software, that can include a non-transitory machine-readable medium having stored thereon instructions, which can be used to program a computer system (or other electronic devices) to perform a process according to the present disclosure. A machine-readable medium includes any mechanism for storing information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). The machine-readable medium can include, but is not limited to, magnetic storage medium, optical storage medium; magneto-optical storage medium, read only memory (ROM); random access memory (RAM); erasable programmable memory (e.g., EPROM and EEPROM); flash memory; or other types of medium suitable for storing electronic instructions.

[0111] While the present disclosure has been described with reference to various implementations, it will be understood that these implementations are illustrative and that the scope of the present disclosure is not limited to them. Many variations, modifications, additions, and improvements are possible. More generally, embodiments in accordance with the present disclosure have been described in the context of particular implementations. Functionality can be separated or combined in blocks differently in various embodiments of the disclosure or described with different terminology. These and other variations, modifications, additions, and improvements can fall within the scope of the disclosure as defined in the claims that follow.

Claims

1. A method for predictive decline modeling for reservoir development, the method comprising:receiving a first data set representing a target well;generating a static model of the target well based on the first data set;receiving a second data set representing one or more neighboring wells;generating a dynamic model of the target well based on the static model and based on a time-dependent depletion function, wherein the time-dependent depletion function depends on distances between the target well and the one or more neighboring wells, the second data set, and one or more predictions of cumulative production of the one or more neighboring wells; andgenerating, based on the dynamic model, one or more time series values of a production profile of the target well.

2. The method of claim 1, wherein the dynamic model of the target well is generated based on the time-dependent depletion function that combines or integrates the one or more predictions of cumulative production of the one or more neighboring wells.

3. The method of claim 2, wherein the one or more predictions of cumulative production of the one or more neighboring wells are combined or integrated using an influence function that is based, at least in part, on the distances between the target well and the one or more neighboring wells.

4. The method of claim 1, wherein generating the dynamic model of the target well comprises iteratively predicting cumulative production at respective time intervals for the target well and the one or more neighboring wells.

5. The method of claim 1, wherein the dynamic model of the target well is generated by:applying inputs comprising the time-dependent depletion function to a machine learning (ML) model to provide the dynamic model and output the one or more time series values of a production profile of the target well,wherein time series representing neighboring well production rates and includes training outputs comprising other time series representing target well production rates.

6. The method of claim 1, wherein the static model is generated with supervised machine learning using the first data set that includes historical production data as feature inputs and a target variable being an initial resource production rate.

7. The method of claim 1, wherein generating the production profile of the target well includes recursive calculations generating predicted production rates for the target well and the one or more neighboring wells for a series of time intervals.

8. The method of claim 1, wherein the first data set represents one or more of a geological feature, well completion parameters, reservoir properties, production data, injection data, and fluid data.

9. The method of claim 1, wherein the dynamic model of the target well is generated with a neural network using historical production data and dynamic well data as feature inputs and a target variable being resource production rate at time (t).

10. The method of claim 1, further comprising:using the one or more time series values of the production profile of the target well to generate asset intelligence corresponding to an asset life cycle stage; andrecommending, based on the asset intelligence, risk-mitigation strategy associated with reservoir depletion.

11. The method of claim 1, further comprising:repeating, for potential locations of the target well, the steps of generating the static model and generating the dynamic model of the target well at each of the potential locations; andcomparing the production profile of the target well at the potential locations.

12. One or more tangible non-transitory computer-readable storage media storing computer-executable instructions for performing a computer process on a computing system, the computer process comprising:receiving a first data set representing a target well;generating a static model of the target well based on the first data set;receiving a second data set representing one or more neighboring wells;generating a dynamic model of the target well based on the static model and based on a time-dependent depletion function, wherein the time-dependent depletion function is based on distances between the target well and the one or more neighboring wells, and the time-dependent depletion function based on the second data set and one or more predictions of cumulative production of the one or more neighboring wells; andgenerating, based on the dynamic model, one or more time series values of a production profile of the target well.

13. The one or more tangible non-transitory computer-readable storage media of claim 12, wherein the dynamic model of the target well is generated based on the time-dependent depletion function that combines or integrates the one or more predictions of cumulative production of the one or more neighboring wells.

14. The one or more tangible non-transitory computer-readable storage media of claim 12, wherein the one or more predictions of cumulative production of the one or more neighboring wells are combined or integrated using an influence function that is based, at least in part, on the distances between the target well and the one or more neighboring wells.

15. The one or more tangible non-transitory computer-readable storage media of claim 12, wherein generating the dynamic model of the target well comprises iteratively predicting cumulative production at respective time intervals for the target well and the one or more neighboring wells.

16. The one or more tangible non-transitory computer-readable storage media of claim 12, wherein the dynamic model of the target well is generated by:applying inputs comprising the time-dependent depletion function to a machine learning (ML) model to provide the dynamic model and output the one or more time series values of a production profile of the target well,wherein the ML model has been trained using training data that includes training inputs comprising time series representing neighboring well production rates and includes training outputs comprising other time series representing target well production rates.

17. The one or more tangible non-transitory computer-readable storage media of claim 12, wherein performing the computer process on a computing system in accordance with the one or more tangible non-transitory computer-readable storage media further comprises:using the one or more time series values of the production profile of the target well to generate asset intelligence corresponding to an asset life cycle stage; andrecommending, based on the asset intelligence, risk-mitigation strategy associated with reservoir depletion.

18. The one or more tangible non-transitory computer-readable storage media of claim 12, wherein performing the computer process on a computing system in accordance with the one or more tangible non-transitory computer-readable storage media further comprises:repeating, for potential locations of the target well, the steps of generating the static model and generating the dynamic model of the target well at each of the potential locations; andcomparing the production profile of the target well at the potential locations.

19. A system for predictive decline modeling for an oil well, the system comprising:a predictive decline modeling system configured to generate a predicted well production profile for a target well, the predicted well production profile generated by:receiving a first data set representing a target well;generating a static model of the target well based on the first data set;receiving a second data set representing one or more neighboring wells;generating a dynamic model of the target well based on the static model and based on a time-dependent depletion function, wherein the time-dependent depletion function is based on distances between the target well and the one or more neighboring wells, and the time-dependent depletion function based on the second data set and one or more predictions of cumulative production of the one or more neighboring wells; andgenerating, based on the dynamic model, one or more time series values of a production profile of the target well.

20. The system of claim 19, wherein the dynamic model of the target well is generated based on the time-dependent depletion function that combines or integrates the one or more predictions of cumulative production of the one or more neighboring wells.

Citation Information

Cited By

  • System and method for training reservoir engineers based on digital twin technology

    US20260004674A1