Patent application title:

SYSTEM AND METHOD FOR PREDICTING OIL PRODUCTION FROM GAS EQUIVALENT PRODUCTION STREAM USING MACHINE LEARNING

Publication number:

US20250243746A1

Publication date:
Application number:

19/034,718

Filed date:

2025-01-23

Smart Summary: A new system helps predict how much oil can be produced from certain wells. It collects production data from many wells across different areas. Then, it selects a group of wells that have enough data to analyze. A machine learning model is trained using this group to understand patterns in the data. Finally, the trained model is used to estimate oil production for a specific well that wasn't part of the training group. 🚀 TL;DR

Abstract:

A system and method for predicting oil production is disclosed herein. A computing system receives production data for a plurality of wells in a plurality of geographic regions. The computing system identifies a subset of wells from the plurality of wells. The subset of wells includes wells that have a threshold amount of production data. The computing system trains a machine learning model using the subset of wells. The computing system applies the trained learning model to a target well to predict oil production from the target well.

Inventors:

Assignee:

Applicant:

Interested in similar patents?

Get notified when new applications in this technology area are published.

Classification:

E21B47/003 »  CPC main

Survey of boreholes or wells Determining well or borehole volumes

E21B2200/22 »  CPC further

Special features related to earth drilling for obtaining oil, gas or water Fuzzy logic, artificial intelligence, neural networks or the like

Description

FIELD OF DISCLOSURE

The present disclosure generally relates to a method and system for predicting oil production from gas equivalent production stream using machine learning techniques.

BACKGROUND

The oil and gas industry is a cornerstone of the global economy, contributing to a substantial portion of the world's energy supply. As the demand for energy continues to rise, the industry is under increasing pressure to optimize production and reduce costs. One of the primary challenges in this sector is accurately predicting oil production from wells. This is a complex task due to the myriad of factors that can influence production rates, including geological characteristics, operational parameters, and market conditions.

Oil wells typically produce both oil and natural gas, and the relationship between these two production streams can provide valuable insights into the well's performance. However, leveraging this relationship to predict oil production is not straightforward. The production data is often incomplete or inaccurate, due to factors such as reporting errors or inconsistencies in data collection methods. This can lead to inaccurate predictions and suboptimal decision-making.

Machine learning, a branch of artificial intelligence that enables computers to learn from data and make predictions, has shown promise in addressing this challenge. Machine learning models can be trained on historical production data to predict future oil production. These models can handle large amounts of data and complex relationships, making them well-suited to the task. However, the effectiveness of these models depends on the quality and completeness of the training data.

As the oil and gas industry continues to evolve, the ability to accurately predict oil production from wells will become increasingly valuable. This will enable companies to make more informed decisions about their operations, leading to improved efficiency and profitability. The application of machine learning in this context represents a promising avenue for future research and development.

SUMMARY OF INVENTION

One or more techniques described herein relate to a system and method involve a computing system performing operations for predicting oil production from a gas equivalent production stream.

In some embodiments, a method for predicting oil production is disclosed herein. A computing system receives production data for a plurality of wells in a plurality of geographic regions. The computing system identifies a subset of wells from the plurality of wells. The subset of wells includes wells that have a threshold amount of production data. The computing system trains a machine learning model using the subset of wells. The computing system applies the trained learning model to a target well to predict oil production from the target well.

In some embodiments, a system is disclosed herein. The system includes a processor and a memory. The memory has programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations. The operations include receiving production data for a plurality of wells in a plurality of geographic regions. The operations further include identifying a subset of wells from the plurality of wells. The subset of wells includes wells that have a threshold amount of production data. The operations further include training a machine learning model using the subset of wells. The operations further include applying the trained machine learning model to a target well to predict oil production from the target well.

In some embodiments, a non-transitory computer readable medium is disclosed herein. The non-transitory computer readable medium includes instructions, which, when executed by a processor, cause a computing system to perform operations. The operations include receiving, by the computing system, production data for a plurality of wells in a plurality of geographic regions. The operations further include identifying, by the computing system, a subset of wells from the plurality of wells. The subset of wells includes wells that have a threshold amount of production data. The operations further include training, by the computing system, a machine learning model using the subset of wells. The operations further include applying, by the computing system, the trained machine learning model to a target well to predict oil production from the target well.

