MACHINE LEARNING WORKFLOW FOR PREDICTING HYDRAULIC FRACTURE INITIATION

Systems and methods include a computer-implemented method for predicting hydraulic fracture initiation. A fracking operations dataset is prepared using historical field information for fracking wells. A set of hyper-parameters is tuned for use in a machine learning algorithm configured to predict fracture initiation for new fracturing wells. The dataset is divided into training and test datasets. A regression algorithm is applied to train the training dataset and to validate with the test dataset. A target variable of a breakdown pressure for a new hydraulic fracturing treatment is determined. A prediction dataset is updated using at least the target variable. The training dataset is trained using a classifier of the machine learning algorithm. A prediction is made using the prediction dataset whether the new hydraulic fracturing treatment can be initiated or not. The breakdown pressure is incrementally adjusted, and the method is repeated until successful hydraulic fracture initiation is predicted.

TECHNICAL FIELD

The present disclosure applies to predicting breakdown pressures and fracture initiation in fracking wells.

BACKGROUND

In conventional oil fracking practices, analytical solutions have been developed for calculating breakdown pressure (for example, based on elasticity) that have generally been applicable to vertical open holes for drilling. Improvements in industry solutions have included developing a computational framework for calculating the breakdown pressure for hydraulic fracturing treatment. The framework can be applicable to deviated, cased-hole and clustered perforation hydraulic fracturing treatments. However, these analytical solutions still cannot fully capture the effect of three-dimensional (3D) complex configurations of perforated wellbores and rock damage behaviors. Further, models used in conventional solutions require the definition (for example, user entry) of several parameters along the borehole, such as parameters classified as mechanical properties, geometric parameters, and in-situ stresses and orientation. The determination of breakdown pressure can be challenging and can involve uncertainties. In practice, it can be difficult to accurately account for certain factors for calculating breakdown pressure.

SUMMARY

The present disclosure describes techniques that can be used for predicting hydraulic fracture breakdown pressure and fracture initiation. In some implementations, a computer-implemented method includes the following. A fracking operations dataset is prepared based on historical information for a group of fracking wells from fields. The fracking operations dataset is divided into a training dataset and a test dataset, where the training dataset is configured to train a fracture initiation prediction model. The training dataset should be a random selection of a high percentage of the original data like 80% or more, and the testing set should be the remaining 20% or less of the original data. A regression algorithm is applied to train the training dataset firstly, which will create the prediction model. And then to test the model with the testing dataset, which can show the accuracy of the prediction model. A set of hyper-parameters is tuned for use in a machine learning algorithm configured to predict fracture initiation for new fracturing wells. A target variable of a breakdown pressure for a new hydraulic fracturing treatment is determined using the fracture initiation prediction model and the training dataset. The training dataset is updated based on at least the target variable of breakdown pressure. Then the training dataset is trained using a classifier of the machine learning algorithm. A prediction is made using the updated training dataset whether the new hydraulic fracturing treatment can be initiated. The breakdown pressure is incrementally adjusted, and the updating, training, and predicting are repeated until successful hydraulic fracture initiation is predicted.

The previously described implementation is implementable using a computer-implemented method; a non-transitory, computer-readable medium storing computer-readable instructions to perform the computer-implemented method; and a computer-implemented system including a computer memory interoperably coupled with a hardware processor configured to perform the computer-implemented method, the instructions stored on the non-transitory, computer-readable medium.

The subject matter described in this specification can be implemented in particular implementations, so as to realize one or more of the following advantages. The present disclosure describes machine learning (ML) techniques for predicting breakdown pressure and fracture initiation, which is very critical to resolve breakdown issues for fracturing deep and tight gas reservoirs. The present disclosure presents an approach to predict hydraulic fracturing breakdown issue which is an improvement over conventional techniques, and which allows inclusion of more factors than those of analytical solutions. Techniques of the present disclosure can account for more factors or parameters related to hydraulic fracturing treatment than techniques used in conventional analytical solutions. The techniques can be used to reasonably predict the results even with few parameters partially missed.

The details of one or more implementations of the subject matter of this specification are set forth in the Detailed Description, the accompanying drawings, and the claims. Other features, aspects, and advantages of the subject matter will become apparent from the Detailed Description, the claims, and the accompanying drawings.

DETAILED DESCRIPTION

The following detailed description describes techniques for predicting hydraulic fracture initiation. The techniques can be used to estimate breakdown pressure and hydraulic fracture initiation for hydraulic fracturing treatment, especially for fracturing deep and tight gas/oil reservoirs. The techniques can be extended to predict more variables related to hydraulic fracturing treatment. Various modifications, alterations, and permutations of the disclosed implementations can be made and will be readily apparent to those of ordinary skill in the art, and the general principles defined may be applied to other implementations and applications, without departing from scope of the disclosure. In some instances, details unnecessary to obtain an understanding of the described subject matter may be omitted so as to not obscure one or more described implementations with unnecessary detail and inasmuch as such details are within the skill of one of ordinary skill in the art. The present disclosure is not intended to be limited to the described or illustrated implementations, but to be accorded the widest scope consistent with the described principles and features.

