A decision support method, system and related devices

By using a data analysis system to determine the causal relationships between variables related to business metrics, the system solves the problem of business experts struggling to handle multiple variables, enabling more accurate business metric prediction and decision support.

CN122333136APending Publication Date: 2026-07-03HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-01-03
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

In existing technologies, business experts often struggle to account for the complex relationships between multiple variables, leading to inaccurate predictions of business metrics and consequently affecting the accuracy of decision-making.

Method used

By acquiring time-series data of multiple variables through a data analysis system, the causal relationships between variables are determined. Methods such as Granger causality test and vector autoregression model are used to analyze the causal relationships and generate causal relationship diagrams, thereby improving the efficiency and accuracy of causal relationship determination.

Benefits of technology

It improves the accuracy and efficiency of business indicator forecasting, enabling the formulation of more accurate business strategies based on the forecast results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122333136A_ABST
    Figure CN122333136A_ABST
Patent Text Reader

Abstract

This application provides a decision support method, system, and related equipment. The method includes: a data analysis system acquiring a data analysis request, which includes variable names of multiple variables related to business indicators; then, the data analysis system acquiring multiple sets of time-series data corresponding to the aforementioned multiple variables according to the data analysis request, and determining the causal relationships contained among the aforementioned multiple variables based on these multiple sets of time-series data; finally, predicting the aforementioned business indicators based on the multiple sets of time-series data and the causal relationships contained among the multiple variables, obtaining predicted data for the business indicators, which is used to formulate business-related decisions. Determining the causal relationships between variables through the time-series data corresponding to each variable can improve the efficiency and accuracy of determining the causal relationships between variables related to business indicators, thereby enabling users or the data analysis system to formulate decisions related to target business based on the predicted data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a decision support method, system, and related equipment. Background Technology

[0002] Business decisions often rely on key performance indicators (KPIs), which depend on multiple variables, and the relationships between these variables are complex. For example, deciding whether to lower the price or offer a discount on a product depends on sales volume, which is related to production output and selling price. Selling price is related to production costs, transportation costs, and warehousing costs, and production costs are related to the costs of various raw materials. Currently, business experts typically analyze and extrapolate data from these multiple variables to predict KPIs, and decisions are then made based on these predictions. However, business experts often struggle to account for the complex relationships between numerous variables, leading to inaccurate predictions and consequently, inaccurate business decisions. Summary of the Invention

[0003] This application provides a decision support method, system, and related equipment to solve the problem of predicting business indicators and improve the accuracy of business indicator prediction.

[0004] Firstly, this application provides a decision support method, which includes: a data analysis system acquiring a data analysis request, the data analysis request including the names of multiple variables related to business indicators of a target business; then, the data analysis system acquiring multiple sets of time-series data corresponding to the multiple variables according to the data analysis request, and determining the causal relationship contained in the multiple variables based on the multiple sets of time-series data; wherein, each of the multiple variables corresponds to a set of time-series data, and a causal relationship between two variables means that a change in one variable will lead to a change in the other variable; finally, the data analysis system predicts the business indicators based on the multiple sets of time-series data and the causal relationship contained in the multiple variables, obtaining predicted data for the business indicators, which can be used to make decisions related to the target business.

[0005] When it's necessary to predict business metrics for a particular business activity to inform decision-making, a data analysis system can acquire time-series data of multiple variables related to those metrics. Time-series data, recorded sequentially over time, reflects how things or phenomena change over time. A set of time-series data includes multiple values ​​and the time points at which each value was recorded. The data analysis system then analyzes the time-series data corresponding to each variable to determine the causal relationships between them. Identifying causal relationships between variables through their corresponding time-series data improves the efficiency and accuracy of determining these relationships. When a business activity corresponds to multiple metrics, this significantly improves analytical efficiency, thereby enhancing the efficiency and accuracy of metric predictions. Ultimately, this allows users or the data analysis system to formulate strategies related to the target business activity based on the predicted data.

[0006] In one possible implementation, the aforementioned multiple variables include a first variable and a second variable, and the aforementioned data analysis request includes the causal relationship between the first variable and the second variable. Determining the causal relationship among the multiple variables based on multiple sets of time-series data includes: the data analysis system determining a time delay based on the first time-series data corresponding to the first variable and the second time-series data corresponding to the second variable, and then determining the causal relationship among the multiple variables based on the aforementioned multiple sets of time-series data and the determined time delay. This time delay refers to the delay time after a change in the first variable causes the second variable to begin changing.

[0007] Between two variables with a causal relationship, a change in one variable does not immediately lead to a change in the other. For example, a change in the price of a raw material used to produce a product does not immediately lead to a change in the price of the product. There is a certain time delay between the change in the price of the raw material and the change in the price of the product. In this application, a first variable and a second variable with a causal relationship are given in the data analysis request. Then, the time delay between these two variables is determined by the first time series data corresponding to the first variable and the second time series data corresponding to the second variable. For different variables of the same business indicator, the time delay is usually small. Therefore, the data analysis system can analyze the time delay between two known causally related variables and then determine the causal relationship between other variables based on this time delay. This can improve the accuracy of the determined causal relationship and thus improve the accuracy of the business indicator analysis.

[0008] In one possible implementation, the first variable is the cause, and the second variable is the result. The data analysis system determines the latency based on the first time-series data corresponding to the first variable and the second time-series data corresponding to the second variable. This process includes: the data analysis system acquiring multiple candidate latencys; the latency being determined from these candidate latencys; then, the data analysis system predicting the second variable based on each candidate latency and the first time-series data, obtaining multiple sets of predicted data; and finally, the data analysis system determining the latency based on these multiple sets of predicted data and the second time-series data. Each candidate latency corresponds to one set of predicted data. Optionally, the multiple candidate latencys are configured by the user based on experience.

[0009] In one possible implementation, the data analysis system determines the time delay based on multiple sets of predicted data and second time-series data. This includes: the data analysis system determining the variance of the difference between each set of predicted data and the second time-series data in the multiple sets of predicted data, obtaining multiple variances; and then using the candidate time delay corresponding to the set of predicted data with the first variance as the aforementioned time delay. The first variance is smaller than all other variances among these multiple variances. By predicting the second variable using multiple configured candidate time delays and the first time-series data, and determining the time delay based on the predicted data of the second variable and the second time-series data, the time delay between the first variable and the second variable can be determined quickly and accurately.

[0010] In one possible implementation, the aforementioned multiple variables further include a third variable, a fourth variable, and a fifth variable, wherein the third variable and the fourth variable are two independent variables among the aforementioned multiple variables. The data analysis system determines the causal relationships contained within the aforementioned multiple variables based on multiple sets of time-series data and a determined time delay, including: the data analysis system determines whether the third variable, the fourth variable, and the fifth variable constitute a collision structure based on the third time-series data corresponding to the third variable, the fourth time-series data corresponding to the fourth variable, the fifth time-series data corresponding to the fifth variable, and the aforementioned time delay; if the third variable, the fourth variable, and the fifth variable constitute a collision structure, it determines that there is a causal relationship between the third variable and the fifth variable, and a causal relationship between the fourth variable and the fifth variable.

[0011] For two independent variables, the causal relationship between the three variables can be determined by whether these two variables and another variable form a collision structure, which can accurately analyze the causal relationship between the variables.

[0012] In one possible implementation, the method further includes: if the data analysis system determines that the third, fourth, and fifth variables do not constitute a collision structure, determining the causal relationship between the third and fifth variables, and the causal relationship between the fourth and fifth variables, using a non-Gaussian noise model. When the causal relationship between variables cannot be determined through the collision structure, analysis using a non-Gaussian noise model can further uncover causal relationships between multiple variables, improving the accuracy of causal relationship analysis among multiple variables.

[0013] In one possible implementation, the data analysis system determines whether the third, fourth, and fifth variables form a collision structure based on the third time-series data corresponding to the third variable, the fourth time-series data corresponding to the fourth variable, the fifth time-series data corresponding to the fifth variable, and the aforementioned time delay. This includes: the data analysis system determining whether the third and fourth time-series data are correlated based on the third, fourth, and fifth time-series data and the aforementioned time delay; if the third and fourth time-series data are correlated, determining that the third, fourth, and fifth variables form a collision structure; or, if the third and fourth time-series data are not correlated, determining that the third, fourth, and fifth variables do not form a collision structure. Analyzing the correlation between the third and fourth time-series data based on the aforementioned time delay can improve the accuracy of determining the correlation between the two variables.