BRIEF DESCRIPTION OF FIGURES

The accompanying drawings, which are incorporated herein and form part of the specification, illustrate the present disclosure and, together with the description, further serve to explain the principles of the present disclosure and to enable a person skilled in the relevant art(s) to make and use embodiments described herein.

FIG. 1 is a block diagram illustrating an exemplary computing environment, according to example embodiments.

FIG. 2 is a block diagram illustrating a computing system, according to example embodiments.

FIG. 3 is a flow diagram illustrating a method of training a machine learning model to predict oil production of a well, according to example embodiments.

FIG. 4 is a flow diagram illustrating a method of predicting oil production from a target well, according to example embodiments.

FIG. 5A is a block diagram illustrating a computing device, according to example embodiments of the present disclosure.

FIG. 5B is a block diagram illustrating a computing device, according to example embodiments of the present disclosure.

The features of the present disclosure will become more apparent from the detailed description set forth below when taken in conjunction with the drawings, in which like reference characters identify corresponding elements throughout. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. Additionally, generally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears. Unless otherwise indicated, the drawings provided throughout the disclosure should not be interpreted as to-scale drawings.

DETAILED DESCRIPTION

Current state-of-the-art methods for predicting oil production from wells typically rely on various statistical and numerical modeling techniques that incorporate geological, historical, and real-time production data. These methods often involve deterministic models that require extensive domain knowledge and manual calibration, which can be time-consuming and may not capture the complex nonlinear relationships inherent in production data. Additionally, traditional models may struggle with handling incomplete or noisy data, which is common in the oil and gas industry due to the nature of data collection and reporting processes.

The present innovation represents a substantial improvement over these traditional methods by employing advanced machine learning techniques to predict oil production. Machine learning models, such as random forests, neural networks, XGBoost, and gradient boosting machines, are capable of automatically learning from data, identifying intricate patterns, and adapting to new data without explicit programming. This allows for more accurate predictions that can handle the variability and uncertainty of production data more effectively. Furthermore, the use of a subset of wells ensures that the model is trained on high-quality data, enhancing the reliability of the predictions. The system's ability to identify this subset through either expert selection or automated scripts provides flexibility and scalability, addressing the challenges of data quality and volume that are prevalent in the industry.

The disclosed system and method thus offer a novel approach to predicting oil production that is more efficient, scalable, and adaptable to the complex and dynamic nature of oil well data, leading to better-informed decision-making and potentially higher profitability in the oil and gas sector.

FIG. 1 is a block diagram illustrating a computing environment 100, according to example embodiments. Computing environment 100 includes a user device 102, a third party system 106, and a server system 104 communicating via a network 105.

Network 105 may be representative of any suitable type, including individual connections via the Internet, such as cellular or Wi-Fi networks. In some embodiments, network 105 may connect terminals, services, and mobile devices using direct connections, such as radio frequency identification (RFID), near-field communication (NFC), Bluetooth™, low-energy Bluetooth™ (BLE), Wi-Fi™, ZigBee™, ambient backscatter communication (ABC) protocols, USB, WAN, or LAN. Because the information transmitted may be personal or confidential, security concerns may dictate one or more of these types of connection be encrypted or otherwise secured. In some embodiments, however, the information being transmitted may be less personal, and therefore, the network connections may be selected for convenience over security.

Network 105 may include any type of computer networking arrangement used to exchange data. For example, network 105 may be representative of the Internet, a private data network, virtual private network using a public network and/or other suitable connection(s) that enables components in computing environment 100 to send and receive information between the components of computing environment 100.

User device 102 may be any type of computing device capable of receiving and sending data, such as a desktop computer, a laptop, a tablet, or a smartphone. User device 102 may include application 110. Application 110 may allow a user to interact with the server system 104. In some embodiments, application 110 may be a web-based application, a mobile application, or any other type of software application that enables a user to input data, view data, and perform various operations related to the prediction of oil production from wells.