Estimating breakdown pressure is essential for a successful hydraulic fracturing treatment, especially for fracturing deep and tight reservoirs. For hydraulic fracturing treatment, the best practices of hydraulic fracturing design can include estimating the breakdown pressure as accurately as possible, in order to select the right casing, treatment tubing, and wellhead based on the estimates. Unfortunately, typical conventional hydraulic fracturing simulators cannot accurately predict the breakdown pressure, for example, due to model simplifications. New computational frameworks may be developed for calculating breakdown pressure applicable to deviated, cased hole, and clustered perforation hydraulic fracturing treatment (seeFIG.2). Models used with reference toFIG.2represent a first time that a breakdown pressure mechanics model accounts for the casing-cement-formation interaction effects that can be used in the calculation of breakdown pressure. The calculation of breakdown pressure requires several parameters along the borehole, which can be classified as mechanical properties, geometric parameters, and in-situ stresses and orientation. Realistic inputs of these parameters involve significant uncertainties due to spatial variability and uncertainties, logging measurements, and data processing. Analytical solutions cannot account for the effects of three-dimensional (3D) complex configurations of perforated wellbore and rock damage behavior. The current disclosure offers a new approach to predict breakdown pressure using machine learning (ML), which is a subset of artificial intelligence (AI) and uses computer algorithms to analyze hydraulic fracturing data from field and make intelligent decisions based on what is learned. Instead of following rule-based algorithms, machine learning builds models to regress, classify, and make predictions from the data collected from fields. There is no need to worry the mechanics of whether or not model defects exist. For the breakdown or fracture initiation issue, the parameters that are likely related to the breakdown pressure calculation are known. Machine learning can make it possible to represent different factors related to hydraulic fracturing breakdown pressure. Some parameters not appearing in an analytical model, for example, can be included in machine learning. A top priority of machine learning is to collect enough hydraulic fracturing data, corresponding breakdown pressure that is used, and success or failure information (for example, as a success/failure flag). With machine learning, and given the dataset of hydraulic fracturing data, a model can be created. Further, using data inputs, the model can learn and predict the breakdown pressure for new hydraulic fracturing design.

To better include all the parameters likely related to breakdown pressure and fracture initiation issue, ML can be used. As a subset of AI, ML is an area of computational science that focuses on analyzing and interpreting patterns and structures in data to enable learning, reasoning, and decision-making outside of human interaction. Machine learning allows the user to feed a computer algorithm an immense amount of data, from which the computer analyzes the data and makes data-driven recommendations and decisions based on only the input data. If any corrections are identified, the algorithm can incorporate that information to improve its future decision-making.

In some implementations, a workflow for predicting hydraulic fracture initiation can include the following. Potential factors are identified that impact hydraulic fracturing breakdown pressure and hydraulic fracture initiation. A workflow is established to conduct machine learning to predict the breakdown pressure required for a hydraulic fracture initiation. A machine learning workflow is established to classify the fractability issue for deep and tight gas reservoirs.

FIG.1is a diagram of an example system100for hydraulic fracturing treatment using a plug-and-perf method, according to some implementations of the present disclosure. The method can be used in a wellbore102drilled to a selected true vertical depth104, for example, measured from the Kelly bushing point at the drilling rig. Fractures106and packers108are located downstring in the wellbore102.

Accurate prediction of breakdown pressure, such as in the wellbore102, is a first step in designing a successful hydraulic fracturing treatment. For deep and tight gas reservoirs, hydraulic fracturing treatments may fail at the beginning due to the breakdown issue. Conventional solutions do not capture all the related factors used in calculating the breakdown pressure for deviated, cased hole, and clustered perforation hydraulic fracturing treatments.

In conventional solutions, machine learning has been used to predict closure pressure, production rate, and wellhead pressure, which are somewhat related to hydraulic fracturing treatment. However, none of these parameters is directly related to predicting breakdown pressure for hydraulic fracturing treatment.

The present disclosure describes a new approach for predicting breakdown pressure related to hydraulic fracturing treatment using ML, and making intelligent decisions based on what has been learned from field data on hydraulic fracturing treatment. This allows the representation of even more factors than mechanical properties, geometries, and perforation friction available used in the analytical models. Instead of following mechanics-based algorithms, machine learning can build models to regress/classify and make predictions from previous field data. For the breakdown or fracture initiation issue, parameters likely relating to breakdown pressure calculation are known. Machine learning is able to allow the representation of different factors related to hydraulic fracturing breakdown pressure. In some cases, hydraulic fracturing parameters might be missing, however the machine learning algorithm used here still can predict the results. Some parameters not appearing in the analytical model also can be included in the machine learning. With machine learning and given the dataset of hydraulic fracturing data, a model can be created and learned that, given inputs, can predict the breakdown pressure for new hydraulic fracturing design. Further, the model can be used to classify the fractability in terms of fracture initiation being successful or not.

Parameters Impacting Hydraulic Fracturing Breakdown

Hydraulic fracturing represents a well stimulation technique and has been used to stimulate production from tight reservoirs with low permeability. The process involves the high pressure injection of fracking fluid (primarily slick water, containing proppants) into a wellbore first, with the fluid then flowing through perforations to create fractures in the reservoir (seeFIG.2). The small size proppants will hold the fracture open after hydraulic pressure declines or hydraulic fluid flows back. Fracturing occurs whenever effective stress in the formation is overcome by the fluid pressure within the fractures. The minimum principal stress becomes tensile and exceeds the tensile strength of the rock. Hydraulic fractures are generally oriented in the direction perpendicular to the minimum principal stress and therefore propagate along the maximum horizontal (hor.) stress direction in subsurface. For cased hole/perforation hydraulic fracturing treatment, the breakdown pressure refers to the internal casing pressure when fracture initiates from the perforation tunnel. From a mechanics point of view, the breakdown pressure of perforation is a three-dimensional mechanics problem and is very difficult to obtain in a closed form analytical solution. Rock breakdown or fracture initiation is a first must for a successful hydraulic fracturing treatment. For hydraulic fracturing treatment, accurately estimating the breakdown pressure of formation is very critical, facilitating control in selecting the right tubing size and grade, wellhead grade and burst pressure limiting requirement as well as pump schedule design. The best practice of hydraulic fracturing design is to estimate the breakdown pressure as accurately as possible in the first place, and select the right treatment tubing, and wellhead thereafter. Otherwise, a hydraulic fracturing pump schedule cannot be injected as planned if breakdown pressure were underestimated in the first place. This can eventually lead to giving up hydraulic fracturing treatment.