[0014] In one possible implementation, before determining whether the third, fourth, and fifth variables constitute a collision structure, the method further includes: the data analysis system determining, based on the third time-series data, the fourth time-series data, and the aforementioned time delay, that the third variable and the fourth variable are independent; the data analysis system confirming, based on the third time-series data, the fifth time-series data, and the aforementioned time delay, that the third variable and the fifth variable are correlated variables; and confirming, based on the fourth time-series data, the fifth time-series data, and the aforementioned time delay, that the fourth variable and the fifth variable are correlated variables.

[0015] Based on the above time delay analysis, the correlation or independence between the third and fourth time series data can be determined, which can improve the accuracy of determining the correlation or independence between two variables.

[0016] In one possible implementation, after the data analysis system obtains the predicted data of the business indicators, it further includes: if the data analysis system determines that the predicted data of the business indicators indicates that the business indicators are abnormal, it determines the variables that cause the abnormality of the business indicators based on the predicted data of the business indicators and the multiple sets of time series data corresponding to the above-mentioned multiple variables; and generates early warning information, which includes the variables that cause the above-mentioned business indicators to send abnormally.

[0017] After predicting business metrics based on the causal relationships between multiple variables corresponding to those metrics, the data analysis system can also determine whether any anomalies have occurred based on the predicted data and historical data. It can then analyze the variables that caused the anomalies and issue warnings to alert users to the reasons for the anomalies, enabling them to develop response strategies based on the anomalies and their causes.

[0018] Secondly, this application provides a data analysis system for decision support, comprising an acquisition module, a processing module, and a prediction module. The acquisition module acquires a data analysis request, which includes the names of multiple variables related to business indicators of a target business. The acquisition module also acquires multiple sets of time-series data corresponding to the aforementioned variables based on the data analysis request. The processing module determines the causal relationships among the aforementioned variables based on the multiple sets of time-series data. Each of the aforementioned variables corresponds to a set of time-series data, and a causal relationship between two variables means that a change in one variable leads to a change in the other. The prediction module predicts the aforementioned business indicators based on the multiple sets of time-series data and the causal relationships among the multiple variables, obtaining predicted data for the business indicators. This predicted data can be used to formulate decisions related to the target business.

[0019] In one possible implementation, the aforementioned multiple variables include a first variable and a second variable, and the aforementioned data analysis request includes the causal relationship between the first variable and the second variable; the processing module is specifically used to: determine the time delay based on the first time series data corresponding to the first variable and the second time series data corresponding to the second variable, and then determine the causal relationship contained in the aforementioned multiple variables based on the aforementioned multiple sets of time series data and the determined time delay, wherein the time delay refers to the delay time after the first variable changes, causing the second variable to start changing.

[0020] In one possible implementation, the processing module determines the delay based on the first time-series data corresponding to the first variable and the second time-series data corresponding to the second variable. Specifically, this involves: acquiring multiple candidate delays; the delay being determined from these candidate delays; then predicting the second variable based on each candidate delay and the first time-series data to obtain multiple sets of predicted data; and finally determining the delay based on these multiple sets of predicted data and the second time-series data. Each candidate delay corresponds to one set of predicted data.

[0021] In one possible implementation, the processing module determines the time delay based on multiple sets of predicted data and second time-series data. Specifically, it determines the variance of the difference between each set of predicted data and the second time-series data in the multiple sets of predicted data, obtaining multiple variances. Then, it uses the candidate time delay corresponding to the set of predicted data with the first variance as the aforementioned time delay. The first variance is smaller than all other variances among these multiple variances.

[0022] In one possible implementation, the aforementioned multiple variables further include a third variable, a fourth variable, and a fifth variable, where the third variable and the fourth variable are two independent variables among the multiple variables. The processing module determines the causal relationship among the multiple variables based on multiple sets of time-series data and a determined time delay. Specifically, it determines whether the third, fourth, and fifth variables form a collision structure based on the third time-series data corresponding to the third variable, the fourth time-series data corresponding to the fourth variable, the fifth time-series data corresponding to the fifth variable, and the aforementioned time delay. If the third, fourth, and fifth variables form a collision structure, it determines that there is a causal relationship between the third and fifth variables, and between the fourth and fifth variables.

[0023] In one possible implementation, the processing module is also used to: determine that the third, fourth, and fifth variables do not constitute a collision structure, determine the causal relationship between the third and fifth variables through a non-Gaussian noise model, and determine the causal relationship between the fourth and fifth variables.

[0024] In one possible implementation, the processing module determines whether the third, fourth, and fifth variables form a collision structure based on the third time-series data corresponding to the third variable, the fourth time-series data corresponding to the fourth variable, the fifth time-series data corresponding to the fifth variable, and the aforementioned delay. Specifically, it is used to: determine whether the third and fourth time-series data are correlated based on the third time-series data, the fourth time-series data, the fifth time-series data, and the aforementioned delay; if the third and fourth time-series data are correlated, determine that the third, fourth, and fifth variables form a collision structure; or, if the third and fourth time-series data are not correlated, determine that the third, fourth, and fifth variables do not form a collision structure.

[0025] In one possible implementation, before the processing module determines whether the third, fourth, and fifth variables constitute a collision structure, the processing module is further configured to: determine that the third variable and the fourth variable are independent of each other based on the third time-series data, the fourth time-series data, and the aforementioned delay; confirm that the third variable and the fifth variable are related variables based on the third time-series data, the fifth time-series data, and the aforementioned delay; and confirm that the fourth variable and the fifth variable are related variables based on the fourth time-series data, the fifth time-series data, and the aforementioned delay.

[0026] In one possible implementation, the system further includes a root cause analysis module. This module is used to determine the variables causing the abnormality of the business indicators based on the predicted data of the business indicators and multiple sets of time-series data corresponding to the aforementioned multiple variables when the predicted data of the business indicators indicates that the business indicators are abnormal. The module also generates an early warning message, which includes the variables that caused the abnormality in the transmission of the aforementioned business indicators.

[0027] Thirdly, this application provides a computing device including a processor and a memory, wherein the processor is configured to execute instructions stored in the memory to implement the operational steps of the method as described in the first aspect or any possible implementation thereof.

[0028] Fourthly, this application provides a computing device cluster including at least one computing device, each computing device including a processor and a memory, the processor of each computing device being configured to execute instructions stored in the memory to cause the computing device cluster to implement the operational steps of the method as described in the first aspect and any possible implementation thereof.

[0029] Fifthly, this application provides a computer-readable storage medium storing computer program instructions that, when executed by a computing device or a cluster of computing devices, implement the operational steps of the method described in the first aspect or any possible implementation thereof.

[0030] Sixthly, this application provides a computer program product comprising a computer program that, when executed by a computing device or a cluster of computing devices, implements the operational steps of the method described in the first aspect or any possible implementation thereof.

[0031] In a seventh aspect, this application provides a chip system including a processor and a power supply circuit, the power supply circuit being used to supply power to the processor, and the processor being used to execute the operation steps corresponding to the method described in the first aspect or any possible implementation of the first aspect.

[0032] Based on the implementation methods provided in the above aspects, this application can be further combined to provide more implementation methods. Attached Figure Description

[0033] Figure 1 This is a schematic diagram of a business management system provided in this application;

[0034] Figure 2 This is a flowchart illustrating a decision support method provided in this application;

[0035] Figure 3 This is a schematic diagram of a configuration interface provided in this application;

[0036] Figure 4 This is a schematic diagram of a causal relationship diagram provided in this application;

[0037] Figure 5 This is a schematic diagram of a relationship diagram display interface provided in this application;

[0038] Figure 6 This is a schematic diagram of an initial causal relationship diagram provided in this application;

[0039] Figure 7 This is a schematic diagram of a data analysis system provided in this application;

[0040] Figure 8 This is a schematic diagram of a computing device provided in this application;

[0041] Figure 9 This is a schematic diagram illustrating the network connection between two computing devices provided in this application. Detailed Implementation

[0042] The decision support method provided in this application will be described below with reference to the accompanying drawings.

[0043] In the course of operating various businesses, companies typically use one or more business indicators to measure the performance of a business segment. Each business segment usually has one or more corresponding business indicators, and each business indicator is related to multiple variables. For example, for a product, the business indicators for that product include sales volume, which is related to the product's output and selling price. The selling price is related to production costs, transportation costs, warehousing costs, discounts, etc., and the production costs are related to the costs of various raw materials.