Server system 104 may include a web client application server 114 and a well analysis system 116. Web client application server 114 may be configured to communicate with application 110 running on user device 102. Well analysis system 116 may be comprised of one or more software modules. The one or more software modules may be collections of code or instructions stored on a media (e.g., memory of server system 104) that represent a series of machine instructions (e.g., program code) that implements one or more algorithmic steps. Such machine instructions may be the actual computer code the processor of server system 104 interprets to implement the instructions or, alternatively, may be a higher level of coding of the instructions that is interpreted to obtain the actual computer code. The one or more software modules may also include one or more hardware components. One or more aspects of an example algorithm may be performed by the hardware components (e.g., circuitry) itself, rather as a result of the instructions.

As shown, well analysis system 116 may include a data set generator 118, a training environment 120, and an oil production predictor 122. Data set generator 118 may be configured to identify or generate a subset of wells from production data for a plurality of wells. In some embodiments, the plurality of wells may be located in a plurality of plays. In some embodiments, the plurality of plays may be located in a plurality of geographic regions. Generally, the production data may include information related to the production of oil and/or gas from the plurality of wells. In some embodiments, the production data may include the number of days the plurality of wells produced oil and/or gas. In some embodiments, the production data may include an amount of oil and/or gas produced. In some embodiments the production data may include the Estimated Ultimate Recovery (EUR) of the for the plurality of wells. In some embodiments, the production data may indicate a start day of oil and/or gas production. In some embodiments, the production data may indicate an amount of cumulative days each well produced oil and/or gas. In some embodiments, the production data may include attributes or parameters associated with each well. More generally, the production data may include, for example, historical production data, geological data, operational data, and/or other types of data that may be relevant for predicting oil production. In some embodiments, exemplary attributes or parameters may include information, such as, but not limited to, longitudinal and latitudinal coordinates, depth, lateral length, total fluid, proppant loading, spacing statistics (average, minimun and maximun distances, angles to near neigbor wells), geology features (isopath, gamma ray, bulk density, resistiviy, effective porosity, water saturation) and the like.

As those skilled in the art understand, production data, or at least the reporting of production data, is highly dependent on the operator being trusted to consistently and accurately produce such data. As such, often, production data for a given well or set of wells may be incomplete. To account for this, data set generator 118 may be configured to identify a subset of wells, which may be referred to as a set of “golden wells.” Each well in the subset of wells (e.g., a golden well) may be broadly defined as a well for which there is a threshold amount of production data. For example, a threshold amount of production data may include a well for which the estimated ultimate recovery (EUR) is known. EUR may broadly refer to the amount of oil or gas that is expected to be extracted from a well over its entire production cycle. Such metric is useful in determining the viability and economic potential of a well or reservoir.

In some embodiments, the subset of wells may be identified using well level features, such as, but not limited to, geographical location (e.g., British Columbia) and/or well type (e.g., oil wells). In some embodiments, the subset of wells may be identified based on the amount of production from the wells, but not necessarily the EUR of the wells.

In some embodiments, data set generator 118 may identify the subset of wells by executing an automated script configured to identify those wells that have a threshold amount of production data. For example, the automated script may be configured to parse the production data to identify a subset of wells that include the threshold level of production information. In some embodiments, data set generator 118 may identify the subset of wells that have the threshold amount of production data based on operator or developer knowledge.

In some embodiments, the automated script may be configured to identify wells based on their reported production. For example, the automated script may identify the subsect of wells that have reliable data, e.g., those wells whose liquid profile is judged to be smooth across the reported months. Using a more specific non-limiting example, the automated script may identify wells from the subset of Alberta gas producers that may have a specific ratio of cumulative oil to gas reported production, proportion of non-zero liquids (e.g., oil) producting months, and/or coefficient of variation from an ordinary lease squares regression between log instantaneous yield