Unfortunately, most of the currently used hydraulic fracturing simulators cannot accurately predict the breakdown pressure due to model simplifications. The several reasons include, for example: (1) the 3D complex configuration of perforated wellbore cannot be captured in the modeling; (2) numerical models have to use very coarse mesh size; (3) rock damage behavior cannot be considered; and (4) only maximum tensile stress criteria is used in the available analytical solutions. However, published models on this topic can clearly help to understand which parameters are important to determining rock breakdown and fracture initiation.

FIG.2is a diagram of an example of a deviated, cased hole, and clustered perforation hydraulic fracturing well200, according to some implementations of the present disclosure.FIG.2shows perforations202downstring in the wellbore102.

FIG.3is a diagram of an example of in-situ stresses and a maximum horizontal stress angle for a deviated well300and perforation hydraulic fracturing treatment, according to some implementations of the present disclosure. For the deviated well300, cased hole and clustered perforation hydraulic fracturing treatment, the breakdown pressure calculation is much complex than for an open vertical hole. For analytical approach, the far field in-situ stresses are first to be transformed from a global coordinate system to a local coordinate system associated with the individual perforation (seeFIG.3). The coordinate system can be used to define coordinates of points302and304along the wellbore, with the second point304being at a perforation306. In some frameworks, the global coordinate system can be defined as a situation in which the x-axis aligns with the North direction, the y-axis aligns with the East direction, and the z-axis is vertically downwards.

This coordinate system is denoted by a global coordinate system (xGyGzG). To be general, assume the azimuth of maximum principal stress is θσH, which is the angle turning clockwise from North to the maximum principle stress. For a well survey, any point along the well trajectory can be determined by three parameters: MD (measured depth), αD(wellbore deviation), and αA(wellbore azimuth). The coordinate system at any point along the well trajectory can be tracked and obtained by the following rotations about the global coordinate system, xGyGzG, particularly following two steps: (1) rotation of deviation αDabout the yG-axis; and (2) rotation of azimuth αAabout the zG-axis. The coordinate system for different phase angles of perforation tunnels can be rotated by two steps: (1) rotating αy,B=π/2 about the yB-axis of the wellbore coordinate system; and (2) rotation of phase angle αZ,Babout the zB-axis of the wellbore coordinate system. The breakdown pressure for each phase perforation of the perforation cluster should be calculated, and the minimum one of the calculated pressures will be considered as the required breakdown pressure for the perforation cluster. Obviously the landing depth of TVD, azimuth and deviation are important parameters used in the analytical solutions, which should be considered in the ML dataset.

For cased hole, the impact of casing and cement on breakdown pressure has been considered in recent innovations. The mechanical properties of casing and cement should be accounted for when estimating breakdown pressure. Also, the corresponding inner diameter (ID) and outer diameter (OD) of casing and cement should be considered. Fracture initiation from the wellbore-perforation interface hinges on the fluid pressure inside the perforation tunnel. Calculations of the fluid pressure acting on the perforation tunnel should account for the pressure loss across the perforation, which is important for hydraulic fracturing pump schedule design. Currently, a sharp-edge orifice equation is widely used to estimate the pressure drop as follows:

where σ is a fluid density in pounds per gallon (lb/gal); d is an initial perforation diameter in inches (in.); Cdis a perforation coefficient of discharge; Q is a flow rate in barrels per minute

and N is a number (no.) of perforations (perf.). From the above equation, it can be seen that the perforation diameter, flow rate, and number of perforations should be better included in the ML data list.

Hydraulic Fracturing Training Dataset

It is seen that related parameters impact the hydraulic fracturing treatment. The key parameters are collectively listed in Tables 1A and 1B (where Table 1B contains the additional columns of Table 1A). The parameters are classified as several groups, which are related to well trajectory and orientation, rock type, stress regime types, in-situ stresses and orientation, reservoir (res.) pressure, rock mechanical properties, and perforation parameters. As evidenced in recent innovations, well trajectory and orientation control the perforation orientation and provide a big impact on the required magnitude of breakdown pressure as well as in-situ stress tensor. Generally, hydraulic fracturing treatment is likely to be executed in a normal fault and strike-slip two stress regime. In this dataset, normal fault can be classified as 1 and strike-slip as 2. Rock types do not appear directly in the analytical formulations but likely impact the breakdown pressure and hydraulic fracturing outcome, which are generally reflected through mechanical properties. In this machine learning approach, rock type is also included in the dataset to train the model (for example, classified as 1 for shale, 2 for sandstone, and 3 for carbonate). Rock properties such as porosity are also included in the dataset for machine learning prediction. As indicated in Equation (1), perforation quality can directly impact the breakdown pressure. The number of perforations are included for each perforation cluster, perforation interval, and perforation diameter. These different groups of variables can be factored into predicting the required breakdown pressure for a successful hydraulic fracture initiation. Therefore, the corresponding breakdown pressure is included in the dataset for machine learning, which will be the prediction target variable. Also, the success or failure of fracture initiation can be included in the machine learning dataset as another predicted target variable. The success/failure will be labeled as 1 if hydraulic fractures successfully initiate, and otherwise labeled as 0 if hydraulic fractures fail to initiate.

Introduction to Machine Learning—XGBoost Method

Machine learning has applications in many industrial areas. Machine learning is typically made up of three parts: (1) the computational algorithm at the core of making determinations; (2) variables and features that make up the decision; and (3) a knowledge base for which the answer is known that enables training the system to learn. Initially, the model is fed parameter data for which the answer is known. The algorithm is then run, and adjustments are made until the algorithm's output (learning) agrees with the known answer. At this point, increasing amounts of data are able to help the system learn and process higher computational decisions.