[0044] Business decisions often require reference to key performance indicators (KPIs), such as their fluctuations and forecasts. Operating strategies are then adjusted based on this data. For example, determining whether to offer discounts or reduce production for a product requires sales forecasting. Each KPI in a business decision depends on multiple variables with complex relationships. Currently, business experts typically analyze and extrapolate from this data, making decisions based on their findings. However, business experts often fail to consider the relationships between numerous variables, hindering the full extraction of relevant information and leading to inaccurate forecasts.

[0045] This application provides a decision support method that analyzes data on multiple variables related to business indicators, determines the causal relationships among these variables, and then predicts the business indicators based on the data and causal relationships. Based on the predicted results, relevant strategies are then formulated for the business. This decision support method can be applied to various industries such as sales, transportation, tourism, energy, manufacturing, and agriculture. By predicting business indicators for different industries, it assists users in formulating corresponding strategies based on the predicted data for each indicator.

[0046] For example, in the sales industry, by analyzing the causal relationships between variables related to product sales, such as selling price, discounts, production costs, and transportation costs, and based on historical time-series data of these variables, product sales can be predicted. Based on the prediction results, corresponding sales strategies can be formulated, such as increasing discounts. In the transportation industry, such as rail and air transport, by analyzing the causal relationships between variables related to passenger numbers, such as seasons, holidays, and weather, and based on historical time-series data of these variables, passenger numbers can be predicted. Based on the prediction results, corresponding strategies can be formulated, such as increasing or decreasing the number of trains or flights, or adjusting ticket prices. In the tourism industry, such as scenic spots, by analyzing the causal relationships between variables related to visitor flow, such as seasons, holidays, prices, and weather, and based on historical time-series data of these variables, visitor numbers can be predicted. Based on the prediction results, corresponding strategies can be formulated, such as increasing or decreasing the number of service personnel at the scenic spot, or adjusting ticket prices. In the energy industry… In energy demand forecasting, strategies are developed based on historical time-series data. These forecasts analyze causal relationships between variables related to seasonality, policy, economic activity, and weather, and formulate corresponding strategies, such as optimizing supply chains and increasing energy inventory. In manufacturing, output forecasts are also developed based on historical time-series data. These forecasts analyze causal relationships between variables related to production line numbers, raw material costs, labor costs, and market demand, and formulate corresponding production strategies, such as increasing or decreasing output and optimizing inventory. In agriculture, for a specific agricultural product, the forecasts are developed based on historical time-series data. These forecasts analyze causal relationships between variables related to the product's output, such as planting costs, market demand, weather factors, and the output of other agricultural products, and formulate corresponding strategies, such as increasing or decreasing planting area.

[0047] When it is necessary to predict the business metrics of a business and make decisions based on the prediction results, a data analysis system can be used to obtain data on multiple variables related to the business metrics. Then, the causal relationships between these multiple variables can be analyzed based on the data corresponding to each variable. By determining the causal relationships between variables through the data corresponding to each variable, the efficiency and accuracy of determining the causal relationships between variables related to business metrics can be improved. When a business corresponds to multiple business metrics, the analysis efficiency can be greatly improved, thereby improving the efficiency and accuracy of business metric prediction, which makes it easier for users to formulate corresponding strategies based on the prediction results.

[0048] The following is combined Figure 1 This application provides an introduction to the business management system provided.

[0049] Figure 1 This is a schematic diagram of a business management system provided in this application. The business management system includes a client 100 and a data analysis system 200. The client 100 and the data analysis system 200 are connected by a communication link. The client 100 that establishes the communication link with the data analysis system 200 can be one or more, and this application does not specifically limit its scope.

[0050] The data analysis system 200 can be deployed on a single computing device or on a cluster of computing devices, which can be servers, virtual machines, containers, or edge computing devices. A virtual machine refers to a complete computer system simulated by software, possessing full hardware system functionality and running in a completely isolated environment. Any task that can be performed on a physical computer can also be performed in a virtual machine. When creating a virtual machine on a computing device, a portion of the physical machine's hard drive and memory capacity is used as the virtual machine's hard drive and memory capacity. Each virtual machine has an independent basic input / output system, hard drive, and operating system, and can be operated like a physical machine. A container is a portable software unit that can combine an application and all its dependencies into a single software package. This package is not limited by the underlying host operating system, thus eliminating the need to build complex environments and simplifying the application development and deployment process. Edge computing devices refer to devices that are closer to the data source and end user, featuring low latency and high bandwidth, such as intelligent routers and edge servers. A computing device cluster can include multiple of the above-mentioned computing devices; this application does not specifically limit this.

[0051] The aforementioned computing devices can be computing devices in cloud data centers, edge servers, or local servers in enterprise local data centers; this application does not impose any specific limitations.

[0052] Client 100 is deployed on a terminal device to enable human-computer interaction. Client 100 can be software or an application running on the terminal device, such as a client for a personal computer (PC), a browser-based client or browser plugin, an application (APP) running on a mobile terminal, or a console for a cloud platform; this application does not specifically limit its scope. Terminal devices include personal computers, smartphones, wearable devices, handheld processing devices, tablets, mobile laptops, augmented reality (AR) devices, virtual reality (VR) devices, etc., and are not specifically limited here.

[0053] In one possible implementation, client 100 is a cloud platform client provided by a cloud service provider, used to provide users with various cloud services. Users can purchase or rent cloud services through client 100. The decision support method provided in this application can be one of the cloud services. The aforementioned data analysis system 200 is deployed on computing equipment in a cloud data center to provide users with cloud services for data analysis. Users can use cloud services for data analysis through client 100.

[0054] In another possible implementation, the data analysis system 200 is deployed on a server in the enterprise's local data center. The data analysis system 200 is a solution provided by the enterprise itself or a third party for implementing data analysis. Clients are deployed on terminal devices used by users within the enterprise, such as desktops and laptops. Users can use the services provided by the data analysis system 200 through the client 100 to analyze data and obtain analysis results.

[0055] In another possible implementation, the data analysis system 200 and the client 100 can also be deployed on a computing device, which can be a terminal device used by the user.

[0056] In one possible implementation, the aforementioned business management system further includes a storage system. The storage system stores data received by the data analysis system 200, such as time-series data corresponding to various variables. The storage system includes storage devices, which can be hard disk drives (HDDs), solid-state drives (SSDs), mechanical hard disks (HDDs), USB flash drives, flash memory, SD cards, etc., without specific limitations in this application. The storage array can be a redundant array of independent disks (RAID), network attached storage (NAS), storage area network (SAN), etc., without specific limitations in this application.

[0057] It should be understood that the above deployment method is only for example. The client 100, data analysis system 200 and storage system can be flexibly deployed according to actual business needs. This application does not impose any specific limitations.

[0058] The decision support method provided in this application is described below with reference to the accompanying drawings, such as... Figure 2 As shown, Figure 2 This is a flowchart illustrating a decision support method provided in this application. The decision support method is executed by a data analysis system 200, and its specific steps include at least S201 to S204.

[0059] S201. Client 100 sends a data analysis request to data analysis system 200, which includes the variable names of multiple variables.

[0060] For any business operation, there are typically one or more corresponding business metrics. These metrics are quantitative data that measure the operational status of the business and reflect its effectiveness. By monitoring and analyzing these metrics, companies can adjust their operational methods in a timely manner to improve operational efficiency. A variable refers to a relevant factor that affects a business metric. Changes in variables will lead to changes in the business metric. A business metric usually corresponds to multiple variables, and changes in each variable may cause changes in the business metric. In this application, the data analysis request is used to instruct the analysis of data on multiple variables related to a business metric in order to achieve the monitoring and analysis of that business metric.

[0061] Optionally, business indicators include, but are not limited to, any one or more of financial, market, and production indicators, which are not limited herein. Financial indicators include, but are not limited to, any one or more of revenue, net profit, and profit margin, which are not limited herein; market indicators include, but are not limited to, any one or more of sales volume, market share, and return on advertising investment, which are not limited herein; production indicators include, but are not limited to, any one or more of output, production efficiency, and yield rate, which are not limited herein. For a business, the business indicators of that business may include one or more of the above. For example, for the sales business of a product, the sales business belongs to the market or financial indicators among the business indicators. Specifically, the business indicators of the sales business include any one or more of sales volume, revenue, net profit, and market share, which are not limited herein.