( e . g . , mean ⁢ liquids gas × 1000 ⁢ per ⁢ well )

and cumulative gas production.

In some embodiments, data set generator 118 may further be configured to complete or fill-in missing data for the plurality of wells. In some embodiments, data set generator 118 may employ a clustering approach, for each well, to identify neighboring wells that include attributes or data that is missing from a target well. For example, data set generator 118 may employ a k-nearest neighbor approach for each target well to identify those wells that are nearest to the target well and use the information from the closest wells to the target well for supplementing or filling in missing data or attributes. To employ the k-nearest neighbor approach, in some embodiments, data set generator 118 may impute missing values for every well (both golden wells and non-golden wells) based on one or more features that are used by oil production predictor 222 to predict liquids volume except those used to identify neighboring wells (e.g., latitude, longitude, interval).

In some embodiments, rather than employ a k-nearest neighbor approach, other clustering algorithms may be used. For example, data set generator 118 may employ one or more of hierarchical clusterin, DBSCAN, Gaussian mixture models, or other suitable clustering algorithms to group wells with each target well.

Training environment 120 may be configured to generate a training environment for training a machine learning model to predict oil production from wells. For example, as discussed in further detail below in conjunction with FIG. 2, training environment 120 may include a computing system training a machine learning model to predict oil production from wells based on the subset of wells identified by data set generator 118.

Oil production predictor 122 may be representative of machine learning model once it has been trained and achieves a threshold level of confidence. In other words, oil production predictor 122 may be representative of a deployable version of the machine learning model once trained. Oil production predictor 122 may be configured to analyze production data and/or characteristics of a target well and predict, based on the production data and/or characteristics of the target well, oil production of the target well. In some embodiments, the prediction may take the form of a predicted EUR of the target well. In some embodiments, oil production predictor 122 may use the disclosed imputation process to impute missing values on target wells for which oil production predictor 122 model predicts oil production.

Third party system 106 may be representative of any system that provides production data for a plurality of wells in a plurality of geographic regions. Third party system 106 may be an external database, a data collection system, a sensor network, or any other type of system capable of providing the production data.

The training environment 120 is used to train a machine learning model 214 using the subset of wells 210. Once trained, the machine learning model 214 is applied by the oil production predictor 122 to the production data to predict oil production from the wells. The oil production predictor 122 may use various machine learning algorithms and techniques to make the predictions, as will be described in more detail below.

FIG. 2 is a block diagram illustrating computing system 200, according to example embodiments. As shown, FIG. 2 may represent a training environment in which oil production predictor 122 may be trained to predict oil production for a target well. Computing system 200 may include a repository 202 and one or more computer processors 204.

Repository 202 may be representative of any type of storage unit and/or device (e.g., a file system, database, collection of tables, or any other storage mechanism) for storing data. Further, repository 202 may include multiple different storage units and/or devices. The multiple different storage units and/or devices may or may not be of the same type or located at the same physical site. As shown, repository 202 includes at a training environment least training environment 206. Training environment 206 may represent a computing environment in which oil production predictor 122 may be trained to predict oil production for a target well.

Training environment 206 may include intake module 208, data set generator 118, and training module 212. Each of intake module 208, data set generator 118, and training module 212 may include one or more software modules. The one or more software modules can be collections of code or instructions stored on a media (e.g., memory of computing system 200) that represent a series of machine instructions (e.g., program code) that implements one or more algorithmic steps. Such machine instructions may be the actual computer code the processor of computing system 200 interprets to implement the instructions or, alternatively, may be a higher level of coding of the instructions that are interpreted to obtain the actual computer code. The one or more software modules may also include one or more hardware components. One or more aspects of an example algorithm may be performed by the hardware components (e.g., circuitry) itself, rather than as a result of the instructions.

Intake module 208 may be configured to receive production data for training. The production data may be representative of production data for a plurality of wells in a plurality of plays from a plurality of geographical areas. In some embodiments, the production data may be representative of production data for a plurality of wells in a plurality of plays in the same geographical area. In some embodiments, the production data may be representative of production data for a plurality of wells in the same play. Generally, the production data may include, for example, historical production data, geological data, operational data, and/or other types of data that may be relevant for prediction oil production. Intake module 208 may provide the production data to data set generator 118 for generating a training data set.