XGBoost has emerged as one of the most popular machine learning algorithms currently used in the industry, regardless of the type of prediction task at hand, regression or classification. XGBoost is well known to provide better solutions than other machine learning algorithms. The algorithm is known for its good performance as compared to all other machine learning algorithms. In fact, the algorithm has become the “state-of-the-art” machine learning algorithm to deal with structured data. XGBoost has enhanced performance and speed in tree-based (sequential decision trees) machine learning algorithms. In Gradient Boosting algorithms, the loss function is optimized. Also, XGBoost is an advanced implementation of gradient boosting along with some regularization factors.

XGBoost is used for supervised learning problems such as regression, classification, and ranking, where the training data is used with multiple features xito predict a target variable yi. The process can start with an arbitrary initial prediction. This can be the average in the case of regression. At first, all residuals are calculated into each leaf, and the similarity score is calculated by simply setting λ=0. An attempt is made to split the residuals into two groups by clustering similar residuals. The similarity score is calculated for each group, which are named as left leaf and right leaf. A quantification is made regarding how much better the leaves cluster similar residuals than the root by calculating the gain. The gain is given by:

In the above equation, GLis the sum of residual of the left leaf, GRis the sum of residual of the right leaf, HLis the number of the left leaf, HLis the number of the right leaf. After this, the gain can be compared with the gains corresponding to other thresholds to select the largest gain for better split. The process can start by picking a number as a threshold γ, which represents the user-definable penalty and is meant to encourage pruning. The difference of (Gain−γ) between the gain associated with the lowest branch in the tree and the value for γ is calculated. If the difference between the gain and gamma is negative, the branch is removed. If the difference is positive, the branch is kept and pruning is continued.

The process continues with the original residuals, and a tree is built just like before. The similarity score and gain are calculated in the same way. When lambda is greater than 0, the similarity and gain will be smaller, making it easier to prune leaves. The value of lambda can prevent over-fitting of the training data. After the tree is built, the output value of the tree is determined, which is calculated by:

A prediction can then be based on the tree. The first prediction is:

The process can simply compare the new residuals, determining whether small steps are taken in the right direction. The process can keep building other trees based on new residuals. Make new predictions can result in smaller residuals until residuals are very small or have reached a threshold (for example, maximum number).

Assuming that a dataset contains totally n samples, which means n rows, then i can represent each example in the dataset. XGBoost can use a loss function to build trees by minimizing the following value:

In this equation, the first part represents the loss function which calculates the pseudo residuals of predicted value ŷiand true value yiin each leaf. The second part contains two parts as described previously. The last part in Equation (6) contains regularization term) λ, which intends to reduce the prediction insensitivity to individual observations. The term w represents the leaf weight, which can be considered as the output value for the leaf. Also, T represents the number of terminal nodes or leaves in a tree. Also, γ is defined as representing the user-definable penalty, which is meant to encourage pruning.

For the XGBoost method, an additive strategy can be used, fixing what has been learned, and adding one new tree at a time. A new tree can be generated along the direction of a negative gradient of a loss function defined by Equation (5). The loss will be become smaller and smaller as the number of tree models increases. The residuals can be used to construct a decision tree. The process can be repeated until the training reaches the maximum number of estimators (for example, using a default of 100). Once training is completed for the model, the predictions made by the XGBoost model as a whole include the sum of the initial prediction and the predictions made by each individual decision tree multiplied by the learn rates.

FIG.1is a diagram showing an example of a new tree402kthat is generated along the direction of negative gradient of loss function, according to some implementations of the present disclosure. The tree402kcan be generated as part of a prediction process400using a tree model404that progresses with predictions402a,402b,402c, and so on before a final prediction at the new tree402k.

The prediction value at step i can be written as {circumflex over (γ)}it. Then:

Workflow for Applying Machine Learning XGBoost to Predict Breakdown Pressure and Fracture Initiation

Error! Reference source not found. is a diagram showing an example of a workflow500for applying XGBoost method to predict breakdown pressure and to classify whether hydraulic fractures can be successfully initiated or not, according to some implementations of the present disclosure. A first step of the workflow500is to collect enough hydraulic fracturing field data as feasibly possible. For example, at502, a dataset is prepared for machine learning, including a well survey (TVD, azimuth, and deviation); a stress regime, in-situ stresses and orientation; rock types and rock mechanical properties; perforation related properties; and a breakdown pressure and a fracture initiation classification. Quite a large amount of uncertainty can exist in the input data describing the design of a hydraulic fracturing treatment. Collecting enough field data can take some time and can require special skills to filter out unreliable noise from the field data since they are full of uncertainties. At504, hyper-parameters for the XGBoost algorithm are adjusted or tuned. The dataset is divided into training data and test data. Generally, most (for example, 90%) of the dataset can be used as training data, and the rest (for example, 10%) can be used as test data. At506, XGBoost regression is applied to train the dataset and validate with the test data. For example, the training data can be used to train the boosted tree algorithms to make accurate predictions for predicting targeted variable yi. Once the trees are determined, the accuracy of the prediction can be tested with the help of test data. For training the XGBoost model, the more dataset from field wells will be more objective and accurate. Once the XGBoost model is validated, the model can be used to predict the targeted variable yi. The first targeted variable is to predict breakdown pressure for hydraulic fracturing treatment in this disclosure. XGBoost regression will be used to establish the relationships between features xiand the result yi, where yiis a continuous variable. Once the breakdown pressures for new hydraulic fracturing treatments are predicted at508, the breakdown pressures can be added to a prediction dataset at510as initial breakdown pressures for the new hydraulic fracturing design. The second machine learning part can be used to predict whether the new hydraulic fracture design with the predicted breakdown pressure can initiate hydraulic fracture successfully or not. Fracture initiation can be labeled as a discrete class label y based on many input features xi. The XGBoost Classifier can be used to predict fracture initiation success/failure for this part machine learning. In this case, at512, if the first XGBoost Classifier predicts no fracture initiation can be achieved, and the breakdown pressure will be increased, at516, at an increment of 200 pounds per square inch (psi) or other number. Then, iteration occurs using the XGBoost Classifier to check, at514, whether updated breakdown pressure can successfully initiate hydraulic fracture or not. It might take several iterations to find a breakdown pressure which can guarantee a successful hydraulic fracture initiation. The workflow can be implemented using a Python script, for example.