[0062] Optionally, each business metric may depend on multiple variables. For example, when the business metric is net profit, the product's net profit depends on variables such as sales volume, selling price, and production cost. When the business metric is sales volume, sales volume depends on variables such as product output and selling price. The selling price is related to production costs, transportation costs, warehousing costs, labor costs, and product discounts. The production cost is related to the purchase price of various raw materials. Therefore, the variables that the sales volume business metric depends on include product output, selling price, production costs, transportation costs, warehousing costs, and product discounts. When the business metric is output, output depends on variables such as the quantity of raw materials, the number of production lines, and yield rate. For example, if the business is the sale of mobile phones, the business metrics for this business include mobile phone sales volume. Mobile phone sales volume is related to the selling price and output of mobile phones. The selling price is related to the production cost, labor costs, and discounts of mobile phones. The production cost is related to the purchase price of components such as screens, batteries, camera modules, and processors. It should be understood that some business metrics may be variables that other business metrics depend on. For example, when profit margin is a business metric, net profit and revenue profit margin depend on variables; when net profit is a business metric, sales volume is a variable that net profit depends on.

[0063] When a user needs to analyze one or more business metrics corresponding to a target business, the user can send the variables that each business metric depends on to the data analysis system 200 through the client 100. This allows the data analysis system 200 to analyze each business metric based on the data corresponding to the variables. The following example of analyzing a single business metric illustrates the decision support method provided in this application. When a user needs to analyze a business metric of a target business, the user can input the business metric and the variable names of multiple variables related to it through the configuration interface provided by the client 100. After the user completes and confirms the input, the client 100 responds to the user's confirmation by generating a data analysis request based on the user's input and sending the request to the data analysis system 200. This data analysis request includes the business metric input by the user and the variable names of multiple variables. This data analysis request instructs the data analysis system 200 to analyze the business metric based on the data corresponding to the aforementioned multiple variables. For example, it may predict the business metric to determine if it is abnormal, issue an alarm when the business metric is abnormal, or frequently issue alarms when the business metric is abnormal, and analyze the variables that caused the abnormality.

[0064] like Figure 3 As shown, Figure 3 This is a schematic diagram of a configuration interface provided in this application. For example... Figure 3 As shown, the business metric input by the user for analysis is the sales volume of mobile phone model A. Variables related to the sales volume of model A include selling price, output, production cost, discount, raw material cost, labor cost, warehousing cost, number of production lines, and quantity of raw materials. Users can add or delete business metrics or related variables on this interface. After completing the input, the user triggers a confirmation operation, such as clicking the confirmation button. Client 100 responds to the user's confirmation operation, generates a data analysis request based on the user's input, and sends the data analysis request to data analysis system 200.

[0065] S202. The data analysis system 200 receives a data analysis request sent by the client 100 and obtains multiple sets of time series data corresponding to multiple variables.

[0066] Time-series data refers to a set of data recorded in chronological order, reflecting how things or phenomena change over time. A set of time-series data includes multiple values ​​and the time points at which each value is recorded. For example, the daily sales of a supermarket can constitute a set of time-series data. For a product and a raw material used to produce the finished product, the price of the raw material and the price of the product are recorded once a month, resulting in 12 prices for the raw material and 12 prices for the product. The 12 prices of the raw material and the 12 prices of the product constitute a set of time-series data.

[0067] For any business activity, there are typically one or more business metrics. Each business metric depends on multiple variables. By recording the data for each variable at different points in time, we can obtain the time-series data for each variable; that is, one variable corresponds to one set of time-series data. For example, a product's business metrics include sales volume, which is related to the product's output and selling price. The product's selling price is related to production costs, transportation costs, warehousing costs, labor costs, and product discounts. The product's production costs are related to the costs of various raw materials. Therefore, the variables include the product's output, selling price, production costs, transportation costs, warehousing costs, and product discounts, and each of these variables corresponds to one set of time-series data.

[0068] In one possible implementation, the aforementioned time-series data also includes time-series data corresponding to business metrics. For example, if the aforementioned business metrics include sales volume, then the aforementioned time-series data also includes time-series data corresponding to sales volume, such as time-series data corresponding to efficiency obtained by calculating sales volume once a month or every half month.

[0069] In this application, the aforementioned multiple sets of time-series data can be obtained by the data analysis system 200 from the storage system. For example, the client 100 and the data analysis system 200 are deployed on the same computing device; or, the data analysis system 200 and the storage system are deployed in a cloud data center, and the user's data is stored in the cloud data center's storage system. The user inputs multiple variables to be analyzed through the configuration interface provided by the client 100. The client 100 uploads the variable names of these multiple variables to the data analysis system 200, and then the data analysis system 200 obtains the time-series data corresponding to these multiple variables from the storage system based on the variable names. For example, the time-series data corresponding to the aforementioned multiple variables is stored in the storage system in the form of a table. The data analysis system 200 obtains these tables from the storage system and reads the time-series data corresponding to each variable from the tables.

[0070] The aforementioned data analysis request may also include time-series data corresponding to the aforementioned multiple variables. That is, the aforementioned multiple sets of time-series data may also be uploaded by the user to the data analysis system 200 through the client 100. For example, the data analysis system 200 is deployed in a cloud data center or an enterprise local data center, the client 100 is deployed on the user terminal used by the user, and the time-series data of each variable is stored in the storage device of the user terminal. When the user needs to analyze the data, the user inputs the variable names of the multiple variables to be analyzed through the interface provided by the client 100. The client 100 retrieves the time-series data corresponding to these multiple variables from the storage device and sends the time-series data corresponding to these multiple variables to the data analysis system 200.

[0071] S203. The data analysis system 200 determines the causal relationships contained in the above-mentioned multiple variables based on the above-mentioned multiple sets of time series data.

[0072] In this application, a causal relationship between two variables means that a change in one variable (i.e., the "cause") leads to a change in the other variable (i.e., the "effect"). For example, if an increase in the price of raw material A leads to an increase in the production cost of the product, then there is a causal relationship between the price of raw material A and the production cost of the product, where the price of raw material A is the cause and the production cost of the product is the effect.

[0073] After acquiring the time-series data corresponding to the aforementioned multiple variables, the data analysis system 200 determines whether a causal relationship exists between any two variables based on the time-series data corresponding to each variable, thereby obtaining the causal relationships contained within these multiple variables. Specifically, for any two variables, the data analysis system 200 can determine whether a causal relationship exists between these two variables using any of the following methods based on the time-series data corresponding to these two variables: Granger causality test, vector autoregression (VAR), transfer entropy, causal convolutional networks, or cointegration analysis. It should be noted that when determining causal relationships, business indicators are also considered as variables to determine the causal relationship between business indicators and the aforementioned multiple variables.

[0074] After determining the causal relationships among the multiple variables based on the time-series data corresponding to them, the data analysis system 200 generates a causal relationship graph and displays these relationships to the user on the client 100 through a graph display interface. The causal relationship graph includes nodes and edges. Each node represents a variable or indicator, and a directed edge between two nodes indicates a causal relationship between the two variables. The directed edge has a one-way arrow pointing to the variable representing the result.

[0075] like Figure 4 As shown, Figure 4 This is a schematic diagram of a causal relationship diagram provided in this application. Figure 4 In the above, there is a causal relationship between variable J and variables H and I, where variables H and I are causes and variable J is an effect; there is a causal relationship between variable H and variables D and E, and between variable I and variables F and G, where variables D and E are causes and variable H is an effect; there is a causal relationship between variable F and G and variable I; there is a causal relationship between variable D and variables A, B, and C, where variables A, B, and C are causes and variable D is an effect.

[0076] For example, see Figure 5 , Figure 5 This is a schematic diagram of a relationship diagram display interface provided in this application. Figure 5 Using product sales volume as a business metric, the diagram illustrates the causal relationships between multiple variables. Specifically, sales volume is causally related to selling price and production volume; selling price is causally related to production costs and discounts; production volume is causally related to the number of production lines and the quantity of raw materials; and production costs are causally related to raw material costs, labor costs, and warehousing costs. Optionally, users can enter the name of the business metric in the relationship diagram display interface to query the causal relationship diagrams of variables corresponding to other business metrics.

[0077] In one possible implementation, this application also provides another method for determining whether there is a causal relationship between two variables. The method for determining whether there is a causal relationship between two variables provided in this application is described in detail below.