Data set generator 118 may generate a training data set by identifying a subset of wells in the production data for which there is a threshold amount of production data. For example, a threshold amount of production data may include a well for which the EUR is known. In some embodiments, data set generator 118 may identify the subset of wells by executing an automated script configured to identify those wells that have a threshold amount of production data. For example, the automated script may be configured to parse the production data to identify a subset of wells that include the threshold level of production information. In some embodiments, data set generator 118 may identify the subset of wells based on operator or developer knowledge.

In some embodiments, data set generator 118 may supplement the subset of wells by imputing or filling in any missing information. In some embodiments, data set generator 118 may employ a clustering approach, for each well, to identify neighboring wells that include attributes or data that is missing from a target well. For example, data set generator 118 may employ a k-nearest neighbor approach for each target well to identify those wells that are nearest to the target well and use the information from the closest wells to the target well for supplementing or filling in missing data or attributes. As output, data set generator 118 may generate subset of wells 210.

Training module 212 may be configured to train one or more machine learning models 214 based on subset of wells 210. For example, training module 212 may train one or more machine learning models 214 to generate predicted oil output or EUR based on subset of wells 210. In some embodiments, training module 212 may train a single machine learning model 214. In some embodiments, training module 212 may train multiple machine learning models 214, with each machine learning model 214 being of a different type. In such embodiments, the machine learning model type that yields the greatest accuracy without overfitting to the data may be utilized.

In some embodiments, machine learning models 214 may be representative of one or more machine learning model types, such as, but not limited to, random forest models, neural networks, XGBoost, and gradient boosting machines. More generally, machine learning models 214 may be representative of any machine learning model type capable of automatically learning from data, identifying intricate patterns, and adapting to new data without explicit programming.

Once machine learning model 214 achieves a threshold level of accuracy, it may be deployed as oil production predictor 122. For example, once the machine learning model 214 is trained, oil production predictor 122 may be applied to production data to predict oil production from a target well. Oil production predictor 122 may be designed to handle a wide range of prediction tasks and can adapt to the specific characteristics of the data. In some embodiments, oil production predictor 122 may be applied to groups of wells simultaneously or use a sliding window approach to make predictions for a series of time points, providing a dynamic view of the predicted oil production from the wells.

FIG. 3 is a flow diagram illustrating a method 300 of training a machine learning model to predict oil production from a target well, according to example embodiments. Method 300 may begin at step 302.

At step 302, server system 104 may receive production data for a plurality of wells. The production data may be representative of production data for a plurality of wells in a plurality of plays from a plurality of geographical areas. In some embodiments, the production data may be representative of production data for a plurality of wells in a plurality of plays in the same geographical area. In some embodiments, the production data may be representative of production data for a plurality of wells in the same play. Generally, the production data may include, for example, historical production data, geological data, operational data, and/or other types of data that may be relevant for prediction oil production. Intake module 208 may provide the production data to data set generator 118 for generating a training data set.

At step 304, server system 104 may identify a subset of wells that include a threshold amount of production data. For example, a threshold amount of production data may include a well for which the EUR is known. In some embodiments, data set generator 118 may identify the subset of wells by executing an automated script configured to identify those wells that have a threshold amount of production data. For example, the automated script may be configured to parse the production data to identify a subset of wells that include the threshold level of production information. In some embodiments, data set generator 118 may identify a subset of wells that have the threshold amount of production information based on operator or developer knowledge.

At step 306, server system 104 may generate a training data set using the subset of wells. For example, data set generator 118 may supplement the subset of wells by imputing or filling in missing information. In some embodiments, data set generator 118 may employ a clustering approach, for each well, to identify neighboring wells that include attributes or data that is missing from a target well. For example, data set generator 118 may employ a k-nearest neighbor approach for each target well to identify those wells that are nearest to the target well and use the information from the closest wells to the target well for supplementing or filling in missing data or attributes.