Example Study for Demonstration

In this section, an example study is presented on applying the XGBoost method to predict the breakdown pressure for hydraulic fracturing treatment. As collectively shown in Tables 1A and 1B, more parameters are collected for the machine learning study than those used for analytical approach. Some of the potential parameters not used for an analytical solution are also included in the machine learning model, such as stress regime, rock type, porosity, number of perforations, perforation interval, and perforation diameter. As a demonstration, 100 sets of fracturing stage cases were generated. Increasing the number of samples that are provided to a supervised learning algorithm leads to improved precision in regressing and classifying new data. The complete dataset is listed in Tables 2A and 2B (where Table 2B contains the additional columns of Table 2A). In this case, 90% of the dataset can be used to train the model. Once trained and validated, the model can be used to predict the breakdown pressure based on the input dataset of new hydraulic fracturing stages listed in Tables 3A and 3B (prediction dataset). Input dataset also refers to the prediction dataset in this disclosure. The new predicted breakdown pressures are bolded in the last column of Table 3B (where Table 3B contains the additional columns of Table 3A). Compared to the machine learning example study shown in Tables 2A, 2B, 3A, and 3B, a parameter of porosity is added to the dataset for training the model as shown in Tables 4A and 4B (where Table 4B contains the additional columns of Table 4A). Based on the dataset shown in Tables 4A and 4B for machine learning, the predicted breakdown pressures are listed in Tables 5A and 5B (where Table 5B contains the additional columns of Table 5A), which are different from those predicted breakdown pressures in Tables 3A and 3B. A feature of the XGBoost algorithm is that the algorithm can handle missing values. The algorithm is designed in such a way that the algorithm can identify and define the trends in the missing values.

As previously described, the XGBoost method can be used to classify new data. In the current case, some sets of the hydraulic fracturing dataset can be collected, including labels of hydraulic fracturing initiation success/failure, which will be used to build the classification model. Tables 6A and 6B collectively show the part of the dataset used to classify hydraulic fracturing initiation (where Table 6B contains the additional columns of Table 6A). Success/failure can be labeled as 1 if hydraulic fracture initiation is successful or labeled as 0 if hydraulic fracture initiation is a failure. Compared to the regression part of training for breakdown pressure, one more variable is added to represent hydraulic fracture initiation. This part of machine learning is achieved by using the XGBoost classifier function. Tables 6A and 6B list the training dataset, and Tables 7A and 7B list the machine learning prediction (where Table 7B contains the additional columns of Table 7A). As listed in Tables 7A and 7B, four cases of hydraulic fracturing designs with the planned breakdown pressure will likely initiate hydraulic fracture propagating, and the other two will fail to initiate hydraulic fractures. In this situation, the breakdown pressure can be increased using an increment of 200 psi, 300 psi or 400 psi to the failed cases of designed breakdown pressure listed in Tables 7A and 7B. Then, the XGBoost classifier part can be rerun to see whether updated hydraulic fracturing breakdown pressure can achieve a fracture initiation or not. It might need several iterations to find a breakdown pressure, which allows XGBoost Classifier to predict a successful fracture initiation.

Machine learning can be used to direct hydraulic fracturing (fract.) design, which can open an avenue toward an expert system for advising field engineers on determining an optimal set of hydraulic fracturing design parameters. An optimal set of parameters, as defined in the present disclosure, can represent a set of parameters, for example, as listed in Tables 1A and 1B. The optimal set of parameters can include parameters such as landing depth of TVD, well trajectory, stress regime, in-situ stresses and maximum (max.) stress angle, reservoir pressure, rock type, rock properties, perforation parameters, and required breakdown pressure. The required breakdown pressure can be calculated either using analytical or numerical methods, or using an artificial intelligence (AI)/machine learning (ML) approach.

TABLE 3APrediction of hydraulic fracturing breakdown pressure by machine learningXGBoost regression.WellMaxFracturingAzimuthDeviationhorizontalMax.Min.TreatmentLanding@fract.@fract.StressstressVerticalhor.Hor.NumberDepthpointpointregimeanglestressstressstress114859339.43.925515458193251290921467427.380.026515118192301491231434727.785.026515110172131339941364328.286.026515107174931330651400028.086.0265160001800013500

TABLE 3BPrediction of hydraulic fracturing breakdown pressure by machine learningXGBoost regression.FracturingNo. ofTreatmentReservoirRockTensileperf.Perf.Perf.BreakdownNumberpressuretypestrengthUCSshotsintervaldiameterpressure1860912090194031220.04216253.162852112109170201220.04217834.243852111792179211220.04218121.634852121864186461220.04217997.095852121864186461220.04218590.74