[0078] Users Figure 3 When multiple variables for data analysis are input into the configuration interface shown, users can configure at least one set of variables to have causal relationships. For example, among the variables mentioned above, there may be causal relationships between product selling price and production cost, production cost and raw material cost, and production cost and labor cost. Users can configure at least one set of causal relationships between variables in the configuration interface based on prior knowledge. Each set of variables includes two variables. For example... Figure 3 As shown, there is a causal relationship between the production cost and selling price of a user-configured mobile phone model A. Production cost is the cause, and selling price is the effect, meaning that changes in production cost lead to changes in selling price. It should be understood that there is a lag (L) between two variables with a causal relationship. Lag refers to the delay in time before the variable representing the effect begins to change after a change in the variable representing the cause. For example, if the price of a raw material increases, and the production cost of the product only increases a month later, then the lag between the price of the raw material and the production cost is one month. It should be noted that the unit of lag is related to the statistical period of the variables. If the correlation data of the two variables is collected every month, the unit of lag is one month; if the correlation data of the two variables is collected every day, the unit of lag is one day.

[0079] After acquiring multiple sets of time-series data corresponding to the aforementioned variables, the data analysis system 200, for two user-configured variables with a causal relationship, such as the first variable and the second variable, determines the time delay between the first variable and the second variable based on the first time-series data corresponding to the first variable and the second time-series data corresponding to the second variable. Specifically, the data analysis system 200 can determine the time delay between the first variable and the second variable using methods such as cross-correlation analysis, dynamic time warping (DTW), or linear regression models.

[0080] After determining the time delay between the first and second variables, which have a causal relationship, the data analysis system 200 determines whether any two variables among the aforementioned variables are independent. For example, if the data analysis system 200 acquires multiple variables including the first to seventh variables, it groups any two variables from these seven variables together. Excluding the first and second variables, these seven variables can form 20 pairs. The data analysis system 200 then determines whether the two variables in each pair are independent. For instance, for the third and fourth variables, the system analyzes the third and fourth time series data using the third time series data corresponding to the third variable and the fourth time series data corresponding to the fourth variable, using an independence test to determine whether the third and fourth variables are independent. Similarly, for the third and fifth variables, the system analyzes the third and fifth time series data using the third time series data and the fifth time series data corresponding to the fifth variable, using an independence test to determine whether the third and fifth variables are independent. Among them, the data analysis system 200 can perform independence tests between two groups of data through methods such as chi-square test or t-test of independence.

[0081] Optionally, the data analysis system 200 can also determine whether two variables are correlated based on their corresponding time-series data and the aforementioned time delay. For example, for the third and fourth variables mentioned above, if the third time-series data is denoted as A... t The fourth time series data is denoted as B. t If you give point A t That is, the third time series data A t If the start and end times of the included data are determined, then the data analysis system 200 will determine the third time series data A. t and time series data B t-lag Are they independent of each other? If the third time series data A t and time series data B t-lag Whether they are independent of each other indicates the independence of the third time-series data A. t and fourth time series data Bt They are independent of each other. Among them, the third time-series data A t Includes the start time and time series data B t-lag The difference in start time of the included data is the aforementioned delay L, and the third time series data A t Includes the end time of the data and time series data B t-lag The difference in the start time of the included data is the aforementioned delay L.

[0082] After determining whether any two variables are independent, the data analysis system 200 can obtain multiple sets of related variables, where each set of related variables includes two of the aforementioned variables. For example, through the independence test, it is determined that the third and fifth variables are related, and the fourth and fifth variables are also related. There may also be at least one set of independent variables among these multiple variables; for example, through the independence test, it is determined that the third and fourth variables are independent.

[0083] For two independent variables, the data analysis system 200 first identifies an intermediate variable that is correlated with both independent variables. Then, it determines whether these three variables form a collision structure. If a collision structure exists, then the two independent variables each have a causal relationship with the intermediate variable. Specifically, for variables X, Y, and Z, a collision structure means that both variables X and Y influence variable Z. Without knowing variable Z, X and Y are independent; however, given Z, X and Y are correlated.

[0084] If two independent variables are correlated with at least one variable, each of these at least one variables is used as an intermediate variable to determine whether a collision structure exists among the three variables, and thus whether a causal relationship exists. For any two independent variables among the aforementioned variables, the above method can be used to identify the variables that form a collision structure with these two variables, thereby determining the causal relationship between the variables.

[0085] For example, if the third and fourth variables are independent, the data analysis system 200 first identifies a variable that is related to both the third and fourth variables, such as the fifth variable. That is, the third and fourth variables are independent, the third variable is related to the fifth variable, and the fourth variable is related to the fifth variable. Then, based on the third time-series data corresponding to the third variable, the fourth time-series data corresponding to the fourth variable, the fifth time-series data corresponding to the fifth variable, and the aforementioned time delay, the data analysis system 200 determines whether a collision structure exists between the third, fourth, and fifth variables. If a collision structure exists, the data analysis system 200 determines that there is a causal relationship between the third and fifth variables, and between the fourth and fifth variables; the third variable is the cause, and the fifth variable is the effect, or vice versa. If a collision structure does not exist, the data analysis system 200 determines the causal relationship between the third and fifth variables, and between the fourth and fifth variables, using a non-Gaussian noise model.

[0086] If the third and fourth variables are also related to the sixth variable, the data analysis system 200 determines whether a collision structure exists between the third, fourth, and sixth variables based on the third time-series data, the fourth time-series data, the sixth time-series data corresponding to the sixth variable, and the aforementioned time delay. If a collision structure exists, the data analysis system 200 determines that there is a causal relationship between the third and sixth variables, and between the fourth and sixth variables; in this case, the third variable is the cause and the sixth variable is the effect, or vice versa. If no collision structure exists, the data analysis system 200 determines the causal relationship between the third and sixth variables, and also determines the causal relationship between the fourth and sixth variables, using a non-Gaussian noise model.

[0087] If the fifth and seventh variables are correlated, meaning they are not independent, then the data analysis system 200 determines the causal relationship between the fifth and seventh variables using a non-Gaussian noise model.

[0088] The following describes a method for determining whether three variables constitute a collision structure based on time delay, using the third, fourth, and fifth variables mentioned above as examples. The third time-series data is denoted as A. t The fourth time series data is denoted as B. t The fifth time series data is denoted as C. t .

[0089] When determining whether the third, fourth, and fifth variables have a collision structure, given C tIn this case, data analysis system 200 determines A t-lag and B t-lag Whether it is relevant, for example, the data analysis system 200 can determine A through methods such as the chi-square test and the Fisher exact test. t-lag and B t-lag Is it relevant? If A t-lag and B t-lag If they are correlated, it means that the third, fourth, and fifth variables form a collision structure; if A t-lag and B t-lag If they are uncorrelated, it means that the third, fourth, and fifth variables do not form a collision structure. Among them, the time series data C... t The start and end times of the included data are determined, and the fifth time series data C t Includes the start time and time series data A t-lag The difference in start time of the included data is the aforementioned delay L, and the time series data C t Includes the end time of the data and time series data A t-lag The difference in start time of the included data is the aforementioned delay L; time series data C t Includes the start time and time series data B t-lag The difference in start time of the included data is the aforementioned delay L, and the time series data C t Includes the end time of the data and time series data B t-lag The difference in start time among the included data is the aforementioned delay L. For example, if the aforementioned C... t This includes data from January to December 2024. If the time lag is 2 months, meaning the lag value is 2, then A... t-lag and B t-lag This includes data from November 2023 to October 2024.

[0090] Optionally, if the user configures multiple sets of causal relationships in the configuration interface, multiple prediction delays can be obtained from the time series data corresponding to these multiple sets of causally related variables. Then, the average of these multiple prediction delays is used as the delay used to determine whether two variables are correlated and whether three variables form a collision structure.

[0091] Optionally, users can choose not to configure causal relationships between variables in the configuration interface described above. After acquiring the multiple variables, the data analysis system 200 performs semantic recognition based on the variable names to determine whether there is a causal relationship between the variables. For example, if the multiple variables acquired by the data analysis system 200 include production cost and sales price, the data analysis system 200 can determine a causal relationship between production cost and sales price based on the names of these two variables, and determine that production cost is the cause and sales price is the effect.

[0092] In one possible implementation, the user is able to Figure 3 The configuration interface shown allows configuring multiple candidate time delays between two variables with a causal relationship. The data analysis system 200 then determines the time delay between the two variables based on these candidate time delays and the corresponding time-series data. These multiple candidate time delays are several possible time delays between the two variables configured by the user based on experience. For example, a change in the price of a raw material might lead to a change in the product price after one month, two months, or three months. The user can configure the candidate time delays to be one month, two months, or three months.

