This disclosure, in general, relates to systems and methods for performing data analysis, prediction, and prescription using scripting.
Industry is increasingly relying on analytics and prediction systems to predict events and business outcomes. With these predictions, businesses hope to preempt problems and improve business performance. However, such analytics systems are becoming increasingly complex, limiting usability by managers.
In particular, subprocesses within the analytics system, such as data preprocessing and modeling, utilize complex algorithms and techniques, each using a variety of parameters and factors that influence functionality. For example, industry is increasingly turning to unstructured data sources that are preprocessed using a variety of interpreters and algorithms, each utilizing a different set of parameters and providing a different output.
As such, the complexity of conventional analytics systems often prevents use of such systems by business management. Further, the expense associated with using expert labor to perform analysis and yield predictions leads to less frequent use and lowers the cost effectiveness of such systems.
In particular, such systems have can have use in resource management, such as oil field management, and other production-based industries.
The present disclosure may be better understood, and its numerous features and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
The use of the same reference symbols in different drawings indicates similar or identical items.
In an embodiment, an analytics system includes several subsystems and a configuration script to configure aspects of the subsystems. The subsystems can include a preprocessing subsystem, an insight or modeling subsystem, a prediction subsystem, a prescription subsystem, or a combination thereof. The configuration script can include elements relevant to the configuration of several of the subsystems and can include elements to specifically configure individual subsystems. In an example, the configuration script can identify variables, such as influencers and performance indicators, used by several of the subsystems. In addition, the configuration script can identify specific parameters, processes, or data useful by a particular subsystem. Such an analytics system is particularly adapted for Prescriptive Analytics® techniques. In particular, such an analytic system can be used to prescribe actions, such as actions at future times useful for achieving performance goals. Further, associated methods and systems can be used to provide a Decision-as-a-Service™ software and online services to assist business entities achieve a desired performance.
In particular, the analytics system and methods can be used to implement Prescriptive Analytics® techniques that assist with determining future actions or decisions in view of business rules and projected outcomes. The methods can be embodied in executable instructions, processors or systems to execute such instructions, interfaces implemented by such systems, media storing such executable instructions, and services derived from the use of such methods and systems. In addition, the methods can be utilized to provide Predictive Decision Management® information and services, such as Decision-as-a-Service™ services. In particular, the methods can implement predictive analysis, such as forecasting to project what will happen and when. Further, the methods can implement optimization, scenario testing, and root cause analysis of factors that influence performance.
In an embodiment, a system predicts problems that can occur, providing an indication of both the nature of the problem and when it is expected to occur. The problems can be expressed as deviations in performance indicators that violate business criteria. For example, a problem can be expressed as the value of a performance indicator crossing a threshold. In addition, the system supports testing of solutions to the predicted problem. The solutions are expressed in terms of what action to take and when to take such action. As such, the system assists with determining a desirable set of future actions to maintain a business process in compliance with business criteria. Deviations from performance indicators that violate business criteria can also include opportunities from which the business can benefit. For example, when a future customer satisfaction score exceeds a threshold, the business can decide to reduce its service level and thus, reduce cost.
Businesses rely on business processes to function. Evaluating how well that business process is performing allows a business to allocate resources, increase production, improve its position in the market place, increase profitability, or any combination thereof. For example, a business process can include a call center, the function being customer service or technical support. In another example, the business process can include field services, the function being product installation or repair. In a further example, the business process can be a marketing department, the function being to control public perception of the business or a response rate. In additional examples, the business process can include transactions services, finance and accounting, manufacturing, logistics, sales, or any combination thereof.
In particular, evaluation of the business process can be correlated with performance indicators (PIs). One or more performance indicators (PIs) can be used to quantify how well a business process is performing. For example, a call center can quantify performance using performance indicators, such as customer satisfaction, problem resolution, productivity indicators, cost indicators, or any combination thereof.
Once determined, the performance indicators (PIs) can be compared with business criteria to determine whether the business process is performing as desired. For example, a business criterion can include threshold values, limits on rates of change, heuristics associated with aspects of the business function or any combination thereof. For example, the performance indicator (PI) can be compared to a threshold value to determine whether the performance indicator (PI) is within a desired range or is in violation of the threshold, indicating poor performance or an unnecessary high performance.
The performance indicators (PIs) are influenced by other factors associated with performing the business process. In particular, such factors are referred to as influencers and influencers correlate with the performance indicators. For example, an influencer associated with call center performance can include the number of contacts made with a customer to resolve an issue, the type of issue, hold time, shipping delays, or any combination thereof, among others. Such influencers can, for example, influence performance indicators, such as customer satisfaction and brand satisfaction. Performance indicators (PIs) or influencers can be of numerical (continuous or integer) nature, categorical nature, or a combination thereof. Further, the PIs or influencers can be ordered or can be non-ordered. In another example, the distributions of performance indicators (PIs) or influencers are utilized or predicted. In particular, a PI distribution provides data about the underlying nature of the median or mean value. For example, when the PI relates to customer satisfaction, an average value does not provide information about the number of dissatisfied customers. An average of 80% satisfaction can be the result of all participants having a satisfaction near 80% or can be the result of several 100% satisfied customers and a few very dissatisfied customers. Identifying the existence and then cause of the few very dissatisfied customers can provide greater benefit than seeking to achieve an average value. In the case of categorical performance indicators (PIs) or influencers, such a prediction can include the prediction of the occurrence set of categories. As used below, the term “value” is used to include numerical values, categorical values, or any combination thereof.
The influencers and the performance indicators (PIs) change over time. The change can be caused by the change of influencers or by a time dependency of a performance indicator on itself. As such, the performance indicator (PI) can deviate overtime and violate business criteria, which is indicative of a problem in the business unit or low performance. To correct the deviation, associated influencers can be manipulated. For example, more staff can be added to reduce hold time. However, immediate manipulation of the influencers to solve a problem predicted in the future can provide less than desirable solutions to the problems in the business process. For example, hiring more staff long before the hold times are expected to increase leads to higher cost in the call center. The present system can assists with determining a desirable set of future actions to maintain a business process incompliance with business criteria.
In an embodiment, the present system performs a method to determine such a desirable set of future actions. For example,
In an example, the system can also use streaming data sources where there is no intermediate data management system for the storage of aggregated data. Such a system is especially useful for big unstructured data sets (terabyte data) where the use of a rational database management system would be inefficient or economically unacceptable. In such an example, techniques such as Map/Reduce are applied based on Big Data processing systems like Apache Hadoop.
Once clean aggregated data is available, relationships between performance indicators and potential influencers can be determined and criteria for performance can be established, as illustrated at 2604. Such relationships permit projection of potential outcomes, which can be compared with the criteria to determine whether the business process is functioning well. In particular, the relationships can identify influencers that have a greater influence on one or more performance indicators.
As illustrated at 2606, outcomes can be projected. Projecting can include predictive analysis to determine what is to happen. Predictive analysis can include forecasting to determine what is to happen and in what time frame. In particular, such projection can include projecting the value of one or more performance indicators based on the determined relationships and expected values of influencers. In a further example, the future values of one or more influencers are projected, and the performance indicators are determined based at least in part on the future values of the one or more influencers. Projecting, and in particular, forecasting can be performed using an algorithm constrained with business rules. For example, the values of influencers or performance indicators can be constrained based on rules established by the business. In an example, one or more of the performance indicators are projected to violate one or more business criteria at future times. For example, the value of a performance indicator can cross a threshold at a future time step. In this way, the business process is provided with warning about a potential problem that may arise in the future.
The present system can also permit adjustment of future actions, as illustrated at 2608. For example, to determine a solution to a projected problem, the system can adjust, in an automatic mode or through manual adjustment, the future value of one or more influencers. The performance indicators can be projected using the adjusted influencer values to determine whether the problem is solved. In particular, the adjustment to influencer values can be made at one or more future time steps. As such, minor adjustments to an influencer value can be made during a series of time steps. In another example, a large adjustment can be made at a single time step closer to the projected violation of the business criteria. The process can be iterated to determine a particularly advantageous set of future actions that maintain the performance indicators at desired states. In particular, a performance indicator can be optimized by adjusting one or more values of the influencers. As used herein, optimizing is a process of adjusting values to meet or approach a criterion. Further, the process can be constrained based on business rules. For example, business rules can set boundaries to the values of influencers or performance indicators.
In addition, the future actions and data derived therefrom can be used to recalibrate the system. For example, new results relating actions taken can be used to inform the algorithm and for selection of an algorithm. Other processes, such as iteratively adjusting or optimizing or root cause analysis, can be performed automatically or continuously in response to new data.
To conceptually illustrate the iterations to determine a desirable set of future actions to maintain a business process in compliance with business criteria,
In particular, the influencer values or categories can be projected based on known factors and prior history. For example, if call volume or hold time are considered influencers of customer satisfaction in a call center, it may be projected, based on past experience, that call volume and hold time increase during holiday seasons. In a field service process for a heating and air conditioning company, service calls can increase during summer months in Southern regions and increase in winter months in Northern regions. As such, embodiments of the present system can utilize manually set values of influencers, projected values of influencers, or any combination thereof.
Each influencer can contribute to the projected value of one or more performance indicators and each performance indicator can be a function of one or more influencers and time. In particular, determining the relationship of influencers and performance indicators includes determining the contribution of each influencer to the value of a projected performance parameter. Such conceptual contributions are in practice a model derived from data and relevant algorithms.
Using the influencer values or categories, whether projected or manually set, and using the relationships of such influencer values or categories on future values of the performance indicator, the system can project performance indicator values or categories over a series of future time steps and iteratively adjust the influencer values or the occurrence of categories at future time steps to determine desirable changes to influencer values or categories at future time steps that maintain the performance indicators in balance with the business criteria.
For example,
As such, embodiments of the present system can assist with determining a set of future actions (changes to influencers) that maintain a business process, as quantified by performance indicators, in compliance with business criteria. In other words, the present system can assist with determining which changes to make to a business process and when to make such changes.
In an embodiment illustrated in
In particular, the data can be derived from structured sources, such as databases, tables, listings, or any combination thereof. In another example, the data can be derived from unstructured sources. Unstructured sources are sources that are interpreted using human or artificial intelligence and, for example, include video sources, audio sources, narrative text, or any combination thereof. Narrative text includes, for example, articles, blogs, emails, and other writings in prose, such as those available via the internet or electronic sources. Further, unstructured sources can include documents having narrative text and including enriched formatting, such as tags. For example, the unstructured source can include a narrative text document formulated in a hypertext, XML or tagged format. Once processed, the data is stored, for example, in a data management system, such as a database 3104.
The data and a set of algorithms 3106 can be used to prepare models. Algorithms 3106 can take the form of heuristics or the form of algorithms to form regression models, Markov chains, time series models, state space models, Bayesian models, neural networks, or any other appropriate model, or any combination thereof. In particular, exemplary algorithms 3106 include autoregressive integrated moving average (ARIMA), seasonal ARIMA (SARIMA), autoregressive conditional heteroskedasticity (ARCH), or generalized autoregressive conditional heteroskedasticity (GARCH), among others. The data can be applied though the algorithms 3106 to provide relationships and models between influencers and performance indicators, which can be validated against a test set from the original data, at validation 3108. Validation 3108 results can be used by selector 3110 to select a preferred model 3106. The model is assembled and stored in a model management system 3112, through which performance indicators can be projected and desirable paths of influencer values determined.
Once prepared, embodiments of the present system can apply new external data, in addition to existing data, to project the values of influencers and performance indicators. A user can configure the system, establishing, for example, a period over which projects are to be made, and other parameters associated with the system. In addition, embodiments of the system can assist with ranking a set of influencers based on their contribution to a particular performance indicator. A small change in a high ranking influencer can have a greater effect on a performance indicator than a large change in a low ranking influencer. Such a ranking can be used to perform root cause analysis. Further, the system can be tested for accuracy based on the model. The ranking can be displayed on a display device.
In further explanation of a system 3600, key performance indicators 3602 are influenced by influencers 3604 as constrained by constraints 3608, as illustrated in
Such a relationship (r) permits the determination of the KPI 3602 at one or more future time periods based on present and future values of influencers 3604 subject to constraints 3608. In addition, such a relationship (r) is useful for determining the influence of changes in the influencers 3604 on the KPI 3602 at a selected future time. As a result, root cause analysis can be performed specifically for the selected future time or generally across time periods. In addition, the system can automatically or iteratively determine a set of actionable tasks including changes to influencer values over time to provide future KPI values 3602 that do not violate business rules, subject to constraints 3608. A business rule can be a constraint. Alternatively, a business rule can be different than a constraint. In a further example, a user can manipulate one or more future values of a selected influencer 3604 to determine the effect on the future value of a key performance indicator.
The constraints 3608 can take a variety of forms including box constraints, functional constraints, quantized constraints, step constraints or any combination thereof. The constraint may not be static over time. In particular, the system can indicate that a constraint is to be changed based on auxiliary data. As a result, a constraint can evolve over time, providing an indication of new business rules or a new paradigm discovered through data provided to the system. For example, a range associated with a box constraint can be changed when a value of the KPI or an influencer is frequently in violation of limits of a box constraint. Such sticking to an upper or lower constraint can indicate that a more optimal solution is found in a different range of the influencer value. When the constraint is a function, the form of the function or the parameters associated with the function can change over time as data is provided to the system. Such constraints can also be a relationship based on business rules and performance indicators. In an additional example, a constraint can limit the range of an associated influencer based on the temporally adjacent values of the associated influencer. In an example, constraints 3610 are each influenced by external data 3614. As external data is provided to the constraints 3610, constraints can change or can provide a user with an indication that the constraint should be reconsidered. In such a manner, new business rules can be discovered, preconceived notions of doing business can be reevaluated, and adjustments to the constraints can be considered.
Determining whether to change a constraint or other rules within the system can be performed utilizing meta-rules. Meta-rules can apply a generalize rule to constraints based on the type of constraint or the behavior of data associated with the constraint. For example, when a prescribed influencer is at the top or the bottom of a box constraint for a set number of times, the system can indicate that the constraint should be reconsidered. In another example, when an influencer exhibits erratic changes providing a high variance in influencer values, the absence of a constraint or a preference for reconsidering constraints can be indicated. In such a manner, business rules and other constraints can be adaptive, compensating for changes in a business environment.
In a further example, analysis by user 3612 can influence the nature of the relationship. Using techniques, such as Bayesian networks, can indicate whether additional influencers should be included in the relationship (r). For example, analysis of the system can indicate that an additional influencer 3606 should be provided to establish a relationship (r) for determining future KPI values. As such, the system can assist with building a relationship model, selecting appropriate influencers, and introducing or removing influencers as a business environment changes or the influencers lose influence on the KPI.
Such networks can be further utilized to translate actions 3706 into influencers 3704 that are used in relational models to determine values of the performance indicators 3702, as illustrated at
The future value of an influencer can also be limited by values of temporally neighboring future values. For example, an influencer at a first future time can limit the value of the influencer at a second future time. Such a limit can be expressed based on step limits (e.g., maximum permissible change). In another example, the limit can be expressed as a function of time. For example, limits on the value of an influencer can change based on time, either relative or according to a calendar.
When limits to influencer values are a function of time or other influencer values, optimization to achieve a desired key performance indicator value can take longer to implement. Limits to influencer or indicator values that are a function of time or other influencer or indicator values are referred to herein as “functors.” For example, when an influencer value is functionally constrained based on time, changing the value of the influencer to a substantially optimal value can be prevented until the functional constraint permits the influencer to have the substantially optimal value.
In a further example, the relationships for predicting the KPIs can be recalibrated. In particular, a trigger rule can be evaluated when new data is received. For example, a predicted value of a KPI can be compared to an actual value and when the difference is significant, such as beyond a threshold, recalibration can be triggered.
Recalibration can include adjusting parameters of a model based on new data. The system can also determine that the previous model no longer reflects the relationships between influencers and performance indicators. A model can be restructured to better reflect the relationships. In another example, a new influencer can be added to the model. In a further example, a new type of algorithm or model can be selected and the parameters determined for the new type of algorithm or model based on the new data and past data. Once recalibration is performed, the system can provide an updated prediction, root-cause analysis, or prescription.
Further, the system can provide a warning when suggested actions are not implemented. For example, when the system predicts that a future value of a key performance indicator will be in violation of a business rule and prescribes an action and when new data indicates that the action was not implemented and the key performance indicator will be in violation of the business rule, the system can provide an indication or send a message to a supervisor indicating that the actions were not taken. For example, an indication can be displayed on an interface device, sent via email, sent as a text message, or provided as a voicemail.
Such analytics and prescriptive methods can be implemented by analytics system. In particular, the analytics system may include one or more interfaces, one of which being a configuration script. The configuration script can be used to at least partially configure the analytics system in preparation for analysis and prescription processing.
For example,
In an example, an analytics system includes a preprocessing subsystem, an insight subsystem (also referred to as a modeling subsystem), a prediction subsystem, and a prescription subsystem. For example, as illustrated in
The configuration script 4110 can identify a set of variables including influencers and performance indicators. The identified influencers can include immutable influencers and mutable influencers. Each of the subsystems 4102, 4104, 4106, and 4108 can utilize the identified variables to perform their respective function. In addition, the configuration script 4110 can identify algorithms, models, methods, or processes, as well as parameters, inputs and data useful by such algorithms, models, methods, or processes for a particular subsystem.
In an example, the analytics system 4100 includes a preprocessing subsystem 4102 which accesses raw data sources and formulates a data set useful by other subsystems of the analytics system 4100. For example, the preprocessing subsystem 4102 can access structured data sources 4112 and unstructured data sources 4114. Structured data sources 4112 can include databases, tables, spreadsheets, calendars, delimited data or structured text files. The processing subsystem 4102 can access such structured data sources 4112 and using specified algorithms and methods, parse, clean or otherwise restructure the data 4112 for use by other subsystems within the analytics system 4100.
Further, the preprocessing subsystem 4102 can access unstructured data sources 4114. For example, the unstructured data sources can include narrative text, audio, image or video. A selected unstructured data source can be processed through an interpreter 4116 to provide structured data in a form that other subsystems of the analytics system 4100 can use. For example, an interpreter may be used to sample narrative text from websites or user comments to evaluate user sentiment. In another example, a preprocessing subsystem 4102 can use an interpreter 4116 to determine sentiment based on audio files, such as audio files generated from customer service phone calls. In a further example, an interpreter 4116 can be used to process a video file to analyze human emotion relative to variety of subjects.
In an example, the interpreter 4116 defines a variable or entity, extracts the value of the variable and associates the value with a time. An exemplary interpreter for analyzing narrative texts can include word frequency counting, associating a word frequency value with the date of the narrative writing. In another example, an interpreter for video or photo images may identify a mouth or other facial feature and fit a polynomial to the facial feature, associating the parameters of fit polynomial with a time stamp of the video or photos. In another example, the time to be associated with the fitted polynomial parameters can be a file date, or the interpreter or user can identify a time of year based on the background within the video image or photo.
In order to process data, the preprocessing subsystem 4102 can access the configuration script 4110. The configuration script 4110 can identify variables for which data is to be processed. In particular, the configuration script 4110 can identify a variable, a data source associated with the variable, the type of data source, an algorithm, method, or interpreter to use in analyzing the data source, other parameters associated with the algorithm, method, or interpreter, a format of data to be provided to other subsystems within the analytics system 4100, or any combination thereof. For example, the configuration script 4110 may identify a structured data source 4112, a method to use with the structured data source, the type of data source to be processed, and a variable, such as an influencer or performance indicator, to associate with the data source. The preprocessing subsystem 4102 performs extraction, transfer, and loading (ETL) functionality, including cleaning, removing duplicates, normalizing data, and aggregating the data for use by other subsystems.
In another example, the configuration script 4110 can identify a data source such as an unstructured data source 4114, the nature the data source (e.g., narrative text, audio, image, or video), an interpreter 4116 to process the data source, and parameters associated with the interpreter 4116, as well as a variable to associated with the output from the interpreter.
An insight or modeling subsystem 4104 of the analytics system 4110 can utilize the processed data and formulate a model associating influencers with performance indicators. For example, the insight subsystem 4104 can access data provided by the preprocessing subsystem 4102. In addition, the insight subsystem 4104 can access the configuration script 4110. The configuration script 4110 can provide an identity of variables, such as influencers and performance indicators. In addition, the configuration script 4110 can identify which modeling technique to use in developing a model to associate influencers with performance indicators, as well as parameters associated with the selected modeling technique. For example, the insight subsystem 4104 can be configured to implement a model using a modeling technique such heuristics, regression models, Markov chains, time series models, state space models, Bayesian models, neural networks, or any other appropriate model, or any combination thereof. The configuration script 4110 can select a particular modeling technique to use with a set of data and parameters associated with the selected modeling technique. For example, a neural net modeling technique may be specified in the configuration script 4110 and a number of nodes or node levels to be used in developing a neural net model associated with the selected data. In a further example, the model type can be a genetic algorithm and parameters associated with such a genetic algorithm can include population size or a crossover operator. In an additional example, the model type may be a polynomial fit and the parameter may be an order of the polynomial. Additional parameters that may be associated with modeling can include selecting a training set size or tests set size and specifying how the training set is selected such as randomly or a specified set. In a further example, a k-fold training may be specified as a parameter to the model subsystem.
In another example, more than one model type and associated parameters can be specified in the configuration script, along with selection criteria for selecting a model. For example, several models of the specified model types can be derived from the influencer and indicator data. One of the models can be selected based on selection criteria, such as a measure of accuracy or error.
Once the model is developed by the insight subsystem 4104, predictions about the performance indicators can be made by the prediction subsystem 4106. In particular, the prediction subsystem 4106 may access the model developed by the insight subsystem 4104, as well as data formulated by the processing subsystem 4102. The prediction subsystem 4106 can project values of the associated variables including influencers, such as mutable or immutable influencers, and performance indicators based on a model developed by the insight subsystem 4104.
The prediction subsystem 4106 can also access the configuration script 4110. The configuration script 4110 identifies variables, including the influencers and the performance indicators. In addition, the configuration script 4110 can include parameters useful by the predictions subsystem 4106, such as a time horizon for making projections, time granularity associated with the steps towards the time horizon, and other features or parameters. In particular, the time granularity may identify an increment of time and may be stated in specific time increments, such as a week, a month, quarterly, annually, etc. Alternatively, the length of increment may be consistent throughout the system and the time granularity can be expressed as a number of increments (e.g., 1, 2, or 3). The time horizon can be established as an endpoint to the prediction to be provided to a user, such as in 3 weeks, in 4 months, three quarters from now, or 5 years from now. In particular, the time horizon can be expressed as a number of the granular periods (e.g., 1, 2, 5, or 10). The time granularity and time horizon are not limited by the above examples and can include time periods and increments larger or smaller than the above examples.
Utilizing the prediction system 4106, a prescription subsystem 4108 can provide a suggested course of action based on suggested influencer values at future time periods. For example, when a performance indicator is predicted by the predictions subsystem of 4106 to violate a business criterion or rule, the prescription subsystem 4108 manipulates the future influencer values to determine a pathway for bringing the performance indicator in compliance with a business criteria or business rules. The prescription subsystem 4108 can access the configuration script 4110 to utilize the identified variables, such as influencers and performance indicators. In particular, the configuration script 4110 can identify mutable influencers that may be manipulated by the prescription subsystem 4108 to bring the performance indicator in compliance with business rules or business criteria. Further, the configuration script 4110 can identify an objective function or performance indicator about which to optimize. The configuration script 4110 can also identify an optimization routine and associated parameters to be utilized by the prescription subsystem 4108 for finding a set of future influencer values that provide a desirable course of action to bring the performance indicator in compliance with business rules of business criteria.
The configuration script 4110 can further include business criteria, thresholds, rules, functors, and other elements to configure one or more subsystems, such as the predictions subsystem 4106 or the prescription subsystem 4108. For example, upon developing a prediction, the prediction subsystem 4106 can identify performance indicators that do not conform to business criteria or business rules. For example, the prediction subsystem 4106 can identify those performance indicators that cross a threshold. In another example, the configuration script 4110 can identify a functor placing limits on the rate of change of a particular mutable influencer. In cooperation with the prediction subsystem 4106, the prescription subsystem 4108 can formulate a desired set of future influencer values that conform to the limits placed on the influencer value by the functor identified by the configuration script 4110.
In particular example, such an analytics system 4100 can perform analysis of data and utilizing the configuration script, can process the data through each subsystem to provide a desirable set of user actions as indicated by the prescribed influencer future values. The user actions can be displayed on a display device.
In a further example, the configuration script 4110 can identify other configuration scripts to be incorporated into the configuration script 4110. As such, previously developed configuration scripts that provide a desired function or have been tested individually can be implemented in the configuration script 4110.
The functionality, such as data processing or extraction, transfer and load (ETL), modeling, prediction, or prescription is illustrated as being associated with a particular subsystem or module. Alternatively, the functionality can be split between subsystems or modules or two functions can be associated with the same subsystem or module. As used herein, separate logical modules providing, in combination, a function such as extraction transfer mode (ETL) are discussed a single module. Further, a logical module providing more than one of the above-described functionalities is treated as two separate subsystems or modules or a single logical module encompassing two functional modules or subsystems.
For example,
As illustrated, the preprocessing subsystem 4302 accesses structured data 4312 and unstructured data 4314 and incorporates an interpreter 4316. The aggregation subsystem 4304 performs additional data processing functions, for example, aggregating data having a defined time granularity and determining derived variables based on expression. In combination, the preprocessing subsystem 4302 and the aggregation subsystem 4304 perform the extraction transfer load (ETL) functions useful for an analytic system 4300. As such, the preprocessing subsystem 4302 and the aggregation subsystem 4304 can be treated as a single subsystem or can be treated as two separate subsystem.
A model and predictions subsystem 4306 performs both modeling and prediction functionality and as such, can be a logical subsystem that incorporates two functional subsystem: one for modeling and one for predictions. In such an example, the model and predictions subsystem 4306 can access the configuration script to retrieve both scripting associated with modeling and scripting associated with predictions.
As illustrated in
Based on information provided by the configuration script, data associated with influencers and performance indicators can be prepared, as illustrated at 4204. For example, a preprocessing subsystem can access a configuration script to determine a data source, the nature the data source, algorithms or interpreters to be utilized in accessing the data source, or which variable to associate with data acquired from the data source.
Utilizing the processed data, a model can be derived based on the data, for example, using an insight or modeling subsystem, as illustrated at 4206. In particular, the insight subsystem can access the configuration script to retrieve, identification of influencers and performance indicators, a model type and parameters associated with formulating or developing a model of the selected model type. The insight subsystem can derive the model utilizing the information of the configuration script.
As illustrated at 4208, a set of future influencer values and future performance indicator values can be projected, for example, by a prediction subsystem. The prediction subsystem can access a configuration script to identify influencers and performance indicators. In addition, the predictions subsystem can access the configuration script to retrieve a time horizon and time granularity to be associated with the projected future influencer values and future performance indicator values.
As illustrated at 4210, a set of prescribed actions can be prescribed, for example, by a prescription subsystem. The prescription subsystem can access a configuration script to identify mutable influencers, as well as performance indicators. In addition, the prescription subsystem may access the configuration script to identify an objective function, optimization method, and parameters associated with the optimization method. Further, the prescription module may access the predictions subsystem and iteratively perform predictions based on the prescribed future influencer values.
Once a set of prescribed future influencer values is determined, the prescribed influencer values may be translated into prescribed actions and displayed, as illustrated at 4212. For example, the future influencer values may directly identify user actions to be implemented to maintain the performance indicators in compliance at a future date. Alternatively, the influencer values may be translated through an algorithm into select user actions that can be implemented by a business. Such user actions can be displayed, as illustrated 4212.
In an embodiment, the configuration script can take the form of a domain-specific language (DSL). In an example, the script can be a program. In the example below, the configuration script shares similarity with programming languages, such as C++. However, a configuration scripting syntax can be configured to emulate the syntax of other programming languages or follow a unique syntax.
In an example, the configuration script identifies variables for use by the analytics system. For example, the configuration script can identify variables, such as mutable influencers. In another example, the configuration script can identify immutable influencers, mutable influencers, performance indicators, or a combination thereof. The configuration script can include a section marker, for example, identified with a leading “#” marker. For example, a mutable variable (“material”) may be identified as:
Where the influencer is constrained, such as with a set limit or with a functor, the influencer may be characterized by the constraint.
#mutables
engineering_staff=m*t+b
m>=−1
m<=10
b>=1;
engineering_hours<=1000;
A variable can be a continuous variable, an integer variable, or a categorical variable, among others. As such, a constraint associated with the variable can be expressed in a manner consistent with the variable's nature. In particular, a constraint section can define constraints or business rules associated with variables other than mutable influencers.
//identifies the constrain section
#constraints
//a continuous variable with a constraint
burn_rate<=1000;
//a categorical variable, where !@ is NOT IN
shipping !@ {truck, train};
Such constraints can include functor constraints (constraint functions of time or other variables) having a linear or higher order expression in terms of time or optionally in terms of other variables. As such, a constraint relationship between a variable and time or between two variables can be established. For example, three variables may be constrained so that their sum cannot exceed a fixed value. Further, the constraint section or a separate business rules section may identify thresholds or other boundaries that if crossed by a performance indicator indicate a problem, error, or undesirable condition.
The configuration script can further include sections specific to subsystems within the analytics system, for example, identifying algorithms to be used by the subsystem and specifying parameters associated with the algorithm. In an example, the configuration script can identify a data source, an associated algorithm for processing the data source and the variable to associate with the data source. The data source can be structured or unstructured.
//identifies a data section
#data
//identifies a structured data source, associated variable, and parsing method
data_source_1=“\\data_folder\data_file.txt”
engineering_staff
tab_delimited;
//identifies an unstructured data source, associated variable, associated type,
interpretation method, and a parameter associated with the interpretation method
data_source_2=“\\data_folder\interview.mp3”
customer_sentiment
audio_mp3
sentiment_module_2
p=3;
In another example, the configuration script can identify a model for use by a modeling subsystem or an insight subsystem. For example, the configuration script can include a model section and specify a model algorithm and associated parameters.
//identifies the model section
#model
//identifies the model and associated parameters
nueral_net_module_2
level=3
More than one model can be identified. In addition, selection criteria can be identified for selecting between models for the system or for a particular performance indicator. Exemplary selection criterion can include accuracy or error rates, deviations, R2 factors, or other criterion.
In a further example, the configuration script can specify parameters for a prediction, such as a time horizon or a time granularity. The time granularity can specify a period (e.g., days, weeks, months) or if the period is consistent throughout the system, can specify a number of periods (e.g., 1, 2, and 5). The time horizon can specify the last period (e.g., 5 for the fifth period). Alternatively, the time horizon can specify a specific time. For example, the configuration script can provide a predictions section.
//identifies the prediction section
#prediction
//identifies a time granularity
granularity=weeks;
//identified a time horizon
# at
5; //Weeks #5 (from “now”).
In a further example, the configuration script can provide a section for prescriptions. The prescriptions section can identify an optimization routine, a performance indicator around which to optimize or an objective function, or a time horizon or endpoint.
//identifies a prescriptions section
#prescription
//identifies a performance indicator around which to optimize
profit;
#at
5; //Week #5 (from “now”).
When a time horizon is specified for both the predictions subsystem and prescriptions subsystem, the time horizon specified for the prescriptions subsystem can take precedent during the prescriptions operation. Alternatively, the time horizon specified for the predictions subsystem can take precedent.
In an additional example, the configuration script can incorporate other configuration scripts. For example, previously developed scripts can be incorporated to simplify operations and reuse established scripts.
//file inclusions
#include “other_script.pal”
The analytics system can further include a parser to assist with subsystem access to the items of the configuration script. In an example, the parser can construct objects accessible to the various subsystems.
The analytics system, associated subsystems, configuration script, parser, and data sources can be implemented on one or more computational devices connected through various communications protocols. In particular, access between a subsystem and another subsystem can be facilitated by direct communication or by communication through data storage accessible to both subsystems. Similarly, access from a subsystem to the configuration script can be facilitated by direct access to the script or to data objected parsed from the configuration script.
While a variety of system topologies can be used to implement the above described system, a topology, such as the topology illustrated in
Generally speaking then, entity 2240 can be a business, non-profit, or other type of entity which implements a process. This process can, for example, be a business process which relates to the functionality or performance of the entity. As discussed above, for example, such business processes can comprise the implementation of customer service through a contact or call center, the implementation of transaction services, the management of supply or demand chains or other inventory management, the implementation of field services, the implementation and management of sales pipelines, etc.
No matter the type of processes implemented by the entity 2240 however, it can be useful to measure or otherwise analyze (including predicting, simulating, optimizing, etc.) the performance of such a process utilizing a performance metric, such as a KPI as discussed above. Accordingly, entity 2240 can desire to utilize and monitor these performance metrics related to these processes for a variety of reasons, including improving the performance of such processes, reducing the cost of implementing such processes, controlling the quality of such processes, preempting issues which can occur in the future with respect to these processes, substantially optimizing solutions to future problems and predicatively determine the effect of certain solutions to anticipated future problems, etc.
To that end, performance metric analysis system 2220 can gather data from entity 2240 or a third party data source 2250 to analyze such data to perform analysis on such data and can present an interface such that one or more users at computing devices 2210 can determine what analytics are utilized, the data used for these analytics, view, or affect the results, of such analytics, etc. Embodiments of such interfaces have been discussed previously herein.
More specifically, in one embodiment, performance metric analysis system 2220 can implement a set of analytics comprising at least predictive analytics, root-cause analytics, optimization and what-if simulation. Colloquially speaking, predictive analytics allows users (for example, associated with entity 2240) to identify and quantify problems (including opportunities) related to one or more performance metrics, root-cause analysis allows users to identify, quantify and rank influencers of performance metrics which can cause any upcoming problems, optimization can determine substantially optimum solution to preempt (or benefit from) any determined upcoming problems and what-if simulation allows a user to determine the effect of prescribed solutions on performance metrics.
To implement such analytics, performance metric analysis system 2220 can gather data directly or indirectly related to one or more performance metrics from entity 2240. Entity 2240 can have multiple locations 2240a, 2240n where each entity location 2240a, 2240n can comprise multiple servers or other types of computing devices 2242 which are involved in the implementation of the process by the entity 2240 or the storage of data involved with the implementation of the process. In some instances, entity locations 2240a, 2240n can have computing devices which run according to different operating systems or protocols, or which implement different types of applications or databases in conjunction with the process.
Each entity location 2240a, 2240n can have an associated ETL collector 2260 which is responsible for collecting appropriate data regarding the process or one or more associated performance metrics from various computing devices 2242 utilized in the implementation of the process or used to store data involved with the implementation of the process. ETL collector 2260 can send the data gathered at the corresponding entity location 2240 to the performance metric analysis system 2220 in response to a request from the performance metric analysis system 2220.
Thus, performance metric analysis system 2220 can, based upon one or more schedules, send out requests to each ETL collectors 2260 at each of the entity locations 2240a, 2240n and receive, in response, a set of data corresponding to that performance metric and that entity location 2240a, 2240n collected over a certain time period. This data can be stored in data store 2222. Analytics can then be performed by the performance metric analysis system 2220 using the data gathered from the entity locations 2240a, 2240n. The analytics performed by performance metric analysis system 2220 can be determined, at least in part, by a user's interaction with an interface presented by performance metric analysis system 2220 and the results of the analytic performed can similarly be displayed to a user through the provided interface.
Not all of the various entities depicted in topology 2000 are necessary, or even desired, in embodiments, and that certain of the functionality described with respect to the entities depicted in topology 2000 can be combined into a single entity or eliminated altogether. The topology 2000 is therefore exemplary only and should in no way be taken as imposing any limitations on embodiments herein.
Each of the above disclosed methods can be performed on multiple systems. For example, the methods can include processing data streams from a file system. The file system can be distributed, particularly for large data sets. A method can be partitioned in such a way, that it can perform the operations on a partition or subset of the data. Such processing is particularly useful for unstructured data sources having large file size. The results of such processes can be combined in such a way that the result is identical to the method applied to a single data source being combined of all of the partitioned data.
In different embodiments, any presently-disclosed apparatus (or any presently disclosed computer product including a computer usable medium) can be configured or operative to any presently disclosed method or technique.
A computer program product, includes a computer usable medium having a computer readable program code non-transitorily embodied therein, said computer readable program code adapted to be executed to implement a method as described above. Computational subsystems can be implemented on the same computer or implemented as separate computers. The terms “module” and “subsystem” are used interchangeably herein.
In the present disclosure, certain routines for calculating data or displaying data may be carried out ‘in accordance with’ a certain factor—for example, influencer identifiers may be ordered or selected in accordance with magnitudes of one or more deviations. When a routine is carried out ‘in accordance with’ a certain factor or factors, the routine can also be carried out in accordance with one or more ‘additional factors’ or additional business rules (for example, displayed identifiers may be ordered both according to magnitudes of deviations as well as whether or not the influencer is designated as an ‘external influencer’ or a ‘controllable influencer.’). In the present disclosure, the phrase ‘in accordance with’ (or ‘according to’) should be interpreted as ‘at least in part in accordance with.’
As described above, “controllable influencers,” “actionable influencers,” and “mutable influencers” are analogous terms. In an example, an influencer can be a business input. For example, an influencer can be a measurable business input, such as a business input relating to an action, a business function, or other business relevant data. A key performance indicator can be a business output, such as a measurable indication of performance of a business function.
In a particular example, the system can be used for resource production. Exemplary resource production can include asset production from land based resources or other constrained resources. For example, resource production can extend to mining, drilling, and agriculture, among others. In a particular example, the resource production include oil production.
In oil production, with the value of the end product determined by global commodity economics, the basis of competition for operators in upstream exploration and production is the ability to effectively deploy capital to locate and extract resources more efficiently, effectively, predictably, and safely.
In unconventional resource plays, operational efficiency and effectiveness is diminished by reservoir inconsistencies, and decision-making impaired by high degrees of uncertainty. These challenges manifest themselves in the form of low recovery factors and wide performance variations.
Conventional techniques relying on modeling, assumptions, and estimations have proven inadequate in highly complex unconventional resource plays, and legacy analytic tools and technologies have been unable to keep pace with the explosion of data generated and captured by producers and their ecosystem of service providers.
The proposed system helps operators anticipate and improve wells. The proposed system incorporates data, regardless of source, structure, size, or format, to prescribe actionable recipes for drilling, completing, and producing wells that maximize their economic value at every point over the course of their serviceable lifetimes. The bottom line for operators is improved returns on deployed capital: more oil, more predictably, for less cost.
As exploration and production companies transition from securing acreage to producing it, efficiency and effectiveness matters more than gross production volume. Markets reward producers that are not simply able to produce more hydrocarbons, but recover them cheaper, faster, and more consistently. Avoiding the superfluous or suboptimal deployment of capital is particularly important to smaller independent producers, as maintaining adequate borrowing capacity is existential. The significance of operational efficiency and effectiveness intensifies in volatile or deflating price environments.
Operators face challenges including 1) establishing the repeatable, scalable processes to improve the value of the operators' asset portfolio; 2) decision-making is impaired by reservoir inconsistencies, variability, and high degrees of uncertainty; 3) variability: shale plays are notoriously inconsistent, with a large number of widely variable engineering parameters and geologic properties; 4) complexity: (The interrelationships between and among controllable and uncontrollable variables that influence production and drive well-scale economics are often unclear or unknown. As such, it is difficult to diagnose cause and effect with confidence); 5) uncertainty: values or ranges for a number of critical variables and reservoir parameters are often unknown; and 6) technological limitations and constraints: (Oil and gas producers and their ecosystem of service providers are producing and capturing more data than ever before). These complex, varied, and massive data sets are being generated at an ever-increasing velocity. Any one of these factors—volume, variety, or velocity—can overwhelm the capacity of legacy tools and technologies, to say nothing of all three at once.
Technological and analytical limitations and constraints often lead to operators oversimplifying complex problems. While widespread adoption of models, assumptions, and estimations may have been adequate for conventional reservoirs, this approach has proven inadequate in highly complex unconventional resource plays.
The operator's business problems and their root causes manifest themselves in the following ways:
Planning
Execution
Results
Unable to optimize on a per-well basis, operators look to influence economic returns through cost and process efficiencies, shifting the focus from making money to saving money. However, such approaches are often suboptimal.
The proposed system incorporates data, having a variety of sources, structures, sizes, or formats, to prescribe recipes for drilling, completing, and producing wells that improve economic value over the course of their serviceable lifetimes. The proposed system provides recipes that incorporate location-based physical and geologic characteristics, as well as constraints and objectives and operator-specific asset management strategies.
The end result is compressed learning curves and an improved return on deployed capital: more oil, more predictably, at a lower cost than what is occurring today. For example, results can include increased recovery factors, faster breakeven/payback, higher rate of return, higher asset net present value, accelerated development of the highest return assets, reduced surface footprint, and elimination of marginal or uneconomic wells.
In particular, the proposed system can provide for analysis of field data on an on-going basis. The limitation of traditional analytic tools and methodologies has been an inability to incorporate the breadth of data that generates meaningful results. Legacy analytic tools are simply incapable of incorporating unstructured data—video, images, acoustics, free texts, and such—into their algorithms.
The proposed system incorporates data from many source, in formats—including audio, video, image, text, and numbers—in order to extract insights and generate dynamic prescriptions for more efficient, effective, repeatable, and scalable production.
In particular, the proposed system integrates the data and continually analyzes it together to generate actionable recommendations for changes that produce better results.
Further, the proposed system predicts, prescribes, and adapts. The system generates predictions and prescriptions using a number of analytic techniques and scientific disciplines in combination, including adaptive machine learning, meta-heuristics, operations research, and applied statistics, operating within the context of client-defined business rules.
As a result, the system is able to predict future outcomes and generate actionable recommendations to benefit from the predictions. Because real-world conditions are anything but static—especially true in shale plays—the system can continually incorporate new data to re-predict and re-prescribe, thus automatically improving prediction accuracy and prescribing better decision options.
As illustrated in
The unstructured data can be preprocessed and the streaming data can be preprocessed to form structured data useful in the analysis process. The system can further prepare the structured data by discovering types of data, removing outliers, imputing missing data, normalizing the data, selecting features, extracting, and splitting data sets. The structure data can be used in modeling and meta model training and validation. Resulting models can be used to predict and validate performance of the process being modeled and to prescribe new actions that can be executed, measured and provided to the system.
In a particular example, the unstructured data can include drilling reports, which are narrative text reports that typically incorporate notes by an operator utilizing various acronyms, lingo, and depth information. Often, the drilling reports include multiple acronyms that refer to the same factor. In a particular example, the drilling reports can be applied to a model developed with machine learning to ascertain important events and the associated depth at which those events happen. Such events and their associated depth can be fed through the structured data to the modeling training and validation and be used for prediction and prescription. The machine learned model can include a neural network, a classification model, or a combination thereof. In an example, the classification model can be a heuristic classification model. In another example, the model can include convolutional neural networks, recurrent neural networks, or any combination thereof.
In a particular example, the data is prepared by feature selection, data type conversion, record selection, outlier removal, and missing value imputation. For example, feature selection can include removing identification figures, removing underrepresented features, removing low or zero-variance features, and removing highly correlated features (e.g., having a correlation coefficient of at least 0.5). Data type conversion can include converting categorical string data into numerical data. In another example, record selection can include removing data associated with wells missing a target value (e.g., 180-day cumulative production). Outlier removal can include removing values having 5 standard deviations from a feature mean.
In an example, missing value imputation can include preparing a model to impute production values for days when production is influenced by something other than well performance, such as upstream maintenance issues, shut-ins, weather related issues, among others. In an example, production data is reviewed for the first window during which the well produced for a majority of the time. For example, the window can be a 30-day window, but other window durations can also be envisioned. In such an example, the production data can be reviewed for the first 30-day window in which there are 20 days of production. For days of no or little production, values can be imputed using production values from a combination of days before and after. In a particular example, the production can be imputed from an average of actual production values from 3 days before and 3 days after the no or low productions day. The process can be continued for periods extending beyond the window, such as to 60 days, 90 days, or 180 days, for example.
As illustrated in
Such data can be used to further create synthetic variable data. A synthetic variable is derived from one or more other variable. A synthetic variable can be an algebraic combination of variables, a step function, or a combination thereof. In a particular example, the synthetic variable is derived from a time factor in addition to other factors. For example, a synthetic variable referred to as a proximity depletion variable can be determined based on Euclidean distance between stages of nearby wells, a time difference between completion, and a depletion curve. In particular, the proximity depletion variable can include a step function in either time or distance and be proportional to time, distance, production, or a product, quotient, sum or difference thereof. In another example, a fracking order feature variable can be determined based on fracking end dates of wells proximal to each other and having parallel laterals. In a further example, a synthetic variable can include a fraction hit feature, which quantifies the effect of completing a new infill well in the vicinity of producing wells. In an additional example, a synthetic variable can include a flow feature, which separates the impact of operational policies, such as shut-ins and choke restrictions, to isolate the impact of completion design decisions on production.
Such data can be utilized to create a drilling engine, a completions engine, a production engine, or a combination thereof. In an example, the system can include a plurality of engines, such as a plurality of completion engines. Each completion engine, for example, can be associated with a different geological structure. In another example, each completions engine can be associated with a different formation type. The engines are derived from field specific models associated with a specific basin, reservoir, geological structure or formation. The different engines can include neural networks, regressions, classifications, or other engine types, or a combination thereof.
The completions engine can derive completions parameters from an associated set of variables. The variables include given variables and actionable variables. In an example, the actionable variables can be ranked by influence on the completions parameters. The set of variables can include synthetic variables. For example, the set of variables can include a proximity depletion synthetic variable.
In an example, the completions engine is derived based on machine learning using a machine learning technique. Such as machine learning technique can be automatically selected by the system from a set of machine learning techniques, such as random forest, linear regression, stochastic gradient descent, K-neighbors, Bayesian ridges, or combinations thereof. The completions engine can incorporate a neural network or a regression based on correlations derived from a field specific model.
The system can include two or more completions models, e.g. for different fields. Each completions model has an associated set of variables. The associated set of variable can include different variables than sets of variables associated with other completions models. In another example, the associated set of variables can be ranked differently than the rankings of variables associated with other completions models.
The system can also include drilling engines, production engines, or analysis engines incorporating structures associated with neural networks, regressions, and classifications.
The prescription analytics engine can utilize the engines to prescribed actions taken by an operator or driller, or field management. For example, the prescription analytics engine for a particular well can prescribed a treated lateral length, number of stages, proppant quantity, proppant concentration, a proppant mix, the amount of proppant per gallon, a flow rate of proppant, or a combination thereof, among others.
Further, the prescription analytics engine can include financial projections and optimization can be performed based on a financial projection constraint. For example, design, completion, or operations parameters can be prescribed to provide a desirably high net present value of the well. In another example, design, completion, or operations parameters and operational parameters can be provided to provide high total output. In an additional example, design, completion, or operational parameters can be provided for a well having a constraint completion cost, improving the net present value given the completion cost constraint. In other examples, the prescription analytics can further incorporate financials for a field reservoir as a whole, providing for a number of wells, the speed at which new wells are drilled, optimizing for total output field or individual well production, and total net present value of the reservoir.
The output of the prescription can be displayed to the user, for example, as illustrated in
In addition, the system can display the projected production forecasts based on the present parameters and the improved values, as well as financial projections based on the current values and the improved values. As such, the system can provide both projected production values based on the prescribed values and current values, as well as the financial projections such as the present value, rate of return, and payback period.
In a further example, the system can associate wells drilled within the field to determine the influence of a given well on other wells, assist with predicting the performance of the well given its associated wells, and further predict field performance based on the behavior of wells within the system and the influence of wells on other associated wells. For example,
Further, the system can prescribe subsequent wells and predict the influence of such wells on future production of adjacent wells and the field as a whole. For example, as illustrated in
As illustrated in
As illustrated in
In another example, production and configuration of a well can be influenced by factors other than those specific to a particular well. For example, mechanical failures, maintenance schedules, weather, other logistics influences, or any combination thereof, can influence the production of a well and provide little indication as to the production capabilities of the well. As such, the actual production from a well can be characterized by high variability or periods of no production, as illustrated in
In particular, it has been found that synthetic variables relating to fracking order, production or flow capability, time and distance synthetic variables relating to proximity of producing wells and other similar synthetic variables correlate more accurately with production and well performance than traditional variables. Accordingly, field models incorporating such synthetic variables, derived from information about the field, provide more accurate projections about well capabilities and performance.
In a particular example, the synthetic variable is derived from a time factor in addition to other factors. For example, a synthetic variable referred to as a proximity depletion variable can be determined based on Euclidean distance between stages of nearby wells, a time difference between completion, and a depletion curve. In another example, a fracking order feature variable can be determined based on fracking end dates of wells proximal to each other and having parallel laterals. In a further example, a synthetic variable can include a fraction hit feature, which quantifies the effect of completing a new infill well in the vicinity of producing wells. In an additional example, a synthetic variable can include a flow feature, which separates the impact of operational policies, such as shut-ins and choke restrictions, to isolate the impact of completion design decisions on production.
In a particular example, as illustrated in
As illustrated in 5304, data can be received while drilling the well. Such data can include drilling reports, pressure data, and log data, among other data. In response to the received data, the prescription system, utilizing a drilling analysis engine can adjust the design, as illustrated at 5306.
In addition, the prescription engine can utilize a completion analysis engine to prescribed completion parameters, as illustrated at 5308. Exemplary completion parameters includes treated lateral length, a number of stages, the location of stages or a treated lateral length per stage, clusters (number and spacing), perforation parameters including type, configuration, number, direction, or phasing, and fracking parameters, such as proppant type, proppant amount, fluid type, volume, pressure, rates, duration, or initial or final frac gradients, or a combination thereof.
As illustrated at 5310, the well can produce, and data resulting from such production can be utilized by the system to improve the drilling analysis engine or completion analysis engine and improve prescriptions resulting from the application of the engines.
Such a method can benefit from a field specific model incorporating geological factors, production history and well locations, particularly incorporating synthetic variables. In particular, the field specific model is not a finite element or finite difference model. For example, as illustrated in
As illustrated at 5404, a set of synthetic variables can be derived from the field information. Such synthetic variables can include a proximity depletion variable, a fracking order feature variable, a fraction hit feature, a flow feature, or a combination thereof.
As illustrated at 5406, the field specific model can be built based on the field information and the synthetic variables. Such a field model can be used by analysis engines to generate prescriptions, such as drilling recipes, completion recipes, postproduction maintenance, treatment, and configuration recipes, as well as predict production from the wells.
One particular source of field information is the drill reports (unstructured text data). The drill reports include a large number of entries of narrative text with incorporating abbreviations and operator notes having limited syntax and grammar. For a given well, the drill reports can incorporate thousands of entries. The entries in a single drill report can be provided by several operators, each using different abbreviations to address the same factor. In an exemplary method, illustrated in
Once the analysis engine is trained, a new drill report can be received, as illustrated at 5506, and the drill report can be processed using the trained analysis engine to detect drill information and events, as illustrated at 5508. For example, the drill information can include drilling parameters associated with depth, such as spin rates, weight or pressure applied to a drill, mudflow parameters, or other drill information associated depth. Further, drill events such as string events (pulling or inserting the drill string), repair issues (e.g., drill bit damage, pump damage), mud loss, or other events that occurred during drilling can be identified along with an associated depth. The identified drill events are provided as structured data for use in the field specific model. Such drill information and events can be applied to the field specific model for future use in determining drill recipes. Alternatively, such information can be used while drilling a particular well to adjust drill recipes as events occur.
For example, as illustrated in
Using a drill analysis engine and the field specific model, a drill recipe can be prescribed, as illustrated at 5604. Exemplary drill recipes include a number of segments, location of such segments, drilling spin rates, weights, mudflow parameters, and other factors relating to the drilling of the well.
As illustrated at 5606, drilling can be initiated in accordance with the drill recipe. For example, drilling can proceed using the established segments and segment locations, as well as spin rates, weights, mudflows, other factors, or a combination thereof.
The system can detect a drill event, as illustrated at 5608. Such events can be detected, for example, by analyzing drill reports. In another example, an operator can directly enter a drill event into the system. Drill events can include deviations or changes in the drilling parameters and can include unexpected events, such as mechanical issues, mud loss, string events, drill bit failure, or other unexpected events.
Based on the detected drill events, the system can prescribe an adjusted drill recipe, as illustrated at 5610. For example, the system can prescribe a drill recipe having a different number of segments or locating segments at different positions to adjust the recipe given the nature of the drill events. In another example, the system can adjust spin rates or weights applied to the drill bit or can adjust mud parameters to suit conditions detected while drilling. As illustrated at 5612, drilling can proceed using the adjusted drill recipe.
Such an approach can be used to limit lost drilling time, the use of resources, such as mud, equipment wear, and ultimately cost associated with drilling a well.
A system to perform the methods described herein can include a field specific model and engines derived from such a field specific model, such as a report analysis engine, a drilling analysis engine, a completion analysis engine, a production analysis engine, which can each be utilized by a prescription engine to achieve an objective. As illustrated in
The system can further includes various engines derived from or utilizing the field specific model 5708. Such engines can be implemented as a single unit or can be implemented separately to provide the desired functionality. For example, the system can include a report analysis engine 5710 trained to analyze drill reports, such as historical drill reports or current drill reports. Such a report analysis engine 5710 can provide feedback to further enhance the field specific model 5708 or to provide information useful by other engines in determining parameters and recipes to be used on a given well or throughout a given field. The report analysis engine 5710 can be trained as described above and can incorporated structures, such as a neural network or classification.
In another example, the system 5700 can include a drill analysis engine 5712. In an example, the drill analysis engine 5712 can provide drill recipes associated with a proposed well or can modify a drill recipe as additional information is available, such as through drill events. The drill analysis engine 5712 can be trained as described above and can incorporated structures, such as a neural network or regression.
In an additional example, the system can include a completion analysis engine 5714, which can be used to determine recipes for completing a well. In an example, the completion analysis engine 5714 can be used to determine when additional treatments can be performed on a well, such as additional fracking. The completion analysis engine 5714 can be trained as described above and can incorporated structures, such as a neural network or regression.
In further example, the system 5700 can include a production analysis engine 5716, which can be used to analyze the production, determining a maintenance schedule or maintenance recipe, predict equipment failure, schedule routine maintenance, suggest the installation of artificial lift, suggest implementation of enhanced recovery, and a predicted time or date for maintenance, treatment, lift, or enhanced recovery, as well as other post completion factors associated with producing fluid from a well. The production analysis engine 5716 can be trained as described above and can incorporated structures, such as a neural network, regression, or classification.
For example, the system can prescribe a completion recipe. As illustrated in
As illustrated at 5804, the system can prescribe a completion recipe, for example, using a position analysis engine applied to the field specific model. In an example, completion recipe includes a number of stages, perforations parameters, including number, direction, and type, treated lateral length, fracking parameters, such as proppant type, concentration, and amounts, pressure, rates, duration, gradients, and fluid type and volume.
As illustrated 5806, the well can be completed in accordance with the completion recipe.
Following completion, cumulative production and maintenance can be associated with a well. As illustrated in
Based on such information as well as the field specific model that incorporates production information about other wells within the field, a maintenance schedule can be projected, as illustrated at 5904. The maintenance schedule can incorporate factors such as the desirability to periodically shut-in a well, rework the well, treat the well at a future date, install artificial lift technology at a future date, implement enhanced recovery at a future date, or other factors that influence the cumulative production from the well. Reworking can include drilling additional segments, blocking segments, recompleting, or a combination thereof. A maintenance schedule can also predict failure of equipment associated with the well, such as transfer pumps, sensors, power supplies, or containers.
As illustrated at 5906, the maintenance schedule can be implemented. For example, a well can be treated such as fracking the well at a date proposed by the system. In another example, the well can be shut-in for a period of time or periodically for a given duration as proposed by the system. In another example, the well can be completely reworked, changing the completion parameters based on the proposed reworking provided by the production analysis engine. In a further example, the production analysis engine can predict a date at which an artificial lift mechanism can be installed, as well as a type of lift mechanism to be installed to improve production from the well. Exemplary artificial lift parameters include artificial lift types which includes hydraulic lift, electric submersible pump, gas lift, rod lift, or any combination thereof.
Further, the method 5900 can be applied to the field or applied to a plurality of wells to determine when implementing enhanced recovery at the field or within the plurality of wells is advantageous. Enhanced recovery can include injecting fluids such as water or gas, or injecting surfactants or carbon dioxide to drive production fluids from the reservoir.
For example, as illustrated in
Based on projected production changes, the system can prescribe a maintenance schedule that, for example, includes maintaining equipment, installing artificial lift, reworking the well, or periodically treating a well. For example, as illustrated at 6006, the well can be treated in response to the projected production changes. For example, the well can be fracked at a future date proximal to the proposed fracking date to realize improve production from the well. As illustrated at 6008, the equipment associated with the well, such as transfer pumps, containers, sensors, power supplies, or other equipment, can be maintained to prevent equipment failures predicted by the production analysis engine. In a further example, artificial lift can be installed in accordance with a recipe provided by the production analysis engine, as illustrated at 6010. For example the artificial lift recipe can include a proposed date for providing artificial lift, a type of artificial lift, and other parameters associated with the operating of the artificial lift. In a particular example, artificial lift can be installed within a six-month period of the proposed date for installing artificial lift such as within a three-month period.
The system can further project when reworking a well improves production, as illustrated at 6012. For example, the production analysis engine can project a date at which reworking the well improves cumulative production, for example, accessing a completion engine to propose different completion parameters, such as number of stages, perforations, perforation types, fracking parameters, or other completion characteristics. In such a manner, the production analysis engine can project well production from a well, as well as anticipated future costs.
The system can further assist with selecting locations for additional wells. For example, as illustrated in
As illustrated at 6104, the production changes can be projected based on the proposed location. The proposed location can include a surface location, total vertical depth, azimuth or dip/inclination, or any combination thereof.
Production changes can include the effect of production on adjacent wells, such as a decrease in production from adjacent wells in response to drilling a new well. As illustrated at 6106, the proposed location can be selected, for example, based on a location that provides an improved production from the field. Such improved production can result from the new production derived from the new well minus the loss of production from other adjacent wells.
The system can project a drilling recipe, as illustrated at 6108. The drilling recipe can prescribe parameters and factors, such as a number of segments and segment locations, drilling parameters and mudflow parameters, among others.
The system can also project a completion recipe, as illustrated at 6110. The completion recipe can, for example, include a number of stages, number and type and direction perforations, treatment options, such as fracking parameters, or any combination thereof.
The well can be drilled and completed at the proposed location, as illustrated at 6112, in accordance with the drilling recipe and completion recipe. Optionally, the system can provide feedback and adjust the drilling recipe and completion recipe in response to drilling events or other factors experienced while preparing the well.
Such methods can lead to improved overall field management, including improved production from the field, as well as reducing costs associated with maintaining the field. For example, as illustrated in
In addition, the system can project production improvements based on proposed new wells, as illustrated at 6204. For example, as additional wells are added based on projected drill recipes and completion recipes, the wells can provide additional production, while limiting a loss in production from adjacent wells. As such, the system can determine a set of proposed locations and the projected production from drilling wells at the proposed locations or project the effect on total field production based on drilling at the proposed locations. The projected improvements in production from existing wells and improvements based on the drilling proposed new wells can be iteratively performed, leading to the projected field production, as illustrated at 6206. For example, the system can project a field production that results from the implementation of maintenance programs for existing wells in addition to the drilling of new wells.
As above, the system can project well maintenance schedules, as illustrated 6208. Such maintenance schedules can have an influence on both the field production, as well as costs associated with producing from the field. The maintenance schedules can include shut-in schedules, artificial lift installation, equipment types, enhanced recovery or combinations thereof.
Based on the above values, the system can project a production value, as illustrated 6210. Such production value can be used to estimate acreage valuation, as illustrated at 6212. For example, based on available improve production relative to current projected production, the system can estimate a valuation of acreage, which provides an indication to a buyer, seller, or leaser of such acreage regarding whether the proposed pricing of such acreage is high or low. Such factors can be influenced by the future market value of production fluids, such as oil or gas, as well as other economic factors, such as inflation, interest rates, depreciation, and multiples or ratios.
In a first aspect, a method for drilling a well includes prescribing a drill recipe with a drill analysis engine based on a field-specific model, the drill recipe identifying prescribed segments, mud flow parameters, and drill parameters, each prescribed segment of the prescribed segments including a start depth; initiating drilling of the well based on the drill recipe; receiving a drill log in narrative text format; detecting a drill event inconsistent with the drill recipe by analyzing the drill log with a log analysis engine; prescribing an adjusted drill recipe with the drill analysis engine based on the field-specific model in response to the drill event, the adjusted drill recipe including adjusted prescribed segments; and drilling the well based on the adjusted drill recipe.
In an example of the first aspect, the mud flow parameters include depth specific mud flow parameters. For example, the mud flow parameters include mud flow rates. In another example, the mud flow parameters include mud viscosity.
In another example of the first aspect or the above examples, the drill parameters include weight.
In a further example of the first aspect or the above examples, the drill parameters include spin rate.
In an additional example of the first aspect or the above examples, the drill parameters are depth specific drill parameters.
In another example of the first aspect or the above examples, the drill event includes a string event.
In a further example of the first aspect or the above examples, the drill event includes a mud loss event.
In an additional example of the first aspect or the above examples, the drill event includes a depth specific drill rate.
In another example of the first aspect or the above examples, the drill event includes a deviation in drill parameters from the prescribed drill recipe.
In a further example of the first aspect or the above examples, the drill event includes an associated depth.
In an additional example of the first aspect or the above examples, the adjusted drill recipe includes adjusted drill parameters.
In another example of the first aspect or the above examples, the adjusted drill recipe includes adjusted mud flow rates.
In a further example of the first aspect or the above examples, the log analysis engine is a machine learned engine. For example, the machine learned engine includes a neural network model or a classification model.
In an additional example of the first aspect or the above examples, the field specific model includes a synthetic proximity depletion variable. For example, the synthetic proximity depletion variable is derived from Euclidean distance between two wells and associated depletion curves.
In another example of the first aspect or the above examples, prescribing with the drill analysis engine further includes determining a regression model based on a correlation between drill recipe variables, geological variables and objectives using the drill analysis engine and based on the field specific data model.
In a further example of the first aspect or the above examples, prescribing with the drill analysis engine further includes applying a neural network drill analysis engine receiving drill recipe variables, geological variables and objectives based on the field specific data model.
In a second aspect, a method for drilling a well includes prescribing a drill recipe using a drill analysis engine based on a field-specific model, the drill recipe identifying prescribed segments, each prescribed segment of the prescribed segments including a start depth; initiating drilling of the well based on the drill recipe; detecting a drill event inconsistent with the drill recipe; prescribing an adjusted drill recipe using the drill analysis engine based on the field-specific model in response to the drill event, the adjusted drill recipe including adjusted prescribed segments; and drilling the well based on the adjusted drill recipe.
In an example of the second aspect, the method further includes receiving a drill log in narrative text format, wherein detecting includes analyzing the drill log with a log analysis engine. For example, the log analysis engine is a machine learned engine.
In an example, the machine learned engine includes a neural network model or a classification model.
In another example of the second aspect or the above examples, the drill recipe further includes mud flow parameters and drill parameters. For example, the mud flow parameters include depth specific mud flow parameters. In an example, the mud flow parameters include mud flow rates. In a further example, the mud flow parameters include mud viscosity. In an additional example, the drill parameters include weight. In another example, the drill parameters include spin rate. In a further example, the drill parameters are depth specific drill parameters.
In a further example of the second aspect or the above examples, the drill event includes a string event.
In an additional example of the second aspect or the above examples, the drill event includes a mud loss event.
In another example of the second aspect or the above examples, the drill event includes a deviation in drill parameters from the prescribed drill recipe.
In a further example of the second aspect or the above examples, the drill event includes an associated depth.
In an additional example of the second aspect or the above examples, the adjusted drill recipe includes adjusted depth specific drill parameters.
In another example of the second aspect or the above examples, the adjusted drill recipe includes adjusted mud flow rates.
In a further example of the second aspect or the above examples, prescribing includes prescribing using a neural network or a regression based on a correlation determined from the field specific model.
In an additional example of the second aspect or the above examples, the field specific model includes a synthetic proximity depletion variable.
In another example of the second aspect or the above examples, the synthetic proximity depletion variable is derived from Euclidean distance between two wells and associated depletion curves.
In a third aspect, a system includes a field-specific model; a log analysis engine; a drill analysis engine; an interface; and computational circuitry in communication with the field-specific model, the log analysis engine, the drill analysis engine, and the interface. The computational circuitry to prescribe a drill recipe using the drill analysis engine based on the field-specific model, the drill recipe identifying prescribed segments, mud flow parameters, and drill parameters, each prescribed segment of the prescribed segments including an associated depth; receive a drill log in narrative text format via the interface; detect a drill event inconsistent with the drill recipe by analyzing the drill log with the log analysis engine; and prescribe an adjusted drill recipe using the drill analysis engine based on the field-specific model in response to the drill event, the adjusted drill recipe including adjusted prescribed segments.
In an example of the third aspect, the mud flow parameters include depth specific mud flow parameters. For example, the mud flow parameters include mud flow rates.
In another example of the third aspect and the above examples, the drill parameters include weight.
In a further example of the third aspect and the above examples, the drill parameters include spin rate.
In an additional example of the third aspect and the above examples, the drill parameters are depth specific drill parameters.
In another example of the third aspect and the above examples, the drill event includes a string event.
In a further example of the third aspect and the above examples, the drill event includes a mud loss event.
In an additional example of the third aspect and the above examples, the drill event includes a drill rate.
In another example of the third aspect and the above examples, the drill event includes a deviation in drill parameters from the prescribed drill recipe.
In a further example of the third aspect and the above examples, the drill event includes an associated depth.
In an additional example of the third aspect and the above examples, the adjusted drill recipe includes adjusted drill parameters.
In another example of the third aspect and the above examples, the adjusted drill recipe includes adjusted mud flow rates.
In a further example of the third aspect and the above examples, the log analysis engine is a machine learned engine. For example, the machine learned engine includes a neural network model or a classification model.
In an additional example of the third aspect and the above examples, the field specific model includes a synthetic proximity depletion variable. For example, the synthetic distance/time variable is derived from Euclidean distance between two wells and associated depletion curves.
In another example of the third aspect and the above examples, prescribing with the drill analysis engine further includes determining a correlation between drill recipe variables, geological variables and objectives using the drill analysis engine and based on the field specific data model.
In a further example of the third aspect and the above examples, prescribing with the drill analysis engine further includes applying a neural network drill analysis engine receiving drill recipe variables, geological variables and objectives based on the field specific data model.
In an additional example of the third aspect and the above examples, the method further includes a drilling rig configured to drill a well in accordance with the drill recipe.
In a fourth aspect, a method for determining a drill event includes receiving a set of historic drill reports with annotations, the historic drill reports including a plurality of entries including multiple acronyms relating to a single drilling factor, a set of entries of the plurality of entries indicating an associated depth; training a report analysis engine utilizing the historic drill reports and annotations; receiving a drill report associated with a well; and determining a drill event and associated depth utilizing the report analysis engine applied to the drill report.
In an example of the fourth aspect, the drill event includes a mud loss event.
In another example of the fourth aspect and the above examples, the drill event includes a string event.
In a further example of the fourth aspect and the above examples, the drill event includes a depth specific drill rate.
In an additional example of the fourth aspect and the above examples, the drill event includes a deviation in drill parameters from the prescribed drill recipe.
In another example of the fourth aspect and the above examples, the drill event includes an associated depth.
In a further example of the fourth aspect and the above examples, the report analysis engine includes a neural network.
In an additional example of the fourth aspect and the above examples, the report analysis engine includes a classification model.
In another example of the fourth aspect and the above examples, the historic drill reports are unstructured data in the form of text.
In an additional example of the fourth aspect and the above examples, the method further includes incorporating the drill event into a field specific model.
In another example of the fourth aspect and the above examples, the method further includes determining an adjusted drilling parameters based on the drill event using a drilling analysis engine.
In a fifth aspect, a method for determining a drill event includes receiving a set of historic drill reports with annotations, the historic drill reports being unstructured data in the form of text, the historic drill reports including a plurality of entries including multiple acronyms relating to a single drilling factor, a set of entries of the plurality of entries indicating an associated depth; training a report analysis engine utilizing the historic drill reports and annotations; receiving a drill report associated with a well; determining a drill event and associated depth utilizing the report analysis engine applied to the drill report; and determining an adjusted drilling parameters based on the drill event using a drilling analysis engine.
In an example of the fifth aspect, the drill event includes a mud loss event.
In another example of the fifth aspect and the above examples, the drill event includes a string event.
In an additional example of the fifth aspect and the above examples, the drill event includes a depth specific drill rate.
In another example of the fifth aspect and the above examples, the drill event includes a deviation in drill parameters from the prescribed drill recipe.
In a further example of the fifth aspect and the above examples, the drill event includes an associated depth.
In an additional example of the fifth aspect and the above examples, the report analysis engine includes a neural network.
In another example of the fifth aspect and the above examples, the report analysis engine includes a classification model.
In an additional example of the fifth aspect and the above examples, the method further includes incorporating the drill event into a field specific model.
In a sixth aspect, a method of drilling a well includes receiving depth specific drill parameters associated with drilling wells within a field; receiving drilling report entries associated with drilling the wells within the field; applying a report analysis engine to the drilling report entries to determine a drilling event; determining a field-specific drilling model utilizing the depth specific drill parameters and drilling event; and prescribing a drilling recipe using a drilling analysis engine applied to the field-specific drilling model; and drilling the well in accordance with the drilling recipe.
In an example of the sixth aspect, the method further includes receiving geological parameters associated with the field, wherein determining the field-specific drilling model utilizes the geological parameters.
In another example of the sixth aspect and the above examples, the drilling recipe includes a number of segments and associated depths.
In a further example of the sixth aspect and the above examples, the drilling recipe includes depth-specific drilling parameters. For example, the depth-specific drilling parameters include spin rate and weight.
In an additional example of the sixth aspect and the above examples, the method further includes receiving mud flow parameters, wherein determining the field-specific drilling model includes determining the field-specific drilling model utilizing the mud flow parameters. For example, the mud flow parameters include depth-specific mud flow rates and viscosity.
In another example of the sixth aspect and the above examples, the drilling event includes associated depth.
In a further example of the sixth aspect and the above examples, the drilling event includes a mud loss event.
In an additional example of the sixth aspect and the above examples, the drilling event includes a drill bit event.
In a seventh aspect, a method for drilling a well includes receiving drilling report entries associated with drilling the wells within a field; applying a report analysis engine to the drilling report entries to determine a drilling event and depth-specific drilling parameters; determining a field-specific drilling model utilizing the depth-specific drill parameters and the drilling event; prescribing a drilling recipe using a drilling analysis engine applied to the field-specific drilling model; and drilling the well in accordance with the drilling recipe.
In an example of the seventh aspect, the method further includes receiving geological parameters associated with the field, wherein determining the field-specific drilling model utilizes the geological parameters.
In another example of the seventh aspect and the above examples, the drilling recipe includes a number of segments and associated depths.
In a further example of the seventh aspect and the above examples, the drilling recipe includes depth-specific drilling parameters. For example, the depth-specific drilling parameters include spin rate and weight.
In an additional example of the seventh aspect and the above examples, the method further includes receiving mud flow parameters, wherein determining the field-specific drilling model includes determining the field-specific drilling model utilizing the mud flow parameters. For example, the mud flow parameters include depth-specific mud flow rates and viscosity.
In a further example of the seventh aspect and the above examples, the drilling event includes associated depth.
In an additional example of the seventh aspect and the above examples, the drilling event includes a mud loss event.
In another example of the seventh aspect and the above examples, the drilling event includes a drill bit event.
In an eighth aspect, a method for completing a well includes receiving completion parameters associated with wells within a field, the completion parameters including casing parameters, perforation parameters, and fracking parameters; determining a field-specific model utilizing the completion parameters; and prescribing a completion recipe using a completion analysis engine applied to the field-specific model, the completion recipe including prescribed perforation parameters and prescribed fracking parameters, the completion analysis engine including a neural network derived from the field-specific model or a correlation of features in the field-specific model; and completing the well in accordance with the completion recipe including performing perforation in accordance with the perforation parameters and fracking in accordance with the fracking parameters.
In an example of the eighth aspect, the method further includes receiving geological parameters associated with the field, wherein determining the field-specific model utilizes the geological parameters.
In another example of the eighth aspect and the above examples, the perforation parameters include location, number of perforations, or any combination thereof.
In a further example of the eighth aspect and the above examples, the fracking parameters include pressure, proppant composition, proppant amount, flow rates, or a combination thereof.
In an additional example of the eighth aspect and the above examples, the field-specific model incorporates a proximity depletion synthetic variable derived from the distance to adjacent wells from the well and the time of production of the adjacent wells.
In a ninth aspect, a method for completing a well includes receiving completion parameters associated with wells within a field; determining a field-specific model utilizing the completion parameters; and prescribing a completion recipe for the using a location of the well and a completion analysis engine applied to the field-specific model; and completing the well in accordance with the completion recipe.
In an example of the ninth aspect, the method further includes receiving geological parameters associated with the field, wherein determining the field-specific model utilizes the geological parameters.
In another example of the ninth aspect and the above examples, the completion recipe includes casing parameters. For example, the casing parameters include cement parameters.
In a further example of the ninth aspect and the above examples, the completion recipe includes perforation parameters. For example, the perforation parameters include location. In another example, the perforation parameters include number of perforations.
In an additional example of the ninth aspect and the above examples, the completion recipe includes fracking parameters. For example, the fracking parameters include pressure. In another example, the fracking parameters include proppant amount. In an additional example, the fracking parameters include proppant composition. In a further example, the fracking parameters include flow rate.
In another example of the ninth aspect and the above examples, the field-specific model incorporates a proximity depletion synthetic variable derived from the distance to adjacent wells from the well and the time of production of the adjacent wells.
In a further example of the ninth aspect and the above examples, the completion analysis engine includes a neural network.
In an additional example of the ninth aspect and the above examples, the completion analysis engine includes a regression based on a correlation associating features of the field-specific model.
In a tenth aspect, a method for completing a well includes receiving completion parameters associated with a well within a field; projecting a production of the well based on the completion parameters using a completion engine applied to a field-specific model; prescribing proposed completion parameters for the well to comply with a production objective using the completion engine applied to the field-specific model; projecting a proposed production based on the proposed completion parameters using the completion engine applied to the field-specific model; and recompleting the well in accordance with the proposed completion parameters.
In an example of the tenth aspect, the method further includes receiving a location of the well, wherein projecting and prescribing are based on the location. For example, the location includes a horizontal location within the geological structure.
In another example of the tenth aspect and the above examples, the method further includes receiving geological parameters associated with the field, wherein projecting and prescribing are based on the geological parameters.
In a further example of the tenth aspect and the above examples, the completion parameters include casing parameters.
In an additional example of the tenth aspect and the above examples, the completion parameters include identification of stages.
In another example of the tenth aspect and the above examples, the completion parameters include perforation parameters. For example, the perforation parameters include location. In another example, the perforation parameters include number of perforations.
In a further example of the tenth aspect and the above examples, the completion parameters include fracking parameters. For example, the fracking parameters include pressure. In another example, the fracking parameters include proppant amount. In a further example, the fracking parameters include proppant composition. In an additional example, the fracking parameters include flow rate.
In an additional example of the tenth aspect and the above examples, the field-specific model incorporates a proximity depletion synthetic variable derived from the distance to adjacent wells from the well and the time of production of the adjacent wells.
In another example of the tenth aspect and the above examples, the completion engine includes a neural network.
In a further example of the tenth aspect and the above examples, the completion analysis engine includes a regression based on a correlation associating features of the field-specific model.
In an additional example of the tenth aspect and the above examples, projecting production include projecting cumulative production.
In another example of the tenth aspect and the above examples, the method further includes projecting a production of an adjacent well proximal to the well.
In a further example of the tenth aspect and the above examples, the method further includes comparing a recompletion cost to benefits associated with the proposed production.
In an eleventh aspect, a method for maintaining a well includes receiving production information associated with wells within a field; deriving a field specific model from the production information; receiving initial production information associated with the well; projecting a maintenance schedule associated with the well using a production analysis engine applied to the field specific model, the maintenance schedule including a maintenance event and an associated date; and implementing the maintenance schedule on the well.
In an example of the eleventh aspect, the maintenance event includes fracking. For example, the projected maintenance schedule includes fracking parameters. In an example, the fracking parameters include pressure. In another example, the fracking parameters include proppant amount. In an additional example, the fracking parameters include proppant composition. In a further example, the fracking parameters include flow rate.
In another example of the eleventh aspect and the above examples, the maintenance event includes reworking. For example, the projected maintenance schedule includes projected completion parameters for use during reworking.
In a further example of the eleventh aspect and the above examples, the maintenance schedule includes shut-in parameters. For example, the projected maintenance schedule includes a time and a duration of a shut-in.
In an additional example of the eleventh aspect and the above examples, the production analysis engine includes a neural network derived from the field specific model.
In another example of the eleventh aspect and the above examples, the production analysis engine include a regression based on a correlation associating features of the field-specific model.
In a twelfth aspect, a method for maintaining a well includes receiving production information associated with wells within a field; deriving a field specific model from the production information; receiving production information associated with the well; projecting production changes associated with fracking the well at a projected date, the projecting using a production analysis engine applied to the field specific model, the projecting including determining a set of fracking parameters; and fracking the well in accordance with the fracking parameters.
In an example of the twelfth aspect, the fracking parameters include pressure.
In another example of the twelfth aspect and the above examples, the fracking parameters include proppant amount.
In a further example of the twelfth aspect and the above examples, the fracking parameters include proppant composition.
In an additional example of the twelfth aspect and the above examples, the fracking parameters include flow rate.
In another example of the twelfth aspect and the above examples, the production analysis engine includes a neural network derived from the field specific model.
In a further example of the twelfth aspect and the above examples, the production analysis engine include a correlation associating features of the field-specific model.
In a thirteenth aspect, a method for producing a well includes receiving production information associated with wells within a field; deriving a field specific model from the production information; receiving production information associated with the well; projecting production changes associated with installing artificial lift at the well at a projected date, the projecting using a production analysis engine applied to the field specific model, the projecting including determining a set of artificial lift parameters; and installing the artificial lift at the well in accordance with the artificial lift parameters.
In an example of the thirteenth aspect, the artificial lift parameters include an artificial lift type. For example, the artificial lift type includes a hydraulic pumping system. In another example, the artificial lift type includes an electric submersible pump. In an additional example, the artificial lift type includes a gas lift system. In another example, the artificial lift type includes a rod lift system.
In another example of the thirteenth aspect and the above examples, installing includes installing within 6 months of the projected date. For example, installing includes installing within 3 months of the projected date.
In a further example of the thirteenth aspect and the above examples, the production analysis engine includes a neural network, a regression, or a classification derived from the field specific model.
In an additional example of the thirteenth aspect and the above examples, the production analysis engine include a correlation associating features of the field-specific model.
In another example of the thirteenth aspect and the above examples, the method further includes projecting a difference in revenue.
In a fourteenth aspect, a method for maintaining equipment associated with a well includes receiving production and maintenance information associated with wells within a field; deriving a field specific model from the production and maintenance information; receiving production information and equipment information associated with the well; projecting a maintenance event associated with the equipment associated with the well and an associated projected date, the projecting using a production analysis engine applied to the field specific model; and performing preventative maintenance on the equipment associated with the well prior to the associated projected date.
In an example of the fourteenth aspect, the maintenance event includes a failure of artificial lift equipment.
In another example of the fourteenth aspect and the above examples, the maintenance event includes a failure of a transfer pump.
In a further example of the fourteenth aspect and the above examples, the maintenance event includes a failure of a sensor.
In an additional example of the fourteenth aspect and the above examples, the maintenance event includes a failure of a holding tank.
In another example of the fourteenth aspect and the above examples, the production analysis engine includes a neural network derived from the field specific model.
In a further example of the fourteenth aspect and the above examples, the production analysis engine includes a regression based on a correlation associating features of the field-specific model.
In an additional example of the fourteenth aspect and the above examples, the method further includes projecting a difference in revenue.
In another example of the fourteenth aspect and the above examples, the method further includes projecting field maintenance costs.
In a fifteenth aspect, a method of producing fluids from a geological structure includes receiving field information associated with producing wells of a field; deriving a field specific model based on the field information, the field specific model including a proximity depletion synthetic variable and a fraction hit synthetic variable; identifying a proposed location based on the application of field management engine to the field specific model, the field management engine projecting a decrease in production from wells proximal to the location and projecting an improvement in a production objective; and drilling a well at the proposed location.
In an example of the fifteenth aspect, the field information includes production values and well locations.
In another example of the fifteenth aspect and the above examples, the well location includes horizontal placement.
In a further example of the fifteenth aspect and the above examples, the field information includes geological information.
In an additional example of the fifteenth aspect and the above examples, the field specific model further includes a fracking order synthetic variable.
In another example of the fifteenth aspect and the above examples, the field management engine includes a neural network derived from the field specific model.
In a further example of the fifteenth aspect and the above examples, the field management engine includes a regression based on correlation between the proximity depletion synthetic variable, the fraction hit synthetic variable, and production values.
In an additional example of the fifteenth aspect and the above examples, the method further includes projecting a production of the well. For example, the production is cumulative production.
In another example of the fifteenth aspect and the above examples, the method further includes projecting a production of a plurality of wells associated with the field.
In a sixteenth aspect, a method of producing fluids from a geological structure includes iteratively identifying a location in a field; projecting a decrease in production from wells proximal to the location and a change in a production objective, the projecting based on application of a field management engine to a field specific model, the field specific model including a proximity depletion synthetic variable and a fraction hit synthetic variable; selecting a proposed location based on projecting an improvement in the production objective; and drilling a well at the proposed location.
In an example of the sixteenth aspect, the method further includes receiving field information associated with producing wells of the field; and deriving the field specific model based on the field information.
In another example of the sixteenth aspect and the above examples, the field information includes production values and well locations. For example, the well location includes horizontal placement.
In a further example of the sixteenth aspect and the above examples, the field information includes geological information.
In an additional example of the sixteenth aspect and the above examples, the field specific model further includes a fracking order synthetic variable.
In another example of the sixteenth aspect and the above examples, the field management engine includes a neural network derived from the field specific model.
In a further example of the sixteenth aspect and the above examples, the field management engine includes a regression based on correlation between the proximity depletion synthetic variable, the fraction hit synthetic variable, and production values.
In an additional example of the sixteenth aspect and the above examples, the method further includes projecting a production of the well. For example, the production is cumulative production.
In a seventeenth aspect, a method of managing production in a field includes projecting a first production improvement associated with maintenance of existing wells with a production analysis engine applied to a field specific model; projecting a second production improvement associated with drilling new wells; projecting a field maintenance schedule with the production analysis engine applied to a field specific model; determining a production value associated with the field.
In an example of the seventeenth aspect, projecting the second production improvement includes projecting a production decrease associated with a well proximal to a new well.
In another example of the seventeenth aspect and the above examples, projecting the first production improvement includes projecting a well rework.
In a further example of the seventeenth aspect and the above examples, projecting the first production improvement includes projecting a recompleting a well.
In an additional example of the seventeenth aspect and the above examples, projecting the first production improvement includes projecting production following installation of artificial lift.
In another example of the seventeenth aspect and the above examples, projecting the first production improvement includes projecting a shut-in schedule for a well.
In a further example of the seventeenth aspect and the above examples, projecting the second production improvements includes identifying a location of a new well.
In an additional example of the seventeenth aspect and the above examples, projecting the second production improvements includes projecting a drilling recipe of the new well at the location. For example, the drilling recipe includes a number of stages and associated depths. In an example, the drilling recipe includes drilling parameters or mud parameters. In another example, projecting the drilling recipe includes projecting with a drill analysis engine. For example, the drill analysis engine includes a neural network derived from the field specific model. In a further example, the drill analysis engine includes a regression based on a correlation derived from the field specific model.
In another example of the seventeenth aspect and the above examples, projecting the second production improvements includes projecting a completion recipe of the new well at the location. For example, projecting the completion recipe includes projecting with a completion analysis engine. In an example, the completion analysis engine includes a neural network derived from the field specific model. In another example, the completion analysis engine includes a regression based on a correlation derived from the field specific model.
In a further example of the seventeenth aspect and the above examples, projecting the second production improvements include projecting using the production analysis engine applied to the field specific model.
In an additional example of the seventeenth aspect and the above examples, the production analysis engine includes a neural network model.
In another example of the seventeenth aspect and the above examples, the production analysis engine includes a regression of a correlation derived from the field specific model.
In an eighteenth aspect, a method of analyzing an offered well includes receiving production information and a location associated with an offered well in a field; projecting a depletion curve based on the production information; projecting an improved production in response to maintenance of the offered well using a production engine derived from a field-specific model; determining a value difference based on the improved production relative to the depletion curve.
In an example of the eighteenth aspect, the production engine includes a neural network derived from the field-specific model.
In another example of the eighteenth aspect and the above examples, the production engine includes a regression based on a correlation derived from the field-specific model.
In a further example of the eighteenth aspect and the above examples, the maintenance includes fracking. For example, projecting the improved production includes projecting refracking parameters. In an example, the refracking parameters include pressure. In another example, the refracking parameters include proppant amount. In a further example, the refracking parameters include proppant composition. In an additional example, the refracking parameters include flow rate.
In an additional example of the eighteenth aspect and the above examples, the maintenance includes reworking. For example, projecting the improved production includes projecting completion parameters for use during reworking.
In another example of the eighteenth aspect and the above examples, the maintenance includes well shut-ins. For example, projecting the improved production includes projecting a time and a duration of a shut-in.
In an additional example of the eighteenth aspect and the above examples, the maintenance includes installing artificial lift. For example, projecting the improved production includes projecting an artificial lift type. In an example, the artificial lift type includes a hydraulic pumping system. In another example, the artificial lift type includes an electric submersible pump. In an additional example, the artificial lift type includes a gas lift system. In a further example, the artificial lift type includes a rod lift system.
In another example of the eighteenth aspect and the above examples, the maintenance includes implementing enhanced recovery.
Note that not all of the activities described above in the general description or the examples are required, that a portion of a specific activity may not be required, and that one or more further activities may be performed in addition to those described. Still further, the orders in which activities are listed are not necessarily the order in which they are performed.
In the foregoing specification, the concepts have been described with reference to specific embodiments. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of invention.
As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of features is not necessarily limited only to those features but may include other features not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, “or” refers to an inclusive- or and not to an exclusive-or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
Also, the use of “a” or “an” are employed to describe elements and components described herein. This is done merely for convenience and to give a general sense of the scope of the invention. This description should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.
Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any feature(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential feature of any or all the claims.
After reading the specification, skilled artisans will appreciate that certain features are, for clarity, described herein in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features that are, for brevity, described in the context of a single embodiment, may also be provided separately or in any subcombination. Further, references to values stated in ranges include each and every value within that range.
This application claims benefit of U.S. Provisional Application No. 62/172,735, entitled “SYSTEMS AND METHODS FOR ANALYZING RESOURCE PRODUCTION,” filed Jun. 8, 2015, which is incorporated herein by reference in its entirety. This application claims benefit of U.S. Provisional Application No. 62/195,775, entitled “SYSTEMS AND METHODS FOR ANALYZING RESOURCE PRODUCTION,” filed Jul. 22, 2015, which is incorporated herein by reference in its entirety. This application claims benefit of U.S. Provisional Application No. 62/246,121, entitled “SYSTEMS AND METHODS FOR ANALYZING RESOURCE PRODUCTION,” filed Oct. 25, 2015, which is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4449896 | Klepper et al. | May 1984 | A |
6021377 | Dubinsky | Feb 2000 | A |
6574565 | Bush | Jun 2003 | B1 |
6732052 | MacDonald | May 2004 | B2 |
6820702 | Niedermayr | Nov 2004 | B2 |
6968909 | Aldred | Nov 2005 | B2 |
7142986 | Moran | Nov 2006 | B2 |
7303010 | de Guzman | Dec 2007 | B2 |
7908230 | Bailey | Mar 2011 | B2 |
7963327 | Saleri et al. | Jun 2011 | B1 |
8120971 | Edwards | Feb 2012 | B2 |
8170800 | Aamodt | May 2012 | B2 |
8209218 | Basu et al. | Jun 2012 | B1 |
8364519 | Basu et al. | Jan 2013 | B1 |
8474550 | Byreddy | Jul 2013 | B2 |
8738425 | Basu et al. | May 2014 | B1 |
9031889 | Basu et al. | May 2015 | B1 |
9230211 | Basu et al. | Jan 2016 | B1 |
9424518 | Basu et al. | Aug 2016 | B1 |
9605529 | Venter et al. | Mar 2017 | B1 |
9617834 | Venter et al. | Apr 2017 | B1 |
9617843 | Venter et al. | Apr 2017 | B1 |
9678487 | Basu et al. | Jun 2017 | B1 |
9785731 | Venter et al. | Oct 2017 | B1 |
20030089502 | Dallas | May 2003 | A1 |
20050192855 | Chitty et al. | Sep 2005 | A1 |
20060024171 | Smith | Feb 2006 | A1 |
20070289740 | Thigpen | Dec 2007 | A1 |
20080183451 | Weng | Jul 2008 | A1 |
20080209997 | Bailey | Sep 2008 | A1 |
20080281525 | Boone | Nov 2008 | A1 |
20080289875 | Burge | Nov 2008 | A1 |
20090024443 | Graham | Jan 2009 | A1 |
20090125362 | Reid et al. | May 2009 | A1 |
20090157367 | Meyer | Jun 2009 | A1 |
20090157590 | Mijares et al. | Jun 2009 | A1 |
20090210081 | Sustaeta | Aug 2009 | A1 |
20100042458 | Rashid | Feb 2010 | A1 |
20100108322 | Eilertsen | May 2010 | A1 |
20110174541 | Strachan | Jul 2011 | A1 |
20120059521 | Iversen | Mar 2012 | A1 |
20120316787 | Moran | Dec 2012 | A1 |
20130124176 | Fox | May 2013 | A1 |
20130311270 | Daftary | Nov 2013 | A1 |
20140070956 | Winkler | Mar 2014 | A1 |
20140297235 | Arora et al. | Oct 2014 | A1 |
20140310071 | Conradson et al. | Oct 2014 | A1 |
20150039544 | Gupta | Feb 2015 | A1 |
20150053482 | Boone | Feb 2015 | A1 |
20150114630 | Colvin | Apr 2015 | A1 |
20150186567 | Wu | Jul 2015 | A1 |
20150234954 | Samuel | Aug 2015 | A1 |
20150284811 | Knight | Oct 2015 | A1 |
20150356403 | Storm, Jr. | Dec 2015 | A1 |
20170058658 | Spencer | Mar 2017 | A1 |
20170286879 | Yeager | Oct 2017 | A1 |
20170292362 | Aniket | Oct 2017 | A1 |
20180080306 | Passolt | Mar 2018 | A1 |
Entry |
---|
“Date” Merriam-Webster.com [downloaded May 8, 2018]; https://www.merriam-webster.com/dictionary/date. |
“Field”, Merriam-Webster.com [downloaded Apr. 26, 2018]; https://www.merriam-webster.com/dictionary/field. |
“Prescribe” Merriam-Webster.com [downloaded May 9, 2018]; webster.com/dictionary/prescribe. |
“Recipe” Merriam-Webster.com [downloaded May 10, 2018]; https://www.merriamwebster.com/dictionary/recipe. |
Al-Yami et al. “Expert System for the Optimal Design and Execution of Successful Completion Practices Using Artificial Bayesian Intelligence” SPE 143826 (2011); Society of Petroleum Engineers [downloaded Mar. 5, 2018]; https://www.onepetro.org/conference-paper/SPE-143826-MS. |
Butler, R. “Steam and Gas Push (SAGP)” 48th Annual Technical Meeting of the Petroleum Society (1997); Alberta, Canada [downloaded Mar. 28, 2018] https://www.onepetro.org/conference-paper/PETSOC-97-137. |
Clegg, J. D. et al., Recommendations and Comparisons for Selecting Artificial-Lift Methods (includes associated papers 28645 and 29092); Journal of Petroleum Technology 45.12 (Dec. 1993 and Jul. 1994); pp. 1128-1167 and pp. 621-622. |
Economides et al. “Reservoir Stimulation” 3rd Edition (2000): Wiley, Chap 10 [downloaded May 1, 2018]; https://www.researchgate.net/profile/Azeez_Aregbe/post/measuring_fracture_length_and_width_using_PKN_and_KGD_modelsJor_hydraulic_fracturing/attachment/59d64ed379197b80779a8171/AS:494639238529025g1494942593011/download/RS_REF.pdf. |
Edwards et al. “Marcellus Shale Hydraulic Fracturing and Optimal Well Spacing to Maximize Recovery and Control Costs” SPE140463 (2011): Society of Petroleum Engineers [downloaded Mar. 5, 2018]; https://www.onepetro.org/conference-paper/SPE-140463-MS. |
Ketter et al. “A Field Study in Optimizing Completion Strategies for Fracture Initiation in Barnett Shale Horizontal Wells” SPE103232 (2008); Society of Petroleum Engineers [downloaded Mar. 5, 2018]; https://www.onepetro.org/journalpaper/SPE-103232-PA. |
Rahim et al. “Evaluation and Selection of Stimulation Methods in Horizontal Gas Wells for Production Optimization Using Numerical Modeling of Well Performance” SPE 167090 (2013); Society of Petroleum Engineers [downloaded Mar. 5, 2018]; https://www.onepetro.org/conference-paper/SPE-167090-MS. |
Teichrob et al. “Well Construction Optimization in the Motney Formation in the Karr Kakwa Area of Central Western Alberta: A Case Study” SPE 162734 (2012) [downloaded Mar. 20, 2018], https://www.onepetro.org/conference-paper/SPE162734-MS. |
Welling et al. “Quantifying the Factors Influencing Gravel Placement and Productivity of an Internally Gravel Packed Completion based on Field Data Analysis” SPE 30113 (1995): Society of Petroleum Engineers [downloaded Mar. 5, 2018]; https://www.onepetro.org/conference-paper/SPE-30113-MS. |
Babaniyazov et al. “Methodological Approach for Optimization of Completion Practices in Mature Carbonate Fields” SPE 166249 (2013); Society of Petroleum Engineers [downloaded May 1, 2018]; https://www.onepetro.org/conferencepaper/SPE-166249-MS. |
Devoid, Havard; Oil and gas production handbook: an introduction to oil and gas production. Lulu.com, 2013; pp. 1-8, 33-36, 80-82, 102-104. |
Lalehrokh et al. “Well Spacing Optimization in Eagle Ford” SPE 171640-MS (2014); Society of Petroleum Engineers [downloaded Mar. 5, 2018]; https://www.onepetro.org/conference-paper/SPE-171640-MS. |
Rizzo et al., “An Ontology Based for Drilling Report Classification,” Springer-Verlag Berlin Heidelberg 2006 (Year: 2006). |
Serapiao et al., “Classification of Petroleum Well Drilling Operations Using Support Vector Machine (SVM),” IEEE (2006). |
Schlumberger, “FracCADE Stimulation Proposal” Example 8: (2013) [downloaded May 1, 2018]; http://ocdimage.emnrd.state.nm.us/imaging/filestore/SantaFeAdmin/CF/259053/15235_13_CF.pdf. |
U.S. Appl. No. 15/052,546, filed Feb. 24, 2016. |
U.S. Appl. No. 15/052,559, filed Feb. 24, 2016. |
U.S. Appl. No. 15/052,579, filed Feb. 24, 2016. |
U.S. Appl. No. 15/052,608, filed Feb. 24, 2016. |
U.S. Appl. No. 15/052,621, filed Feb. 24, 2016. |
U.S. Appl. No. 15/052,634, filed Feb. 24, 2016. |
U.S. Appl. No. 15/052,646, filed Feb. 24, 2016. |
U.S. Appl. No. 15/052,653, filed Feb. 24, 2016. |
U.S. Appl. No. 15/052,658, filed Feb. 24, 2016. |
U.S. Appl. No. 15/052,660, filed Feb. 24, 2016. |
U.S. Appl. No. 15/052,667, filed Feb. 24, 2016. |
Number | Date | Country | |
---|---|---|---|
62172735 | Jun 2015 | US | |
62195775 | Jul 2015 | US | |
62246121 | Oct 2015 | US |