At step 308, server system 104 may train one or more machine learning models using the training data set. For example, server system 104 may train one or more machine learning models to generate predicted oil output or EUR based on the training data set. In some embodiments, server system 104 may train a single machine learning model. In some embodiments, server system 104 may train multiple machine learning models, with each machine learning model being of a different type. In such embodiments, the machine learning model type that yields the greatest accuracy without overfitting to the data may be utilized.

At step 310, server system 104 may output a fully trained model (e.g., oil production predictor 122). Oil production predictor 122 may be designed to handle a wide range of prediction tasks and can adapt to the specific characteristics of the data.

FIG. 4 is a flow diagram illustrating a method 400 of generating an oil production prediction for a target well, according to example embodiments. Method 400 may begin at step 402.

At step 402, server system 104 may receive one or more parameters associated with a target well. In some embodiments, server system 104 may receive one or more parameters from user device 102 via application 110. For example, a user operating user device 102 may provide the one or more parameters associated with the target well through an interface associated with application 110. In some embodiments, server system 104 may receive one or more parameters from third party system 106. For example, as discussed above, server system 104 may receive production data for a plurality of wells. In some embodiments, those wells that are not grouped in the subset of wells may be analyzed. Accordingly, server system 104 may identify one or more parameters associated with a target well from the production data received from third party system 106.

At step 404, server system 104 may apply oil production predictor 122 to the one or more parameters. In some embodiments, applying oil production predictor 122 to the one or more parameters may include passing the one or more parameters as input to oil production predictor 122. In some embodiments, exemplary parameters may include information, such as, but not limited to, longitudinal and latitudinal coordinates, depth, width, and the like.

At step 406, server system 104 may predict or estimate oil production for the target well based on the one or more parameters. For example, based on the input of the one or more parameters, oil production predictor 122 may predict or estimate the oil production for the target well. In some embodiments, the oil production prediction may take the form of an estimated or predicted EUR for the target well.

At step 408, server system 104 may output the predicted or estimated oil production. For example, server system 104 may generate one or more visualizations that include or provide the predicted or estimated oil production to an end user. In some embodiments, the one or more visualizations may be provided via one or more graphical user interfaces. For example, server system 104 may be configured to generate a portal that includes information for a geographical region or a play within the geographical region. Via the portal, a user may be able to interface with various wells that are located within the geographical region or portal. For example, a user may select a given well and view the estimated or predicted oil production data for that well, as determined by oil production predictor 122. In some embodiments, a user may adjust one or more attributes associated with a selected well, thus resulting in a change or update to the predicted oil production prediction. In this manner, an operator or end user may be able to engage in various counter-factual scenarios for a given well, play, or region.

FIG. 5A illustrates a system bus architecture of computing system 500, according to example embodiments. System 500 may be representative of at least user device 102, server system 104, or computing system 200. One or more components of system 500 may be in electrical communication with each other using a bus 505. System 500 may include a processing unit (CPU or processor) 510 and a system bus 505 that couples various system components including the system memory 515, such as read only memory (ROM) 520 and random-access memory (RAM) 525, to processor 510.

System 500 may include a cache of high-speed memory connected directly with, in close proximity to, or integrated as part of processor 510. System 500 may copy data from memory 515 and/or storage device 530 to cache 512 for quick access by processor 510. In this way, cache 512 may provide a performance boost that avoids processor 510 delays while waiting for data. These and other modules may control or be configured to control processor 510 to perform various actions. Other system memory 515 may be available for use as well. Memory 515 may include multiple different types of memory with different performance characteristics. Processor 510 may include any general-purpose processor and a hardware module or software module, such as service 1 532, service 2 534, and service 3 536 stored in storage device 530, configured to control processor 510 as well as a special-purpose processor where software instructions are incorporated into the actual processor design. Processor 510 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric.