[0093] The following example illustrates the method provided in this application for determining the time delay between two variables, using a user-configured first and second variable as an example where the first variable is the cause and the second variable is the effect. The first variable is denoted as X, the second variable as Y, and the first time-series data corresponding to the first variable as X0. t Let the second time series data corresponding to the second variable be denoted as Y. t The variance of the difference between the second time series data and the predicted data is calculated using the following formula, where the predicted data refers to the data obtained by predicting the second variable based on the first time series data of the first variable.

[0094] var[Y t -P(Y t |H -X ,X t-lag )]

[0095] Among them, H -X H refers to variables other than X that can be used to predict Y. For example, if Y represents the production cost of a product, and X represents the price of one of the raw materials A, then H... -X This includes variables such as the price of other raw materials, warehousing costs, and labor costs. P(Y) t |H -X ,X t-lag ) indicates that given H -X In the case of time series data X t-lagThe predicted data obtained by predicting Y. Where X t-lag This includes time series data X t Part of the data, including time series data Y t The corresponding start time and X t-lag The difference in start time is lag, for time series data Y. t The corresponding end time and X t-lag The difference in end time is lag. For example, if the above Y t This includes data from January to December 2024. If there are multiple candidate delays ranging from 1 to 6 months (a total of 6 delays), and if the candidate delay is 2 months (i.e., the lag value is 2), then X... t-2 This includes data from November 2023 to October 2024; if the candidate latency is 3 months, i.e., the lag value is 3, then X... t-3 This includes data from October 2023 to September 2024.

[0096] For each candidate time delay, a variance is determined using the above formula, resulting in multiple variances. The candidate time delay corresponding to the first variance among these multiple variances is then used as the time delay for determining whether two variables are correlated and whether three variables constitute a collision structure. The first variance is smaller than the other variances among the multiple variances. It should be understood that the above variances can also be replaced by standard deviation or expectation; this application does not impose specific limitations.

[0097] In one possible implementation, after receiving a data analysis request, the data analysis system 200 generates an initial causal relationship graph based on multiple variables. The initial causal relationship graph includes nodes and edges, with each node corresponding to a variable, and any two nodes connected by a straight edge. For example... Figure 6 As shown, Figure 6 This is a schematic diagram of an initial causal relationship diagram provided in this application. Figure 6 The graph includes four variables: K, L, M, and N. Any two variables are connected by a straight line without an arrow. The data analysis system 200 sends the initial causal relationship graph to the client 100, which then displays the graph on its interface. Figure 6 As shown in Figure a. If the user does not configure causal relationships between variables in the configuration interface, the user can modify the straight line between two variables with a causal relationship in the initial causal relationship graph based on prior knowledge, to a straight line with an arrow pointing to the variable representing the result. For example, if the user configures a causal relationship between variable K and variable N, where variable K is the cause and variable N is the result, then after configuration, the initial causal relationship graph will look like this. Figure 6As shown in Figure b. After receiving the user's modification operation, client 100 sends the modification operation to data analysis system 200 accordingly. Upon receiving the modification operation, data analysis system 200 records the causal relationship between variable K and variable N. Then, based on the time series data corresponding to variable K and variable N, it determines the aforementioned time delay, and based on the time delay, determines the causal relationship contained in the aforementioned multiple variables, and constructs a... Figure 4 or Figure 5 The causal relationship graph shown is illustrated. It should be understood that after determining that two variables are independent of each other, the data analysis system 200 will remove the edge between the two variables from the initial causal graph.

[0098] Optionally, the user can also identify two independent variables based on prior knowledge, and then delete the edge between these two variables in the initial causal graph. The data analysis system 200 can then determine the independence between these two variables based on this deletion operation. Figure 6 As shown in Figure b, if the user deletes the edge between variables K and L, the data analysis system 200 will record that the two variables are independent and will no longer determine the independence between variables K and L using the method described above.

[0099] S204. The data analysis system 200 predicts business indicators based on multiple sets of time-series data corresponding to multiple variables and the causal relationships contained in the above-mentioned multiple variables, and obtains the predicted data corresponding to the business indicators.

[0100] After determining the causal relationships among the multiple variables based on their corresponding time-series data, the data analysis system 200 can predict business metrics based on these relationships. For data representing the result in a causal relationship, the system uses data representing the cause to predict the variable representing the result, ultimately obtaining predicted data for business metrics. This predicted data is used to make decisions related to the target business. For example, if the target business is sales, its business metrics include sales volume. The predicted data is the sales volume forecast, and users can use this forecast to formulate the next sales strategy, such as price reductions or promotions.

[0101] Regarding the above Figure 4As shown in the causal relationship, the data analysis system 200 uses the time-series data corresponding to variables A, B, and C to predict variable D, obtaining the predicted data for variable D. The time-series data corresponding to variable D and the predicted data for variable D are then combined to obtain new time-series data for variable D. Next, using the new time-series data corresponding to variable D and the time-series data corresponding to variable E, the system predicts variable H, obtaining the predicted data for variable H. The time-series data corresponding to variable H and the predicted data for variable H are then combined to obtain new time-series data for variable H. Similarly, using the time-series data corresponding to variables F and G, the system predicts variable I, obtaining the predicted data for variable I. The time-series data corresponding to variable I is then combined with the predicted data for variable I to obtain new time-series data for variable I. Finally, using the new time-series data corresponding to variables H and I, the system predicts variable I, obtaining the predicted data for variable I.

[0102] For example, regarding the above Figure 5 As shown in the causal relationship, the data analysis system 200 can predict the product's list price based on raw material costs, labor costs, and warehousing costs, obtaining a predicted list price. It then combines the time-series data corresponding to the list price with the predicted list price to obtain new time-series data corresponding to the list price. Next, using the new time-series data corresponding to the list price and the time-series data corresponding to the discount, it predicts the selling price. It then combines the time-series data corresponding to the selling price with the predicted selling price data to obtain new time-series data corresponding to the selling price. Finally, it predicts sales volume using the new time-series data corresponding to the selling price and the new time-series data corresponding to the production volume, obtaining predicted sales volume data.

[0103] In one possible implementation, after predicting a business indicator using the above method, the data analysis system 200 analyzes the business indicator based on the predicted data and the corresponding time-series data to determine whether the business indicator is abnormal. If an abnormality is determined, the data analysis system 200 sends a warning message to the client 100. This warning message includes the abnormal business indicator to alert the user and facilitate appropriate decision-making based on the abnormal indicator. For example, an abnormality is determined when the predicted data exceeds a first preset threshold, or when the predicted data is below the first preset threshold, or when the business indicator continuously rises or falls.

[0104] After determining that a business indicator has become abnormal, the data analysis system 200 can use an attribution algorithm to identify the cause of the abnormality and include this cause in the aforementioned warning information. This informs the user of the reason for the abnormality, allowing them to develop appropriate countermeasures. For example, in the aforementioned... Figure 5 In the causal relationship diagram shown, if the sales volume business metric is abnormal, the time-series data corresponding to the three variables—sales volume, selling price, and production volume—are used as inputs to the attribution algorithm. The algorithm determines the cause of the sales volume anomaly, for example, the selling price. Then, the time-series data corresponding to the three variables—selling price, list price, and discount—are used as inputs to determine the cause of the selling price anomaly, for example, the list price. Next, the time-series data corresponding to the four variables—list price, raw material cost, labor cost, and warehousing cost—are used as inputs to determine the cause of the list price anomaly, which is raw material cost. Finally, the attribution algorithm determines that the cause of the sales volume anomaly is raw material cost. The attribution algorithm can be any one of the following: Shapley value algorithm, SHAP algorithm, feature importance algorithm, or counterfactual explanation algorithm.

[0105] The above text combined Figures 1 to 6 This application provides a detailed introduction to the decision support method. Next, it will further combine... Figures 7 to 9 This application provides a description of the data analysis system, computing device, and computing device cluster.

[0106] See Figure 7 , Figure 7 This is a schematic diagram of a data analysis system provided in this application. The data analysis system 200 is used to implement... Figures 1-6 The decision support method implemented by the data analysis system 200 in the corresponding embodiment, such as Figure 7 As shown, the data analysis system 200 includes a communication module 101, an acquisition module 102, a processing module 103, and a prediction module 104.

[0107] The communication module 101 is used to receive data analysis requests submitted by the client 100. These requests include variable names of multiple variables related to business metrics of the target business. The method by which the client 100 generates the data analysis request based on user input can be referred to the relevant description in S201 above, and will not be described further here.