TABLE 5APrediction of hydraulic fracturing breakdown pressure by machine learning XGBoostregressionWellMaxFract.AzimuthDeviationhor.Max.Min.TreatmentLanding@fract.@fracturingStressstressVert.hor.Hor.NumberDepthpointpointregimeanglestressstressstress114859339.43.925515458193251290921467427.380.026515118192301491231434727.785.026515110172131339941364328.286.026515107174931330651400028.086.0265160001800013500

TABLE 5BPrediction of hydraulic fracturing breakdown pressure by machine learning XGBoost regressionFracturingNumberTreatmentRes.RockTensileof perf.Perf.Perf.BreakdownNumberpressuretypePorositystrengthUCSshotsintervaldiameterpressure1860910.062090194031220.04216838.632852110.072109170201220.04218299.943852110.091792179211220.04217804.944852120.081864186461220.04218142.945852120.101864186461220.04217950.07

TABLE 7APrediction of hydraulic fracture initiation by machine learning XGBoost classifier.WellMax.AzimuthDeviationhor.Max.Min.FracturingLanding@fract.@fract.StressVerticalHor.Hor.ReservoirRockNumberDepthpointpointanglestressstressStresspressuretype114859339.43.9551545819325129098600121467427.380.0651511819230149128250131434727.785.0671511017213133998500141364328.286.0651510717493133068521251400028.086.0701600018000135008500261400028.086.06415500175001320085202

TABLE 7BPrediction of hydraulic fracture initiation by machine learning XGBoost classifier.Number ofFractureFracturingTensileperforationPerforationPerforationBreakdowninitiationNumberPorositystrengthUCSshotsintervaldiameterpressureor not10.062090194031220.04216000120.072109170201220.04217000130.091792179211220.04215000040.081864186461220.04214000050.11864186461220.04218000160.121800150001220.042190001

FIG.6is a flowchart of an example of a method600for predicting hydraulic fracture initiation, according to some implementations of the present disclosure. For clarity of presentation, the description that follows generally describes method600in the context of the other figures in this description. However, it will be understood that method600can be performed, for example, by any suitable system, environment, software, and hardware, or a combination of systems, environments, software, and hardware, as appropriate. In some implementations, various steps of method600can be run in parallel, in combination, in loops, or in any order.

At602, a fracking operations dataset is prepared based on historical information for a group of fracking wells from fields. For example, historical information from past fracking and production operations can be accessed, including parameters used over time and the results of fracking. From602, method600proceeds to604.

At604, a set of hyper-parameters is tuned for use in a configured to predict fracture initiation in new fracturing wells. As an example, the set of hyper-parameters can include learning_rate, gamma (minimum loss reduction required to make a further split on a machine learning algorithm leaf node of the tree), max_depth (maximum depth of a tree; increasing this value will make the model more complex and likely to over-fit), and max_leaves (maximum number of leaves in a tree). In some implementations, the machine learning algorithm can be an XGBoost algorithm. From604, method600proceeds to606.

At606, the fracking operations dataset is divided into a training dataset and a test dataset, where the training dataset is configured to train a fracture initiation prediction model. For example, the fracking operations dataset can include, for each fracking well: well survey data including landing depth of TVD, azimuth, and deviation; a stress regime, in-situ stresses and orientation; rock types and rock mechanical properties; perforation related properties; and a breakdown pressure and a fracture initiation classification. From606, method600proceeds to608.

At608, a regression algorithm is applied to train the training dataset and to validate with the test dataset. The algorithm can include use of Equations (2) to (5), for example. From608, method600proceeds to610.

At610, a target variable of a breakdown pressure for a new hydraulic fracturing treatment is set using the fracture initiation prediction model and the training dataset. The target can be, for example, an initial starting point for the breakdown pressure that is known to be a good starting point. From610, method600proceeds to612. For example, a sample dataset for machine learning to predict hydraulic fracturing breakdown pressure is provided in tables 2A and 2B.

At612, the training dataset is updated based on at least the target variable. Tables 1A and 1B provide example values of the variables. From612, method600proceeds to614.

At614, the training dataset is trained using a classifier of the machine learning algorithm. From614, method600proceeds to616.

At616, a prediction is made using the training dataset whether the new hydraulic fracturing treatment can be initiated. Examples of predicted values are provided in Tables 3A, 3B, 5A, and 5B. Predicting whether the new hydraulic fracturing treatment can be initiated or not can include using a prediction function based on previous predictions, as described in Equations (6)-(9). The prediction function can include learning rate multipliers applied to previous predictions. From616, method600proceeds to618.

At618, the breakdown pressure is incrementally adjusted, and the updating, training, and predicting are repeated until successful hydraulic fracture initiation is predicted.

FIG.7is a block diagram of an example computer system700used to provide computational functionalities associated with algorithms, methods, functions, processes, flows, and procedures described in the present disclosure, according to some implementations of the present disclosure. The illustrated computer702is intended to encompass any computing device such as a server, a desktop computer, a laptop/notebook computer, a wireless data port, a smart phone, a personal data assistant (PDA), a tablet computing device, or one or more processors within these devices, including physical instances, virtual instances, or both. The computer702can include input devices such as keypads, keyboards, and touch screens that can accept user information. Also, the computer702can include output devices that can convey information associated with the operation of the computer702. The information can include digital data, visual data, audio information, or a combination of information. The information can be presented in a graphical user interface (UI) (or GUI).

The computer702can serve in a role as a client, a network component, a server, a database, a persistency, or components of a computer system for performing the subject matter described in the present disclosure. The illustrated computer702is communicably coupled with a network730. In some implementations, one or more components of the computer702can be configured to operate within different environments, including cloud-computing-based environments, local environments, global environments, and combinations of environments.

The computer702can receive requests over network730from a client application (for example, executing on another computer702). The computer702can respond to the received requests by processing the received requests using software applications. Requests can also be sent to the computer702from internal users (for example, from a command console), external (or third) parties, automated applications, entities, individuals, systems, and computers.

Each of the components of the computer702can communicate using a system bus703. In some implementations, any or all of the components of the computer702, including hardware or software components, can interface with each other or the interface704(or a combination of both) over the system bus703. Interfaces can use an application programming interface (API)712, a service layer713, or a combination of the API712and service layer713. The API712can include specifications for routines, data structures, and object classes. The API712can be either computer-language independent or dependent. The API712can refer to a complete interface, a single function, or a set of APIs.

The service layer713can provide software services to the computer702and other components (whether illustrated or not) that are communicably coupled to the computer702. The functionality of the computer702can be accessible for all service consumers using this service layer. Software services, such as those provided by the service layer713, can provide reusable, defined functionalities through a defined interface. For example, the interface can be software written in JAVA, C++, or a language providing data in extensible markup language (XML) format. While illustrated as an integrated component of the computer702, in alternative implementations, the API712or the service layer713can be stand-alone components in relation to other components of the computer702and other components communicably coupled to the computer702. Moreover, any or all parts of the API712or the service layer713can be implemented as child or sub-modules of another software module, enterprise application, or hardware module without departing from the scope of the present disclosure.

The computer702includes an interface704. Although illustrated as a single interface704inFIG.7, two or more interfaces704can be used according to particular needs, desires, or particular implementations of the computer702and the described functionality. The interface704can be used by the computer702for communicating with other systems that are connected to the network730(whether illustrated or not) in a distributed environment. Generally, the interface704can include, or be implemented using, logic encoded in software or hardware (or a combination of software and hardware) operable to communicate with the network730. More specifically, the interface704can include software supporting one or more communication protocols associated with communications. As such, the network730or the interface's hardware can be operable to communicate physical signals within and outside of the illustrated computer702.

The computer702includes a processor705. Although illustrated as a single processor705inFIG.7, two or more processors705can be used according to particular needs, desires, or particular implementations of the computer702and the described functionality. Generally, the processor705can execute instructions and can manipulate data to perform the operations of the computer702, including operations using algorithms, methods, functions, processes, flows, and procedures as described in the present disclosure.

The computer702also includes a database706that can hold data for the computer702and other components connected to the network730(whether illustrated or not). For example, database706can be an in-memory, conventional, or a database storing data consistent with the present disclosure. In some implementations, database706can be a combination of two or more different database types (for example, hybrid in-memory and conventional databases) according to particular needs, desires, or particular implementations of the computer702and the described functionality. Although illustrated as a single database706inFIG.7, two or more databases (of the same, different, or combination of types) can be used according to particular needs, desires, or particular implementations of the computer702and the described functionality. While database706is illustrated as an internal component of the computer702, in alternative implementations, database706can be external to the computer702.

The computer702also includes a memory707that can hold data for the computer702or a combination of components connected to the network730(whether illustrated or not). Memory707can store any data consistent with the present disclosure. In some implementations, memory707can be a combination of two or more different types of memory (for example, a combination of semiconductor and magnetic storage) according to particular needs, desires, or particular implementations of the computer702and the described functionality. Although illustrated as a single memory707inFIG.7, two or more memories707(of the same, different, or combination of types) can be used according to particular needs, desires, or particular implementations of the computer702and the described functionality. While memory707is illustrated as an internal component of the computer702, in alternative implementations, memory707can be external to the computer702.

The application708can be an algorithmic software engine providing functionality according to particular needs, desires, or particular implementations of the computer702and the described functionality. For example, application708can serve as one or more components, modules, or applications. Further, although illustrated as a single application708, the application708can be implemented as multiple applications708on the computer702. In addition, although illustrated as internal to the computer702, in alternative implementations, the application708can be external to the computer702.

The computer702can also include a power supply714. The power supply714can include a rechargeable or non-rechargeable battery that can be configured to be either user- or non-user-replaceable. In some implementations, the power supply714can include power-conversion and management circuits, including recharging, standby, and power management functionalities. In some implementations, the power-supply714can include a power plug to allow the computer702to be plugged into a wall socket or a power source to, for example, power the computer702or recharge a rechargeable battery.

There can be any number of computers702associated with, or external to, a computer system containing computer702, with each computer702communicating over network730. Further, the terms “client,” “user,” and other appropriate terminology can be used interchangeably, as appropriate, without departing from the scope of the present disclosure. Moreover, the present disclosure contemplates that many users can use one computer702and one user can use multiple computers702.

For example, in a first implementation, a computer-implemented method includes the following. A fracking operations dataset is prepared based on historical information for a group of fracking wells from fields. A set of hyper-parameters of a machine learning algorithm configured to predict fracture initiation for new fracturing wells are tuned. The fracking operations dataset is divided into a training dataset and a test dataset, where the training dataset is configured to train a fracture initiation prediction model. A regression algorithm is applied to train the training dataset and to validate with the test dataset. A target variable of a breakdown pressure for a new hydraulic fracturing treatment is determined using the fracture initiation prediction model and the training dataset. A prediction dataset is updated based on at least the target variable. The training dataset is trained using a classifier of the machine learning algorithm. Using the prediction dataset, a prediction is made whether the new hydraulic fracturing treatment can be initiated or not. The breakdown pressure is incrementally adjusted, and the updating, training, and predicting are repeated until successful hydraulic fracture initiation is predicted.

A first feature, combinable with any of the following features, where the set of hyper-parameters includes at least learning_rate, gamma, max_depth, and max_leaves.

A second feature, combinable with any of the previous or following features, where the fracking operations dataset includes, for each fracking well: well survey data including landing depth of TVD, azimuth, and deviation; a stress regime, in-situ stresses and orientation; rock types and rock mechanical properties; perforation related properties; and a breakdown pressure and a fracture initiation classification.