To enable user interaction with the computing system 500, an input device 545 may represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. An output device 535 may also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems may enable a user to provide multiple types of input to communicate with computing system 500. Communications interface 540 may generally govern and manage the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.

Storage device 530 may be a non-volatile memory and may be a hard disk or other types of computer readable media which may store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs) 525, read only memory (ROM) 520, and hybrids thereof.

Storage device 530 may include services 532, 534, and 536 for controlling the processor 510. Other hardware or software modules are contemplated. Storage device 530 may be connected to system bus 505. In one aspect, a hardware module that performs a particular function may include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as processor 510, bus 505, output device 535 (e.g., display), and so forth, to carry out the function.

FIG. 5B illustrates a computer system 550 having a chipset architecture that may represent user device 52. Computer system 550 may be an example of computer hardware, software, and firmware that may be used to implement the disclosed technology. System 550 may include a processor 555, representative of any number of physically and/or logically distinct resources capable of executing software, firmware, and hardware configured to perform identified computations. Processor 555 may communicate with a chipset 560 that may control input to and output from processor 555.

In this example, chipset 560 outputs information to output 565, such as a display, and may read and write information to storage device 570, which may include magnetic media, and solid-state media, for example. Chipset 560 may also read data from and write data to storage device 575 (e.g., RAM). A bridge 580 for interfacing with a variety of user interface components 585 may be provided for interfacing with chipset 560. Such user interface components 585 may include a keyboard, a microphone, touch detection and processing circuitry, a pointing device, such as a mouse, and so on. In general, inputs to system 550 may come from any of a variety of sources, machine generated and/or human generated.

Chipset 560 may also interface with one or more communication interfaces 590 that may have different physical interfaces. Such communication interfaces may include interfaces for wired and wireless local area networks, for broadband wireless networks, as well as personal area networks. Some applications of the methods for generating, displaying, and using the GUI disclosed herein may include receiving ordered datasets over the physical interface or be generated by the machine itself by processor 555 analyzing data stored in storage device 570 or storage device 575. Further, the machine may receive inputs from a user through user interface components 585 and execute appropriate functions, such as browsing functions by interpreting these inputs using processor 555.

It may be appreciated that example systems 500 and 550 may have more than one processor 510 or be part of a group or cluster of computing devices networked together to provide greater processing capability.

While the foregoing is directed to embodiments described herein, other and further embodiments may be devised without departing from the basic scope thereof. For example, aspects of the present disclosure may be implemented in hardware or software or a combination of hardware and software. One embodiment described herein may be implemented as a program product for use with a computer system. The program(s) of the program product define functions of the embodiments (including the methods described herein) and may be contained on a variety of computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory (ROM) devices within a computer, such as CD-ROM disks readably by a CD-ROM drive, flash memory, ROM chips, or any type of solid-state non-volatile memory) on which information is permanently stored; and (ii) writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive or any type of solid state random-access memory) on which alterable information is stored. Such computer-readable storage media, when carrying computer-readable instructions that direct the functions of the disclosed embodiments, are embodiments of the present disclosure.

It will be appreciated to those skilled in the art that the preceding examples are exemplary and not limiting. It is intended that all permutations, enhancements, equivalents, and improvements thereto are apparent to those skilled in the art upon a reading of the specification and a study of the drawings are included within the true spirit and scope of the present disclosure. It is therefore intended that the following appended claims include all such modifications, permutations, and equivalents as fall within the true spirit and scope of these teachings.

Claims

1. A method for predicting oil production, the method comprising:

receiving, by a computing system, production data for a plurality of wells in a plurality of geographic regions;

identifying, by the computing system, a subset of wells from the plurality of wells, wherein the subset of wells comprises wells that have a threshold amount of production data;

training, by the computing system, a machine learning model using the subset of wells; and

applying, by the computing system, the trained machine learning model to a target well to predict oil production from the target well.

2. The method of claim 1, wherein training, by the computing system, the machine learning model using the subset of wells comprises:

training a plurality of machine learning models using the subset of wells, wherein each of the plurality of machine learning models has a different underlying machine learning algorithm.