[0108] The acquisition module 102 is used to acquire data analysis requests and obtain time-series data corresponding to the aforementioned multiple variables based on the data analysis requests; wherein, each of the aforementioned multiple variables corresponds to a set of time-series data. The method by which the acquisition module 102 acquires the time-series data corresponding to each variable can be referred to the relevant description in S202 above, and will not be described here again.

[0109] Processing module 103 is used to determine the causal relationship between multiple variables based on time-series data corresponding to multiple variables. The method by which processing module 103 determines the causal relationship between multiple variables based on time-series data can be referred to the relevant description in S203 above, and will not be described again here. Processing module 103 can also generate a causal relationship diagram. The relevant description of processing module 103 generating the causal relationship diagram can be referred to the relevant description in S203 above, and will not be described again here.

[0110] The prediction module 104 is used to predict business indicators based on the causal relationships between multiple sets of time-series data and multiple variables determined by the processing module 103, obtaining predicted data for the business indicators so that users can make decisions based on the predicted data. For example, it can determine whether the business indicators are abnormal based on the predicted data. The method by which the prediction module 104 predicts business indicators can be referred to the relevant description in S204 above, and will not be described again here.

[0111] Optionally, the data analysis system 200 also includes a root cause analysis module 105, which analyzes the business indicator based on the predicted data and the corresponding time series data to determine whether the business indicator is abnormal. When it is determined that the business indicator is abnormal, the system uses an attribution algorithm to determine the cause of the abnormality and provides an early warning message. The early warning message carries the cause of the abnormality to indicate to the user the cause of the abnormality, so that the user can formulate corresponding countermeasures based on the cause of the abnormality.

[0112] The communication module 101, acquisition module 102, processing module 103, prediction module 104, and root cause analysis module 105 described above can all be implemented in software or in hardware. For example, the implementation of processing module 103 will be described below; the implementation of other modules can refer to the implementation of processing module 103.

[0113] Processing module 103, as an example of a software functional unit, includes code running on a computing instance. The computing instance includes at least one of a physical host (computing device), a virtual machine, and a container. Further, the aforementioned computing instance can be one or more. For example, processing module 103 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code can be distributed in the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code can be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple geographically proximate data centers. A region may include multiple AZs.

[0114] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.

[0115] As an example of a hardware functional unit, the processing module 103 may include at least one computing device, such as a server. Alternatively, the processing module 103 may be implemented using a central processing unit (CPU), an application-specific integrated circuit (ASIC), or a programmable logic device (PLD). The PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), a data processing unit (DPU), a neural network processing unit (NPU), a system-on-chip (SoC), an offload card, an accelerator card, or any combination thereof.

[0116] The processing module 103 includes multiple computing devices that can be distributed in the same region or in different regions. Similarly, the processing module 103 can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the processing module 103 can be distributed in the same Virtual Private Cloud (VPC) or in multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, GALs, DPUs, NPUs, SoCs, offloading cards, and accelerator cards.

[0117] It should be noted that, in other embodiments, the processing module 103 can be used to implement... Figure 2 In the corresponding method embodiment, the prediction module 104 can be used to implement any step of the data analysis system 200. Figure 2 In the corresponding method embodiment, any step implemented by the data analysis system 200, the steps implemented by the processing module 103 and the prediction module 104 can be specified as needed and implemented by the processing module 103 and the prediction module 104. Figure 2 The data analysis system 200 in the illustrated embodiment implements all the functions.

[0118] See Figure 8 , Figure 8 This is a schematic diagram of a computing device provided in this application, such as... Figure 8 As shown, the computing device 800 includes a bus 802, a processor 804, a memory 806, and a communication interface 808. The processor 804, the memory 806, and the communication interface 808 communicate with each other via the bus 802. It should be understood that this application does not limit the number of processors and memories in the computing device 800. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.

[0119] The 802 bus can be a Peripheral Component Interconnect Express (PCIe) bus, an Extended Industry Standard Architecture (EISA) bus, a Unified Bus (Ubus or UB), a Compute Express Link (CXL) bus, a Cache Coherent Interconnect for Accelerators (CCIX) bus, etc. Buses can be categorized into address buses, data buses, and control buses. For ease of representation, Figure 8 The bus 802 is represented by only one line, but this does not mean that there is only one bus or one type of bus. The bus 802 may include a path for transmitting information between various components of the computing device 800 (e.g., memory 806, processor 804, communication interface 808). The unified bus may also be called the Lingqu bus.

[0120] Processor 804 includes a central processing unit (CPU), and may also include other hardware chips, such as any one or more of a microprocessor (MP) or digital signal processor (DSP), ASIC, FPGA, CPLD, NPU, SoC, offload card, and accelerator card.

[0121] Memory 806 may include volatile memory, such as random access memory (RAM). Memory 806 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD). Furthermore, memory 806 may also be implemented using storage class memory (SCM), phase change memory (PCM), or other types of storage media.

[0122] It should be noted that the same type of storage medium can be configured in the same computing device to realize the function of memory 806, or two or more types of storage media can be configured to realize the function of memory 806. This application does not limit this.

[0123] The memory 806 stores executable program code, and the processor 804 executes the executable program code to implement the functions of the data analysis system 200, thereby realizing the analysis of business data.

[0124] The communication interface 808 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 800 and other devices or communication networks. For example, it enables communication with the aforementioned client 100.

[0125] The computing device 800 provided in this application can correspond to executing the auxiliary decision-making method provided in this application, and the above-mentioned and other operations and / or functions of each unit in the computing device 800 are respectively for implementing Figures 2 to 6 For the sake of brevity, the corresponding processes of each method in the code will not be elaborated here.

[0126] As one possible implementation, the computing device 800 may also include a chip system, which includes a processor and a power supply circuit. The power supply circuit supplies power to the processor, and the processor executes the operation steps corresponding to the data analysis system. For simplicity, further details are omitted here. The processor can be implemented using a CPU, or it can be implemented using a graphics processing unit (GPU), DPU, NPU, XPU, SoC, offloading card, accelerator card, or other computing devices or AI chips.

[0127] As one possible implementation, the computing device 800 may include multiple types of processors 804, meaning the computing device 800 is a heterogeneous device. For example, the computing device 800 may include a CPU and a GPU, and at least one of the processors 804 may execute the operation steps corresponding to the review system. For the sake of brevity, further details will not be elaborated here.

[0128] This application also provides a computing device cluster. The computing device cluster includes at least one such... Figure 8 The computing devices shown. The memory 806 of one or more computing devices 800 in the computing device cluster may store the same memory for performing the above-described tasks. Figure 2 The instructions for the method implemented by the data analysis system 200 in the corresponding embodiment.

[0129] In some possible implementations, the memory 806 of one or more computing devices 800 in the computing device cluster may also store partial instructions for executing the decision support method implemented by the data analysis system 200. In other words, a combination of one or more computing devices 800 can jointly execute instructions for implementing the decision support method.

[0130] It should be noted that the memory 806 in different computing devices 800 within the computing device cluster can store different instructions, each used to implement a portion of the functions of the data analysis system 200. That is, the instructions stored in the memory 806 of different computing devices 800 can implement the functions of one or more modules among the communication module 101, acquisition module 102, processing module 103, and prediction module 104.

[0131] One or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 9 This is a schematic diagram illustrating the network connection between two computing devices provided in this application. Figure 9 One possible implementation is shown. For example... Figure 9 As shown, the two computing devices 800A and 800B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device. In this possible implementation, the memory 806 in computing device 800A stores instructions for executing the functions of the acquisition module 102 and the processing module 103. Meanwhile, the memory 806 in computing device 800B stores instructions for executing the functions of the prediction module 104.

[0132] It should be understood that Figure 9 The functions of the computing device 800A shown can also be performed by multiple computing devices 800. Similarly, the functions of the computing device 800B can also be performed by multiple computing devices 800.

[0133] This application also provides a computer program product containing instructions, which may be a software or program product containing instructions capable of running on a computing device or stored on any usable medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to perform the above-described... Figure 2 The method implemented by the data analysis system 200 in the corresponding embodiment.

[0134] This application also provides a computer-readable storage medium, which can be any available medium capable of being stored by a computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium, or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to perform the above-described... Figure 2 The method implemented by the data analysis system 200 in the corresponding embodiment.

[0135] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of this application.

Claims

1. A decision support method, characterized by, The method includes: Obtain a data analysis request, wherein the data analysis request includes the variable names of multiple variables related to the business metrics of the target business; According to the data analysis request, multiple sets of time series data corresponding to the multiple variables are obtained; wherein, each of the multiple variables corresponds to a set of time series data; The causal relationships among the multiple variables are determined based on the multiple sets of time-series data; wherein, a causal relationship between two variables means that a change in one variable will cause a change in the other variable; Based on the multiple sets of time-series data and the causal relationships contained in the multiple variables, the business indicators of the target business are predicted to obtain the predicted data of the business indicators. The predicted data is used to make decisions related to the target business.

2. The method of claim 1, wherein, The multiple variables include a first variable and a second variable, and the data analysis request includes the causal relationship between the first variable and the second variable; The step of determining the causal relationships among the multiple variables based on the multiple sets of time-series data includes: The time delay is determined based on the first time series data corresponding to the first variable and the second time series data corresponding to the second variable; the time delay refers to the delay time after the first variable changes, causing the second variable to start changing. The causal relationships contained in the multiple variables are determined based on the multiple sets of time-series data and the time delay.

3. The method of claim 2, wherein, The step of determining the time delay based on the first time-series data corresponding to the first variable and the second time-series data corresponding to the second variable includes: Obtain multiple candidate delays; the delay is one of the multiple candidate delays. The second variable is predicted based on each of the multiple candidate delays and the first time series data to obtain multiple sets of prediction data; wherein, each candidate delay corresponds to a set of prediction data; The time delay is determined based on the multiple sets of prediction data and the second time series data.

4. The method according to claim 3, characterized in that, Determining the time delay based on the multiple sets of prediction data and the second time series data includes: The variance of the difference between each set of predicted data and the second time series data is determined to obtain multiple variances; The candidate delay corresponding to a set of predicted data with the first variance is taken as the delay; the first variance is less than the other variances among the plurality of variances.

5. The method according to any one of claims 2-4, characterized in that, Determining the causal relationships among the multiple variables based on the multiple sets of time-series data and the time delay includes: Based on the third time series data corresponding to the third variable, the fourth time series data corresponding to the fourth variable, the fifth time series data corresponding to the fifth variable, and the time delay, it is determined whether the third variable, the fourth variable, and the fifth variable constitute a collision structure; wherein, the third variable and the fourth variable are two independent variables among the plurality of variables, and the fifth variable is one of the plurality of variables; The third, fourth, and fifth variables form a collision structure, which determines that there is a causal relationship between the third and fifth variables, and between the fourth and fifth variables.

6. The method according to claim 5, characterized in that, The method further includes: The third, fourth, and fifth variables do not constitute a collision structure. The causal relationship between the third and fifth variables, as well as the causal relationship between the fourth and fifth variables, is determined using a non-Gaussian noise model.

7. The method according to claim 5 or 6, characterized in that, The step of determining whether the third variable, the fourth variable, and the fifth variable constitute a collision structure based on the third time series data corresponding to the third variable, the fourth time series data corresponding to the fourth variable, the fifth time series data corresponding to the fifth variable, and the time delay includes: Based on the third time series data, the fourth time series data, the fifth time series data, and the delay, determine whether the third time series data and the fourth time series data are related; If the third time series data and the fourth time series data are related, it is determined that the third variable, the fourth variable and the fifth variable constitute a collision structure; or, If the third time series data and the fourth time series data are uncorrelated, it is determined that the third variable, the fourth variable, and the fifth variable do not constitute a collision structure.

8. The method according to any one of claims 5-7, characterized in that, Before determining whether the third, fourth, and fifth variables constitute a collision structure, the method further includes: Based on the third time series data, the fourth time series data, and the time delay, it is determined that the third variable and the fourth variable are independent of each other; Based on the third time series data, the fifth time series data, and the delay, it is confirmed that the third variable and the fifth variable are related variables; Based on the fourth time series data, the fifth time series data, and the delay, it is confirmed that the fourth variable and the fifth variable are related variables.

9. The method according to any one of claims 1-8, characterized in that, After obtaining the predicted data for the business indicators, the process further includes: The predicted data of the business indicator indicates that the business indicator is abnormal. Based on the predicted data of the business indicator and the multiple sets of time series data, the variable that caused the abnormality of the business indicator is determined. Generate early warning information, which includes variables that cause the abnormal transmission of the business indicators.

10. A data analysis system, characterized in that, The data analysis system is used to assist decision-making, including: The acquisition module is used to acquire data analysis requests, which include variable names of multiple variables related to business metrics of the target business. The acquisition module is used to acquire multiple sets of time series data corresponding to the multiple variables according to the data analysis request; wherein, each of the multiple variables corresponds to a set of time series data; The processing module is used to determine the causal relationships among the multiple variables based on the multiple sets of time-series data; wherein, a causal relationship between two variables means that a change in one variable will cause a change in the other variable; The prediction module is used to predict the business indicators of the target business based on the multiple sets of time-series data and the causal relationships contained in the multiple variables, and obtain the predicted data of the business indicators. The predicted data is used to make decisions related to the target business.

11. The system according to claim 10, characterized in that, The multiple variables include a first variable and a second variable, and the data analysis request includes the causal relationship between the first variable and the second variable; The processing module is specifically used for: The time delay is determined based on the first time series data corresponding to the first variable and the second time series data corresponding to the second variable; wherein, the time delay refers to the delay time that causes the second variable to start changing after the first variable changes; The causal relationships contained in the multiple variables are determined based on the multiple sets of time-series data and the time delay.

12. The system according to claim 11, characterized in that, The processing module is specifically used for: Obtain multiple candidate delays; the delay is one of the multiple candidate delays. The second variable is predicted based on each of the multiple candidate delays and the first time series data to obtain multiple sets of prediction data; wherein, each candidate delay corresponds to a set of prediction data; The time delay is determined based on the multiple sets of prediction data and the second time series data.

13. The system according to claim 12, characterized in that, The processing module is specifically used for: The variance of the difference between each set of predicted data and the fifth time series data is determined to obtain multiple variances; The candidate delay corresponding to a set of predicted data with the first variance is taken as the delay; the first variance is less than the other variances among the plurality of variances.

14. The system according to any one of claims 11-13, characterized in that, The processing module is specifically used for: Based on the third time series data corresponding to the third variable, the fourth time series data corresponding to the fourth variable, the fifth time series data corresponding to the fifth variable, and the time delay, it is determined whether the third variable, the fourth variable, and the fifth variable constitute a collision structure; wherein, the third variable and the fourth variable are uncorrelated; The third, fourth, and fifth variables form a collision structure, which determines that there is a causal relationship between the third and fifth variables, and between the fourth and fifth variables.

15. The system according to claim 14, characterized in that, The processing module is specifically used for: The third, fourth, and fifth variables do not constitute a collision structure. The causal relationship between the third and fifth variables, as well as the causal relationship between the fourth and fifth variables, is determined using a non-Gaussian noise model.

16. The system according to claim 14 or 15, characterized in that, The processing module is specifically used for: Based on the third time series data, the fourth time series data, the fifth time series data, and the delay, determine whether the third time series data and the fourth time series data are related; If the third time series data and the fourth time series data are related, it is determined that the third variable, the fourth variable and the fifth variable constitute a collision structure; or, If the third time series data and the fourth time series data are uncorrelated, it is determined that the third variable, the fourth variable, and the fifth variable do not constitute a collision structure.

17. The system according to any one of claims 12-16, characterized in that, Before determining whether the third, fourth, and fifth variables form a collision structure, the processing module is further configured to: Based on the third time series data, the fourth time series data, and the time delay, it is determined that the third variable and the fourth variable are independent of each other; Based on the third time series data, the fifth time series data, and the delay, it is confirmed that the third variable and the fifth variable are related variables; Based on the fourth time series data, the fifth time series data, and the delay, it is confirmed that the fourth variable and the fifth variable are related variables.

18. The system according to any one of claims 10-17, characterized in that, The system also includes a root cause analysis module; The root cause analysis module is used to determine the variables that cause the abnormality of the business indicator based on the predicted data of the business indicator and the multiple sets of time series data. The root cause analysis module is also used to generate early warning information, which includes variables that cause the abnormal transmission of the business indicators.

19. A computing device, characterized in that, The computing device includes a processor and a memory, the memory being used to store instructions, and the processor being used to execute the instructions stored in the memory to implement the method as described in any one of claims 1-9.

20. A computer-readable storage medium, characterized in that, Includes computer program instructions, which, when executed by a cluster of computing devices, implement the method as described in any one of claims 1-9.

21. A computer program product containing instructions, characterized in that, When the instructions are executed by a cluster of computing devices, the cluster of computing devices implements the method as described in any one of claims 1-9.