A third feature, combinable with any of the previous or following features, where the machine learning algorithm is an XGBoost algorithm.

A fourth feature, combinable with any of the previous or following features, where incrementally adjusting the breakdown pressure includes increasing the breakdown pressure in increments of 200 pounds per square inch (psi).

A fifth feature, combinable with any of the previous or following features, where predicting whether the new hydraulic fracturing treatment can be initiated or not includes using a prediction function based on previous predictions.

A sixth feature, combinable with any of the previous or following features, where the prediction function includes learning rate multipliers applied to previous predictions.

In a second implementation, a non-transitory, computer-readable medium stores one or more instructions executable by a computer system to perform operations including the following. A fracking operations dataset is prepared based on historical information for a group of fracking wells from fields. A set of hyper-parameters of a machine learning algorithm configured to predict fracture initiation for new fracturing wells are tuned. The fracking operations dataset is divided into a training dataset and a test dataset, where the training dataset is configured to train a fracture initiation prediction model. A regression algorithm is applied to train the training dataset and to validate with the test dataset. A target variable of a breakdown pressure for a new hydraulic fracturing treatment is determined using the fracture initiation prediction model and the training dataset. A prediction dataset is updated based on at least the target variable. The training dataset is trained using a classifier of the machine learning algorithm. Using the prediction dataset, a prediction is made whether the new hydraulic fracturing treatment can be initiated or not. The breakdown pressure is incrementally adjusted, and the updating, training, and predicting are repeated until successful hydraulic fracture initiation is predicted.

A first feature, combinable with any of the following features, where the set of hyper-parameters includes at least learning_rate, gamma, max_depth, and max_leaves.

A second feature, combinable with any of the previous or following features, where the fracking operations dataset includes, for each fracking well: well survey data including landing depth of TVD, azimuth, and deviation; a stress regime, in-situ stresses and orientation; rock types and rock mechanical properties; perforation related properties; and a breakdown pressure and a fracture initiation classification.

A third feature, combinable with any of the previous or following features, where the machine learning algorithm is an XGBoost algorithm.

A fourth feature, combinable with any of the previous or following features, where incrementally adjusting the breakdown pressure includes increasing the breakdown pressure in increments of 200 pounds per square inch (psi).

A fifth feature, combinable with any of the previous or following features, where predicting whether the new hydraulic fracturing treatment can be initiated or not includes using a prediction function based on previous predictions.

A sixth feature, combinable with any of the previous or following features, where the prediction function includes learning rate multipliers applied to previous predictions.

In a third implementation, a computer-implemented system includes one or more processors and a non-transitory computer-readable storage medium coupled to the one or more processors and storing programming instructions for execution by the one or more processors. The programming instructions instruct the one or more processors to perform operations including the following. A fracking operations dataset is prepared based on historical information for a group of fracking wells from fields. A set of hyper-parameters of a machine learning algorithm configured to predict fracture initiation for new fracturing wells are tuned. The fracking operations dataset is divided into a training dataset and a test dataset, where the training dataset is configured to train a fracture initiation prediction model. A regression algorithm is applied to train the training dataset and to validate with the test dataset. A target variable of a breakdown pressure for a new hydraulic fracturing treatment is determined using the fracture initiation prediction model and the training dataset. A prediction dataset is updated based on at least the target variable. The training dataset is trained using a classifier of the machine learning algorithm. Using the prediction dataset, a prediction is made whether the new hydraulic fracturing treatment can be initiated or not. The breakdown pressure is incrementally adjusted, and the updating, training, and predicting are repeated until successful hydraulic fracture initiation is predicted.

A first feature, combinable with any of the following features, where the set of hyper-parameters includes at least learning_rate, gamma, max_depth, and max_leaves.

A second feature, combinable with any of the previous or following features, where the fracking operations dataset includes, for each fracking well: well survey data including landing depth of TVD, azimuth, and deviation; a stress regime, in-situ stresses and orientation; rock types and rock mechanical properties; perforation related properties; and a breakdown pressure and a fracture initiation classification.

A third feature, combinable with any of the previous or following features, where the machine learning algorithm is an XGBoost algorithm.

A fourth feature, combinable with any of the previous or following features, where incrementally adjusting the breakdown pressure includes increasing the breakdown pressure in increments of 200 pounds per square inch (psi).

A fifth feature, combinable with any of the previous or following features, where predicting whether the new hydraulic fracturing treatment can be initiated or not includes using a prediction function based on previous predictions.

Computers suitable for the execution of a computer program can be based on one or more of general and special purpose microprocessors and other kinds of CPUs. The elements of a computer are a CPU for performing or executing instructions and one or more memory devices for storing instructions and data. Generally, a CPU can receive instructions and data from (and write data to) a memory.

Graphics processing units (GPUs) can also be used in combination with CPUs. The GPUs can provide specialized processing that occurs in parallel to processing performed by CPUs. The specialized processing can include artificial intelligence (AI) applications and processing, for example. GPUs can be used in GPU clusters or in multi-GPU computing.

A computer can include, or be operatively coupled to, one or more mass storage devices for storing data. In some implementations, a computer can receive data from, and transfer data to, the mass storage devices including, for example, magnetic, magneto-optical disks, or optical disks. Moreover, a computer can be embedded in another device, for example, a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device such as a universal serial bus (USB) flash drive.

Furthermore, any claimed implementation is considered to be applicable to at least a computer-implemented method; a non-transitory, computer-readable medium storing computer-readable instructions to perform the computer-implemented method; and a computer system including a computer memory interoperably coupled with a hardware processor configured to perform the computer-implemented method or the instructions stored on the non-transitory, computer-readable medium.