3. The method of claim 2, further comprising:

selecting, from the plurality of machine learning models, the trained machine learning model based on the trained machine learning model achieving a highest level of accuracy.

4. The method of claim 1, wherein identifying the subset of wells comprises: parsing, via an automated script, the production data to identify a subset of wells that have the threshold amount of production data.

5. The method of claim 1, wherein identifying the subset of wells comprises:

parsing, via an automated script, the production data to identify a subset of wells for which an estimated ultimate recovery is known.

6. The method of claim 1, further comprising:

generating, by the computing system, a training data set for training the machine learning model, the training data set comprising the subset of wells.

7. The method of claim 5, wherein generating, by the computing system, the training data set comprises:

clustering the plurality of wells using a clustering algorithm based on distance; and

imputing missing values in the production data of the subset of wells based on wells co-located with the wells in the subset of wells.

8. A system for predicting oil production, the system comprising:

a processor; and

a memory having programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations comprising:

receiving production data for a plurality of wells in a plurality of geographic regions;

identifying a subset of wells from the plurality of wells, wherein the subset of wells comprises wells that have a threshold amount of production data;

training a machine learning model using the subset of wells; and

applying the trained machine learning model to a target well to predict oil production from the target well.

9. The system of claim 8, wherein training the machine learning model using the subset of wells comprises:

training a plurality of machine learning models using the subset of wells, wherein each of the plurality of machine learning models has a different underlying machine learning algorithm.

10. The system of claim 9, further comprising:

selecting, from the plurality of machine learning models, the trained machine learning model based on the trained machine learning model achieving a highest level of accuracy.

11. The system of claim 8, wherein identifying the subset of wells comprises: parsing, via an automated script, the production data to identify a subset of wells that have the threshold amount of production data.

12. The system of claim 8, wherein identifying the subset of wells comprises:

parsing, via an automated script, the production data to identify a subset of wells for which an estimated ultimate recovery is known.

13. The system of claim 8, further comprising:

generating a training data set for training the machine learning model, the training data set comprising the subset of wells.

14. The system of claim 13, wherein generating the training data set comprises:

clustering the plurality of wells using a clustering algorithm based on distance; and

imputing missing values in the production data of the subset of wells based on wells co-located with the wells in the subset of wells.

15. A non-transitory computer readable medium comprising instructions, which, when executed by a processor, cause a computing system to perform operations comprising:

receiving, by the computing system, production data for a plurality of wells in a plurality of geographic regions;

identifying, by the computing system, a subset of wells from the plurality of wells, wherein the subset of wells comprises wells that have a threshold amount of production data;

training, by the computing system, a machine learning model using the subset of wells; and

applying, by the computing system, the trained machine learning model to a target well to predict oil production from the target well.

16. The non-transitory computer readable medium of claim 15, wherein training, by the computing system, the machine learning model using the subset of wells comprises:

training a plurality of machine learning models using the subset of wells, wherein each of the plurality of machine learning models has a different underlying machine learning algorithm; and

selecting, from the plurality of machine learning models, the trained machine learning model based on the trained machine learning model achieving a highest level of accuracy.

17. The non-transitory computer readable medium of claim 15, wherein identifying the subset of wells comprises: parsing, via an automated script, the production data to identify a subset of wells that have the threshold amount of production data.

18. The non-transitory computer readable medium of claim 15, wherein identifying the subset of wells comprises:

parsing, via an automated script, the production data to identify a subset of wells for which an estimated ultimate recovery is known.

19. The non-transitory computer readable medium of claim 15, further comprising:

generating, by the computing system, a training data set for training the machine learning model, the training data set comprising the subset of wells.

20. The non-transitory computer readable medium of claim 19, wherein generating, by the computing system, the training data set comprises:

clustering the plurality of wells using a clustering algorithm based on distance; and

imputing missing values in the production data of the subset of wells based on wells co-located with the wells in the subset of wells.

Resources

Images & Drawings included:

Sources:

Recent applications in this class:

Recent applications for this Assignee: