A sales forecasting method, system and related devices

By dividing sales forecasting into base values ​​and change values, and combining time-series algorithms and price elasticity analysis, the problem of inaccurate sales forecasting in existing technologies is solved, achieving more accurate sales forecasting and enhancing enterprises' market responsiveness and resource allocation efficiency.

CN122312201APending Publication Date: 2026-06-30HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2024-12-31
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Existing sales forecasting methods are not accurate enough when considering price changes and market dynamics, and they are unable to capture the causal effects of multiple factors, resulting in inaccurate forecasts.

Method used

Sales forecasting is divided into two parts: basic sales value and sales change value. Time series algorithm and price elasticity analysis are used respectively. By obtaining high-quality historical sales data, and using piecewise fitting and dual machine learning algorithms, price elasticity and sales change value are calculated, and the total sales are predicted in combination with the current price.

Benefits of technology

It improves the accuracy and efficiency of sales forecasting, helping companies better plan production and inventory, optimize resource allocation, and enhance market competitiveness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122312201A_ABST
    Figure CN122312201A_ABST
Patent Text Reader

Abstract

This application provides a sales forecasting method, system, and related equipment, relating to the field of information technology. The method includes the following steps: acquiring historical sales data; forecasting a first sales forecast value based on the historical sales data, where the first sales forecast value indicates the base sales value under unchanged price conditions; forecasting a second sales forecast value based on the historical sales data, where the second sales forecast value indicates the change in sales due to price changes; and determining a total sales forecast value based on the first and second sales forecast values. This method completes the sales forecasting process in two parts: one part forecasts the change in sales, and the other part forecasts the base sales value, improving forecast accuracy. Simultaneously, the two parts are based on different forecasting algorithms, allowing the acquisition of corresponding historical sales data based on the forecasting algorithms, thereby improving data utilization and accuracy, and further enhancing forecast accuracy and efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of information technology (IT), and more particularly to a sales forecasting method, system, and related equipment. Background Technology

[0002] In today's highly competitive market environment, businesses are increasingly reliant on precise pricing strategies to enhance their competitiveness. Accurate pricing not only helps companies maximize profits but also optimize market share without compromising customer satisfaction. To achieve this, many companies employ sophisticated algorithms and models to predict expected sales volumes at different price points.

[0003] Traditional sales forecasting methods primarily rely on historical sales data, seasonal trend analysis, and simple statistical regression models. However, these methods often overlook the complexity and non-linearity of the impact of price changes on sales, especially when considering competitor behavior and market dynamics. Furthermore, traditional statistical regression models, when used as forecasting models, typically assume that future behavior will follow past patterns, which may not always hold true in rapidly changing market conditions.

[0004] In recent years, with the advancements in big data technology and machine learning, more advanced sales forecasting methods have emerged. Among these, price elasticity analysis is widely used to quantify the impact of price changes on sales volume. Price elasticity, to some extent, represents the sensitivity of sales volume to price changes, providing crucial information about how product demand responds to price adjustments. However, traditional price elasticity analysis methods often struggle to accurately capture causal effects under conditions of multiple interfering factors.

[0005] Therefore, how to provide an accurate sales forecasting method has become an urgent problem to be solved. Summary of the Invention

[0006] This application provides a method, system, and related equipment for predicting the sales volume of electronic devices, which addresses the problem of inaccurate sales prediction.

[0007] Firstly, a sales forecasting method is provided. This method first acquires historical sales data; then, it forecasts a first sales forecast value based on the historical sales data, whereby the first sales forecast value indicates the base sales value under the condition that the price has not changed; it forecasts a second sales forecast value based on the historical sales data, whereby the second sales forecast value indicates the change in sales value due to price changes; and finally, it determines a total sales forecast value based on the first sales forecast value and the second sales forecast value.

[0008] The method described in the first aspect obtains historical sales data based on user-input configuration information. This historical sales data, obtained through user-input configuration information, helps to accurately predict sales based on user needs, achieving high efficiency and accuracy from the data acquisition source. This avoids data redundancy, improves data relevance, and thus enhances prediction accuracy. Furthermore, the sales prediction process is divided into two parts: predicting the change in sales volume and predicting the baseline sales volume, improving prediction accuracy. Both parts are based on different prediction algorithms, allowing for the acquisition of corresponding historical sales data, thereby improving data utilization and accuracy, further enhancing prediction accuracy and efficiency. The two parts can be computed in parallel, improving computational prediction efficiency.

[0009] In one possible implementation, the historical sales data includes first historical sales data and second historical sales data; a first sales forecast value is determined based on the first historical sales data and a first prediction algorithm; and a second sales forecast value is determined based on the second historical sales data and a cost function.

[0010] Optionally, the first prediction algorithm may include a time-series algorithm.

[0011] The above-described implementation method, using time-series algorithms for sales forecasting, can capture trends and seasonal variations, handle time dependencies, automatically update the model, detect outliers, and perform multivariate analysis. These advantages improve forecast accuracy and decision-making efficiency, helping companies better plan production and inventory, and reduce costs and risks.

[0012] Optionally, the first historical sales data includes any one or more of the following: historical sales data of the same type of product, historical sales data of the same product model, and historical sales data of products with the same price.

[0013] Optionally, the second historical sales data includes any one or more of the following: historical sales data of the same type of products, historical sales data of the same product model, historical sales data of products with the same price, and historical sales data of different types of products; wherein, the second historical sales data is preferably historical sales data of the same period, which refers to historical sales data of the same period that matches the expected sales time.

[0014] Optionally, the first historical sales data and the second historical sales data are the same.

[0015] Optionally, the first historical sales data and the second historical sales data are different.

[0016] The above-described approach offers several advantages. First, high-quality data sources significantly improve forecast accuracy, reduce errors, and ensure more reliable results. Second, accurate data sources help businesses capture market trends and changes, allowing for timely adjustments to forecasting models and maintaining real-time relevance. Furthermore, accurate sales forecasts enable businesses to better plan production and inventory, optimize resource allocation, and reduce inventory costs and stockout risks. Finally, accurate data sources provide management with reliable decision-making support, helping to develop more effective market strategies and sales plans, thereby enhancing the company's competitiveness and market responsiveness. These advantages make obtaining accurate data sources crucial for sales forecasting.

[0017] In another possible implementation, the step of predicting the second sales forecast value based on historical sales data further includes:

[0018] Determine price elasticity based on historical sales data;

[0019] The second sales forecast is calculated based on the current price and price elasticity.

[0020] In another possible implementation, determining price elasticity based on historical sales data further includes:

[0021] The historical sales data is piecewise fitted to obtain the prediction function f. θ (x i The method calculates the difference between the predicted sales value and the observed sales value based on the cost function and determines one or more optimal segmentation intervals, each of which corresponds to a prediction function; wherein the predicted sales value is obtained based on the prediction function and the observed sales value is obtained based on historical sales data.

[0022] Optionally, the historical sales data can be piecewise fitted to obtain the prediction function f. θ (x i In this function, the independent variable X is the sales time, and the dependent variable is the sales volume Y.

[0023] The above implementation method has the following advantages through data segmentation and window fitting: (1) Improved model accuracy: Segmentation can be specifically fitted to different data segments, reducing the overall model error and improving prediction accuracy. (2) Capture of local features: Window fitting can better capture local features and trends in the data, adapting to the characteristics of different time periods. (3) Enhanced model robustness: Segmentation can reduce the impact of outliers on the overall model, improving the robustness and stability of the model. (4) High flexibility: Window fitting is flexible and can adjust the window size and processing method according to actual needs, adapting to different application scenarios. (5) Facilitates parallel computing: Segmentation can divide the data into multiple independent parts, facilitating parallel computing and improving computational efficiency.

[0024] In one possible implementation, determining the price elasticity based on historical sales data further includes: using a prediction function f corresponding to each optimal segment interval. θ (x i Determine the price elasticity for each optimal segment interval.

[0025] Optionally, when the prediction function is a linear fitting function, the slope of the linear fitting function is the same as the value of the price elasticity.

[0026] The above-described method of predicting sales volume using price elasticity has significant beneficial effects. First, price elasticity analysis reveals the sensitivity of sales volume to price changes, helping businesses understand consumer price responses and thus develop more effective pricing strategies. Second, using price elasticity to predict sales volume improves forecast accuracy because it considers the direct impact of price fluctuations on demand. Furthermore, price elasticity analysis helps businesses optimize promotional and discount activities, maximizing sales volume and profits through reasonable price adjustments. Third, price elasticity forecasting helps businesses simulate and make decisions under different market conditions, evaluating the potential effects of different pricing strategies. Finally, through price elasticity analysis, businesses can better respond to market competition, adjust product mix and market positioning, and enhance market competitiveness. These advantages make price elasticity a valuable tool for sales volume forecasting.

[0027] In another possible implementation, determining price elasticity based on historical sales data includes: determining the price elasticity for each optimal segment interval using a dual machine learning algorithm.

[0028] Optionally, determining price elasticity using a dual machine learning algorithm further includes: obtaining observed prices and observed sales volumes for each segment based on historical sales data; determining predicted prices and predicted sales volumes using a machine learning algorithm; determining price residuals based on the observed prices and the predicted prices; and determining sales volume residuals based on the observed sales volumes and the predicted sales volumes.

[0029] Price elasticity is determined based on the fitted function of the price residual and the sales volume residual, where price elasticity is the slope of the fitted function.

[0030] The above implementation method uses a dual machine learning algorithm to determine price elasticity. The dependent and independent variables in the fitting function corresponding to the price elasticity are the dependent and independent variables that remove the causal relationship between price and sales volume caused by other factors (usually, the independent and dependent variables are sales volume and price, respectively). This improves the purity of the relationship between price and sales volume, thereby improving the accuracy of price elasticity and further improving prediction efficiency.

[0031] In one possible implementation, the formula for calculating the difference between the sales forecast and the observed sales based on the cost function and determining one or more optimal segmentation intervals is as follows:

[0032] Among them, (y i -f θ (x i ))2 represents the sum of squares of the residuals ei, y i f represents the sales observation value. θ (x) represents the sales forecast value, and point τ i-1 Point τ i These are the starting and ending points of the coordinates for each segment.

[0033] The above implementation method calculates the fitting error through a cost function and optimizes the fitting parameters for each window, thereby more accurately capturing local features and trends in the data and improving fitting accuracy. Simultaneously, the cost function helps select the most suitable window size and number, avoiding an overly complex model and reducing the risk of overfitting. This yields the piecewise fitting method corresponding to the minimum error, obtaining the coordinate start and end points (or coordinate endpoints) of each segment interval corresponding to the minimum error. Based on these coordinates, the price elasticity corresponding to the expected sales time is mapped one-to-one with the historical price elasticity for the same period, enabling the determination of subsequent price elasticities and facilitating the calculation of the second sales forecast.

[0034] In a possible implementation, the step of calculating the second sales forecast value based on the price elasticity and the current price further includes: calculating the second sales forecast value based on the price elasticity corresponding to the expected sales date and the current price, wherein the current price is the expected sales price in the configuration information; the price elasticity corresponding to the forecast date is equal to the historical price elasticity for the same period, and the historical price elasticity for the same period is determined based on the price elasticity of each optimal segment interval.

[0035] In one possible implementation, the price elasticity ranges from -2 to 2.

[0036] The above implementation method, through segmented processing, allows for precise elasticity analysis across different price ranges. The range of price elasticity values ​​is determined using extensive data. To reduce overall model error, segmented analysis better captures the subtle impact of price changes on sales volume, revealing demand characteristics within different price ranges and improving forecast accuracy and precision. Furthermore, since historical price elasticity considers sales performance over the same historical period, it reflects cyclical data changes and the influence of external factors, helping companies better understand and predict the impact of cyclical changes and external factors on sales volume. This contributes to more accurate predictions of the impact of price changes on sales volume, thereby improving the accuracy of sales forecasts.

[0037] Secondly, a sales forecasting system is provided, comprising a configuration unit, an acquisition unit, and an algorithm unit. The configuration unit is used to acquire configuration information input by a user and generate a configuration request. The acquisition unit is used to acquire historical sales data, which is sent by a database according to the configuration request. The algorithm unit is used to predict a first sales forecast value and a second sales forecast value based on the historical sales data, and to determine a total sales forecast value based on the first and second sales forecast values. The first sales forecast value indicates the base sales value under unchanged price conditions, and the second sales forecast value indicates the change in sales value due to price changes.

[0038] The system described in the second aspect can first allow the user to input configuration information, then determine historical sales data based on the configuration information, then predict a first sales forecast value based on the historical sales data, wherein the first sales forecast value is used to indicate the basic sales value under the condition that the price has not changed; predict a second sales forecast value based on the historical sales data, wherein the second sales forecast value is used to indicate the change in sales due to the price change; and finally, determine the total sales forecast value based on the first sales forecast value and the second sales forecast value.

[0039] In one possible implementation, a configuration unit is used to obtain configuration information input by the user and generate a configuration request; an acquisition unit is used to acquire historical sales data, which is sent by the database according to the configuration request; an algorithm unit is used to predict a first sales forecast value and a second sales forecast value based on the historical sales data, and to determine a total sales forecast value based on the first sales forecast value and the second sales forecast value; wherein, the first sales forecast value is used to indicate the basic sales value under the condition that the price has not changed; the second sales forecast value is used to indicate the sales change value due to the price change.

[0040] In one possible implementation, the algorithm unit is configured to determine a first sales forecast value based on the first historical sales data and the first prediction algorithm; the algorithm unit is configured to determine a second sales forecast value based on the second historical sales data and the second prediction algorithm.

[0041] Optionally, the first prediction algorithm may include a time-series algorithm.

[0042] Optionally, the historical sales data acquired by the acquisition unit includes first historical sales data and second historical sales data;

[0043] In one possible implementation, the algorithm unit is used to determine that the first historical sales data includes any one or more of the following: historical sales data of the same type of product, historical sales data of the same product model, and historical sales data of products with the same price; the acquisition unit is used to determine that the second historical sales data includes: historical sales data for the same period.

[0044] In one possible implementation, the acquisition unit is used to determine that the first historical sales data and the second historical sales data are the same.

[0045] In one possible implementation, the acquisition unit is used to determine that the first historical sales data and the second historical sales data are different.

[0046] In one possible implementation, the algorithm unit is used to predict a second sales forecast value based on historical sales data, further comprising: determining price elasticity based on historical sales data; and calculating the second sales forecast value based on the price elasticity and the current price.

[0047] In one possible implementation, the algorithm unit is used to determine price elasticity based on historical sales data, further comprising: performing piecewise fitting of the historical sales data to obtain a prediction function f. θ (x i The system determines the sales forecast value based on the prediction function; it calculates the difference between the sales forecast value and the observed sales value based on the cost function and determines one or more optimal segment intervals. The sales forecast value is obtained based on the prediction function, and the observed sales value is obtained based on historical sales data. Each optimal segment interval corresponds to a prediction function.

[0048] Optionally, the algorithm unit is also used to predict based on the prediction function f. θ (x i Determine the price elasticity for each optimal segment interval.

[0049] In one possible implementation, the algorithm unit is further configured to determine the price elasticity of each optimal segment interval according to the prediction function, including: determining the prediction function according to a dual machine learning algorithm.

[0050] In one possible implementation, the algorithm unit is further configured to, when the prediction function is a linear fitting function, have the same slope as the price elasticity.

[0051] Optionally, the dependent variable (y) of the linear fitting function represents sales volume, and the independent variable (x) represents the sales date.

[0052] In one possible implementation, the algorithm unit is further configured to determine the calculation formula for calculating the difference between the sales forecast value and the sales observation value based on the cost function and determining one or more optimal segmentation intervals, as follows: Among them, (y i -f θ (x i )) 2 y represents the sum of squares of the residuals ei. i f represents the sales observation value. θ (x) represents the sales forecast value, and point τ i-1 Point τ i These are the starting and ending points of the coordinates for each segment.

[0053] In one possible implementation, the algorithm unit is further configured to determine the second sales forecast value calculated based on the price elasticity and the current price, further comprising: calculating the second sales forecast value based on the price elasticity corresponding to the expected sales date and the current price; wherein the current price is based on the expected sales price in the configuration information; the price elasticity corresponding to the forecast date is equal to the historical price elasticity for the same period, and the historical price elasticity for the same period is determined based on the price elasticity of each optimal segment interval.

[0054] In one possible implementation, the algorithm unit is further configured to determine that the price elasticity ranges from [-2, 2].

[0055] Thirdly, a computing device is provided, the computing device including a processor and a memory, the memory for storing instructions and the processor for executing the instructions, such that the computing device implements the operational steps of the method as described in the first aspect and any possible implementation thereof.

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

[0057] Fifthly, a computer-readable storage medium is provided, in which instructions are stored, which, when executed by a computing device or a cluster of computing devices, implement the operational steps of the method as described in the first aspect and any possible implementation thereof.

[0058] In a sixth aspect, a computer program product comprising instructions is provided, the computer program product including instructions capable of running on a computing device or stored in any available medium, and when the computer program product is run on a computing device or a cluster of computing devices, causing the computing device or cluster of computing devices to perform the operational steps of the method described in the first aspect and any possible implementation thereof.

[0059] In a seventh aspect, a chip system is provided, 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 and any possible implementation of the first aspect.

[0060] It should be understood that this application achieves at least the following beneficial effects:

[0061] (1) This application divides the total sales forecast into two parts: the basic sales value and the sales change value. Based on the characteristics of the forecast, different algorithms are used to predict the basic sales value and the sales change value. For example, the time series forecasting algorithm can smooth the data and capture the long-term trend of the data and automatically adapt to the time change of the data. Another example is to determine the sales change value caused by price changes based on price elasticity. Therefore, combining the two parts to predict sales achieves refined sales forecasting and improves the forecast accuracy.

[0062] (2) When predicting changes based on price elasticity, this application optimizes the calculation process of price elasticity compared to the prior art. By filtering out interfering factors that affect price elasticity through machine learning, it achieves accurate calculation of price elasticity, thereby improving the accuracy of sales change prediction based on price elasticity.

[0063] (3) Based on the characteristics of the algorithm or prediction calculation process, this application adaptively obtains the corresponding data source. For example, when predicting price elasticity, it focuses on selecting the sales data of the same historical period for prediction, which is conducive to determining the accurate price elasticity. For another example, when making predictions through time series algorithms, it focuses on selecting the historical sales data of the same product for prediction, which is conducive to capturing accurate time series characteristics, thereby improving the prediction accuracy. Attached Figure Description

[0064] Figure 1 This is an architecture diagram of a sales forecasting system provided in this application;

[0065] Figure 2This is a flowchart illustrating the steps of the sales forecasting system architecture provided in this application.

[0066] Figure 3 This is an example diagram of a sales forecasting system deployed in a cloud environment according to this application;

[0067] Figure 4 This is a flowchart illustrating the steps of a sales forecasting system provided in this application.

[0068] Figure 5 This application provides a client-side interface for sales forecasting.

[0069] Figure 6 This is another client interface for sales forecasting provided in this application;

[0070] Figure 7 This is a schematic diagram illustrating the change in sales volume over time, as provided in this application.

[0071] Figure 8 This is a schematic diagram of a sales data segmentation interval provided in this application;

[0072] Figure 9 This is a schematic diagram of the structure of a computing device provided in this application. Detailed Implementation

[0073] First, the application scenarios involved in this application will be explained.

[0074] As is well known, sales volume and pricing are inextricably linked and mutually influential in the market sales process of products. Price adjustments inevitably impact sales volume. Due to the rapid pace of product updates and iterations in the electronics industry, the same electronic product often faces the scenario of new and old product iterations. When a new product is launched, if the prices of older products are not adjusted in a timely manner, it may not only lead to a sharp drop in the sales of older products but also affect the sales of the new product. Conversely, if new products are not accurately priced, it will inevitably affect the sales volume of both new and old products. Therefore, there is an urgent need to develop a method that can accurately predict sales volume under price adjustments, thereby enabling reasonable pricing or price adjustments for products.

[0075] Generally speaking, sales forecasting using time-series forecasting algorithms is inaccurate. This is because sales in real-world scenarios are influenced by many factors besides price, while time-series forecasting algorithms only consider the relationship between date and sales volume, without taking into account other factors such as the impact of price changes and other unpredictable combined effects on the date. This leads to inaccurate sales forecasting using time-series forecasting algorithms.

[0076] To address the issue of low accuracy in current sales forecasting systems, this application provides a sales forecasting system. This system first receives a configuration request sent by a client, which includes the adjusted current price and the forecast period. Based on the configuration information in the request, the system sends a data retrieval request to a server or database to obtain historical sales data. Then, it forecasts both the baseline sales value and the change in sales volume based on this historical data. The change in sales volume is determined by the current price and the future price elasticity. To determine the future price elasticity, the system first segments the historical sales data, identifies one or more optimal segment intervals, and uses a fitting function to represent the data within each optimal segment interval. Next, price elasticity is calculated for each optimal segment interval. The calculation methods include at least two approaches. The first is to determine price elasticity based on the slope of the fitted function. For example, when the fitted function is a linear function y = a + bx (where y represents sales volume and x represents the date), the slope b represents the price elasticity at date x. Finally, the price elasticity at the current date x corresponds to the future price elasticity at the same time. For example, the price elasticity in the first quarter of 2024 is equal to the price elasticity in the first quarter of 2025. Another method is to determine price elasticity using dual machine learning. Similarly, the price elasticity at the current date is the same as the future price elasticity at the same time. Finally, the sales volume change is determined based on the current price and the future price elasticity at the same time. For example, to predict the change in mobile phone sales volume in the first quarter of 2025, if the current price after the price adjustment carried in the configuration request is 2000 yuan, and the future price elasticity at the same time is 1.5 yuan / unit, then the sales volume change = current price * future price elasticity at the same time = 2000 * 1.5 = 3000 units. Finally, the base sales volume value and the sales volume change value are added together to obtain the total predicted sales volume value.

[0077] The technical solution to be protected in this application will be described in detail below with reference to the accompanying drawings.

[0078] Figure 1 This is an architecture diagram of a sales forecasting system provided in this application, such as... Figure 1As shown, the architecture includes a client 100, a sales forecasting system 200, and a database 300. The client 100, the sales forecasting system 200, and the database 300 establish a communication connection via a network. This communication connection can be wired or wireless. The network can be the public internet, an internal local area network (LAN), a virtual private network (VPN), a dedicated line such as fiber optic lines, copper wires, or satellite connections, or a wireless network such as wireless fidelity (Wi-Fi) or a cellular network. The specific implementation of the communication connection is not limited by this application.

[0079] Client 100 is deployed on a terminal device. Specifically, client 100 can be deployed as an agent or plugin on the terminal device to enable human-computer interaction between the user and the sales forecasting system 200. Client 100 sends user-input data, request commands, and other information to the sales forecasting system 200 for processing. Terminal devices include personal computers, smartphones, wearable devices, handheld processing devices, tablets, mobile laptops, augmented reality (AR) devices, virtual reality (VR) devices, smart conferencing devices, etc. The specific implementation of the terminal device does not constitute a limitation on the technical solution protected by this application. The description of computing devices can be found above and will not be repeated here. Client 100 can also be deployed on a physical server, such as an ARM server or an x86 server; this application does not specifically limit its deployment.

[0080] The sales forecasting system 200 can be deployed on computing devices, or on a cluster of computing devices composed of multiple computing devices. The computing devices can be bare metal servers (BMS), virtual machines, containers, or storage devices. BMS refers to a general-purpose physical server, such as an ARM server or an x86 server; 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 needs to be used as the virtual machine's hard drive and memory capacity. Each virtual machine has an independent basic input / output system (BIOS), 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. In specific implementations, the computing device cluster can be a cloud data center, an enterprise private cluster, or a hybrid cloud environment, i.e., a deployment mode that uses both public and private clouds simultaneously; this application does not impose specific limitations.

[0081] Database 300 can be deployed on computing devices or clusters of computing devices, and can also be deployed on storage devices or storage arrays. The descriptions of computing devices and clusters of computing devices are as described above and will not be repeated here. Storage devices can be hard disk drives (HDDs), solid-state drives (SSDs), mechanical hard disks (HDDs), USB flash drives (universal serial buses, USB), flash memory, SD cards (secure digital memory cards, SD cards), Memory Sticks, etc., and this application does not impose specific limitations. Storage arrays can be redundant arrays of independent disks (RAID), network attached storage (NAS), storage area networks (SANs), etc., and this application does not impose specific limitations.

[0082] As mentioned above, client 100, sales forecasting system 200, and database 300 are deployed on different computing devices or computing device clusters, for example... Figure 1As shown. As another possible implementation, the client 100 and the sales forecasting system 200 are deployed on the same computing device or computing device cluster, or the sales forecasting system and the server are deployed on the same computing device or computing device cluster.

[0083] In specific implementation, client 100 can be software or an application running on a terminal device or computing device controlled by the user, such as a personal computer (PC) client, a World Wide Web (WWW) client accessed via a browser, an application (APP) client running on a mobile terminal, or a cloud platform console; this application does not impose specific limitations. The user holding client 100 is a person responsible for managing transaction business within the enterprise, such as a company's finance staff or information technology (IT) staff; this application does not impose specific limitations.

[0084] In specific implementation, such as Figure 2 A flowchart illustrating the steps corresponding to the architecture of the sales forecasting system of this application is provided. As shown in Figure 2, the operation steps of the methods corresponding to the client 100, the sales forecasting system 200, and the database 300 are illustrated.

[0085] Client 100 is used to obtain the user's configuration information and send it to the sales forecasting system 200 (i.e., client 100 executes step S210). The client can be a terminal device deployed on a display screen. The user can input the configuration information into the client through any one or more methods such as keyboard reading and writing, touch handwriting, voice interaction, etc., and display and / or confirm it through the display screen.

[0086] The sales forecasting system 200 is used to obtain configuration information sent by the client and generate a configuration request based on the configuration information. The configuration request can be sent to the database 300 via wireless or wired communication, and the database 300 returns historical sales data. Next, after receiving the historical sales data, the sales forecasting system 200 forecasts both the baseline sales value and the sales change value based on the historical sales data. The baseline sales value can be represented by a first sales forecast value, and the sales change value can be represented by a second sales forecast value. Adding the baseline sales value and the sales change value yields the total sales forecast value. Finally, the total sales forecast value is sent to the client.

[0087] The client 100 sends configuration information to the sales forecasting system 200. The sales forecasting system 200 generates a configuration request based on the configuration information (i.e., the sales forecasting system 200 executes step S220). Then, when the user sends a sales forecasting request to the sales forecasting system 200 through the client 100, the sales forecasting system 200 can send the generated configuration request to the database 300 (i.e., the sales forecasting system executes step S230) and read historical sales data from the database 300.

[0088] Database 300 executes step S240, returning historical sales data to the sales forecasting system 200.

[0089] After receiving historical sales data, the sales forecasting system 200 executes step S250. Based on the historical sales data, it forecasts a first sales volume and a second sales volume. Next, the sales forecasting system 200 executes step S260 to determine the total sales volume forecast based on the first and second sales volume forecasts. Finally, the sales forecasting system 200 sends the total sales volume forecast to the client 100 (executes step S270).

[0090] Optionally, client 100 can be a client specifically designed for sales forecasting. For example, the client may have a configuration tool (which could be one or more configuration fields). When a user needs to forecast product sales, or needs to predict sales after a price change, this tool can be used to configure the product price. For instance, the product price can be configured to be 200 yuan, and the sales forecast tool can be used to predict the sales volume at that price. It should be understood that the sales forecast value can provide users with a quick and accurate prediction of sales volume during price adjustments, thereby enabling accurate pricing. Specifically, the display interface of client 100 has configurable fields, which can be filter boxes or fields for input. The system retrieves the values ​​and content of the filter boxes based on user input and feeds the data back to the sales forecasting system 200. After sales forecasting, the results are returned and displayed on client 100 for the user to see.

[0091] Optionally, client 100 can also be a comprehensive client that includes the aforementioned sales forecasting function. For example, the client may have sales forecasting tools, such as a sales forecasting analysis client, a pricing management client, etc. These comprehensive clients may include not only sales forecasting functions but also other functions. For example, the pricing management client may also include product pricing functions, displaying the predicted sales value under the pricing conditions in conjunction with the product pricing situation, making it easier for managers and users to obtain data and assisting in enterprise decision-making. The above examples are for illustration only and this application does not impose specific limitations.

[0092] Optionally, client 100 can also be a client of a cloud platform, used for users to purchase and rent various cloud services. The sales forecasting solution provided in this application can be one of the cloud services, and users can purchase the cloud service separately to forecast product sales. Alternatively, the cloud platform provides users with a comprehensive service, and the aforementioned sales forecasting function can be a sub-service of the comprehensive cloud service. For example, if a user purchases a database cloud service, the aforementioned sales forecasting function can be a sub-service of that cloud service. This application does not impose any specific limitations.

[0093] In one application scenario, the client 100, the sales forecasting system 200, and the database 300 can be deployed on the enterprise's internal office equipment. For example, the sales forecasting system 200 can be deployed on the server or server cluster purchased by the enterprise, the client 100 can be deployed on the enterprise's office computer, the sales forecasting system 200 can be deployed on the enterprise's server, and the database 300 can be deployed on the enterprise's storage device. The database 300 can be different databases on the same storage device or different databases on different storage devices. This application does not make any specific limitations.

[0094] In this application scenario, employees of the enterprise can use their office computers to run client 100 and send configuration information to sales forecasting system 200 through client 100. Sales forecasting system 200 generates a configuration request based on the configuration information (i.e., sales forecasting system 200 executes step S220). Afterwards, when the user sends a sales forecast request to sales forecasting system 200 through client 100, sales forecasting system 200 can send the generated configuration request to database 300 (i.e., sales forecasting system executes step S230) and read historical sales data from database 300.

[0095] In another application scenario, client 100, sales forecasting system 200, and database 300 can be deployed in a cloud environment. Client 100 serves as the console for the cloud platform. For example... Figure 3 This is an example diagram of a sales forecasting system deployed in a cloud environment, as provided in this application. Figure 3 As shown, a user can initiate a purchase request for the sales forecast cloud service through client 100. After client 100 sends the purchase request to the cloud platform, the cloud platform can grant the user access to the sales forecast system 200, enabling the user to use the sales forecast system 200 to predict the sales volume of a specific product at a specific price through client 100.

[0096] In its implementation, the cloud platform also maintains various basic resources, including computing resources, storage resources, network resources, and security resources, to meet the computing needs of the sales forecasting system 200 under different scales and loads. These computing resources can be dynamically scaled according to the usage requirements of the sales forecasting system 200 to ensure its stable operation. The database 300 can also be a cloud service of the data center, such as elastic cloud service or cloud storage service. After purchasing cloud services, users configure database 300 and store data in the database. When users have sales forecasting needs, they can use the purchased sales forecasting cloud service to retrieve data stored in the database, such as historical sales data, and send it to the cloud platform's sales forecasting system for calculation to obtain the forecast result. The above examples are for illustrative purposes only and are not intended to limit the scope of the application.

[0097] It should be understood that the above application scenarios are for illustrative purposes only. The actual deployment of client 100, sales forecasting system 200, and database 300 can be flexibly adapted to actual business needs. These will not be illustrated in detail here.

[0098] Furthermore, such as Figure 1 As shown, the sales forecasting system 200 may include a configuration unit 210, an acquisition unit 220, and an algorithm unit 230. The configuration unit 210, acquisition unit 220, and algorithm unit 230 are an exemplary division; in a specific implementation, the sales forecasting system 200 may not follow this division. Figure 1 The division method shown divides the sales forecasting system 200 into units. For example, the configuration unit 210 and the algorithm unit 230 can be merged, or the configuration unit 210 and the acquisition unit 220 can be merged. The sales forecasting system may also include a configuration unit, that is, it includes a configuration unit, configuration unit 210, acquisition unit 220, and algorithm unit 230. This application does not make specific limitations.

[0099] In specific implementations, the configuration unit 210, acquisition unit 220, and algorithm unit 230 can be implemented in software or hardware. For example, the implementation of configuration unit 210 will be described below. Similarly, the implementation of acquisition unit 220 and algorithm unit 230 can refer to the implementation of configuration unit 210.

[0100] Configuration unit 210, as an example of a software functional unit, may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the aforementioned computing instance may be one or more. For example, configuration unit 210 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 may be distributed in the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one or more geographically proximate data centers. Typically, a region may include multiple AZs.

[0101] 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.

[0102] Configuration unit 210, as an example of a hardware functional unit, may include at least one computing device, such as a server. Alternatively, configuration unit 210 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-a-chip (SoC), an offload card, an accelerator card, or any combination thereof.

[0103] The multiple computing devices included in configuration unit 210 can be distributed in the same region or in different regions. Similarly, the multiple computing devices included in configuration unit 210 can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in configuration unit 210 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.

[0104] It should be noted that, in other embodiments, the configuration unit 210 can be used to execute any step in the data conversion method provided in this application, and the acquisition unit 220 and the algorithm unit 230 can be used to execute any step in the data conversion method provided in this application. The steps implemented by the configuration unit 210, the acquisition unit 220 and the algorithm unit 230 can be specified as needed. The configuration unit 210, the acquisition unit 220 and the algorithm unit 230 respectively implement different steps in the data conversion method provided in this application to realize all the functions of the sales forecasting system 200.

[0105] It should be understood that the above examples are for illustrative purposes only. The specific deployment of the client 100, sales forecasting system 200, and database 300 can be determined according to the actual application scenario. This application does not impose any specific limitations.

[0106] The above text combines Figures 1-3 This paper details the architecture of the sales forecasting system provided in this application and the operation flow of the modules within that architecture. The following section combines... Figures 4 to 8 This application provides an explanation of the sales forecasting method provided. Figure 4 These are the method steps corresponding to the sales forecasting system 200 provided in this application. This sales forecasting method can be applied to, for example... Figure 4 Specifically, in the sales forecasting system 200 shown, the configuration unit 210, acquisition unit 220, and algorithm unit 230 that can be applied to the sales forecasting system 200 are as follows: Figure 4 As shown, the sales forecasting method provided in this application may include the following steps:

[0107] Step S100: Generate a configuration request based on the configuration information;

[0108] Specifically, the configuration information is generated based on information input by the user through the client. This configuration information is sent to the configuration unit 210, where a configuration request is generated; that is, the configuration unit 210 generates a configuration request based on the configuration information. The configuration information includes user permissions and data parameters. User permissions refer to the user's operational permissions within the system, such as viewing, editing, and deleting. These permissions can be assigned according to the user's role and responsibilities. Data parameters refer to various information input by the user through the client, such as product name, product type, expected sales price, and expected sales time. These parameters are used for the system's prediction and analysis functions. The data parameters can be information input by the user through the client (e.g., the user inputs data parameters into the client through an input device), such as the product name, product type, expected sales price, and expected sales time to be predicted; this application does not limit this specific information.

[0109] As one possible implementation, step S100 can be executed by the client 100 in addition to being executed by the configuration unit 210 in the sales forecasting system 200. Specifically, the client 100 is equipped with the configuration unit 210, and the client 100 then implements the operation steps described in step S100. Furthermore, as another possible implementation, the configuration unit 210 can also be implemented by a separate device independent of the sales forecasting system 200 and the device where the client 100 is located. The deployment of the configuration unit 210 is relatively flexible, and this application does not impose specific limitations on it.

[0110] As an example, see Figure 5 , Figure 5 This application provides a client interface for sales forecasting. The client interface includes a configuration bar containing multiple configuration boxes. These boxes respectively indicate the price before price adjustment, the price after price adjustment (i.e., the expected selling price), the expected sales time, the product name, the product type, and the predicted sales volume. The content of the configuration bar is not limited to that of this application. Figure 5 As shown, Figure 5 The client interface shown is for illustrative purposes only, and this application does not impose specific limitations on the display method and content of the configuration. Figure 5 The client interface shown also includes a results display area, which displays the sales forecast results. This application does not limit the display method; for example, it can be displayed through... Figure 5 The table shown is used for illustration. To better understand this interface, an example is provided below. Figure 5The operation and display process of the client interface is shown below. First, the user confirms the configuration information by entering configuration content in the configuration box. Then, the configuration unit 210 generates a configuration request based on the configuration information entered by the user and retrieves the corresponding historical sales data according to the configuration request. Next, the algorithm unit 230 performs calculations in the background based on the historical sales data, returns the sales prediction result, and displays it on the client's display interface, as shown below. Figure 5 The table area shown. It should be noted that, as mentioned above, the configuration unit 210 can be located outside the client or within the client.

[0111] Optionally, the configuration field includes: price before price adjustment, price after price adjustment, expected sales time, product name, product type, and predicted sales volume, or any one or more of these. Users can reset the information in the configuration field by clicking the reset option. Meanwhile, the sales forecast results can be listed in a table, which can be edited / modified and deleted. For example, editing operations include editing the display style, display size, display color, etc., of the sales forecast results, as well as editing the text of the sales forecast results. Deletion operations include deleting rows and / or columns in the sales forecast results, deleting text, and the types of operations performed on the sales forecast results are not limited in this application. Furthermore, the display format of the sales forecast results may also include a graph, with appendices... Figure 5 The table shown is only one example and is not limited to this application.

[0112] As another example, see Figure 6 , Figure 6 This application provides a client interface for sales forecasting, allowing users to directly input their sales forecasting needs through natural language dialogue in the client's input boxes. For example, please forecast the sales volume of mobile phone M-1 for the entire year of 2026. After receiving the user's input information, a configuration request is generated. Based on the configuration request, relevant historical sales data is obtained, and the sales forecasting system 200 calculates the forecast result and returns it to the dialog box for display.

[0113] Step S101: Obtain historical sales data;

[0114] Specifically, historical sales data can be determined based on configuration requests. For example, if the configuration request is to predict the total mobile phone sales for 2026, then the historical sales data would be the historical sales data of the same product prior to the expected sales date, such as historical mobile phone sales data before 2025. Historical sales data is stored locally or in the cloud (remotely), and sent via local disk or a remote server (database 300), and retrieved by the sales prediction system. For example, historical sales data can be stored on a local disk (e.g., hard drive or solid-state drive) or in a local database, or it can be stored in a browser; this application does not impose any specific limitations.

[0115] Optionally, historical sales data is typically price and / or sales series with daily / weekly / monthly / quarterly statistical granularity, used to indicate historical sales performance in daily / weekly / monthly / quarterly units. Products for which sales forecasts are made include electronic devices, including but not limited to mobile phones (e.g., 3C mobile phones), tablets, desktop computers, handheld computers, laptops, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), augmented reality (AR) / virtual reality (VR) devices, etc. This application embodiment does not limit the specific form of the electronic devices.

[0116] As one possible implementation, when the sales forecasting system 200 receives the configuration information sent by the client 100, the sales forecasting system 200 stores the permission verification rules and can obtain the above permission verification results according to the permission verification rules. The permission verification rules can be the system default rules or the rules configured by the management user. This application does not make specific limitations. Here, the management user refers to the technical personnel who manage and configure the sales forecasting system, such as IT technical personnel.

[0117] For example, permission verification rules include verification of permission levels and permission types, determined through the user ID (user identifier). For instance, if the permission type corresponding to the user ID indicates that the user can access data from a terminal device, then the permission type for that user ID is data from a terminal device. Permission levels range from 1 to 10, with each level granting different permissions. For example, level 1 can only access annual sales data, while level 10 can access daily sales data. The specific permission verification rules can be determined based on the actual application scenario; this application does not impose specific limitations.

[0118] Optionally, historical sales data may include any one or more of the following: historical sales data for the same type of product, historical sales data for the same model of product, and historical sales data for products with the same price. For example, historical sales data for the same model of electronic devices, historical sales data for different models of the same electronic device, and historical sales data for different models of the same type of electronic devices.

[0119] Historical sales data for the same product model can also be referred to as historical sales data for the same product model. For example, "same product model, same electronic device" means that the electronic device in the historical sales data is the same type, style, and model as the electronic product to be predicted. For example, the same product model for mobile phone M-1 includes mobile phone M-1. Historical sales data for the same product model but different electronic devices means that the electronic device in the historical sales data is the same type and style as the electronic product to be predicted, but the type is different. For example, different models of mobile phone M-1 include mobile phones M-2 and M-3. Different models of the same type of electronic product means that the electronic device in the historical sales data belongs to the same category as the electronic product to be predicted but is deployed in the same style and model. For example, different models of mobile phone M-1 include mobile phones X-3 and R-5.

[0120] Optionally, the acquired historical sales data may include historical sales data for similar products. For example, when predicting future sales of a tablet computer (model M-1), similar products include desktop computers (PCs) and portable laptops. Similarly, when predicting future sales of foldable phones, historical sales data for similar mobile phone products can be used for prediction; similar products include flip phones and full-screen phones. This example is for illustration only and is not intended to limit the scope of the application.

[0121] Optionally, the historical sales data obtained may include historical sales data of electronic devices that are exactly the same type and model as the electronic device to be predicted; for example, when predicting future sales of a tablet computer (model M-1), the historical sales data of the same tablet computer (model M-1) may be used.

[0122] Optionally, the acquired historical sales data may include historical sales data for different types of products. Specifically, different types of products refer to products of different types and models. For example, historical sales data for electronic devices that are different in type and model from the electronic device to be predicted. For example, using historical sales data of laptops to predict future sales of mobile phones.

[0123] For ease of understanding, in a real-world scenario, if the electronic device is a mobile phone and its model number is x1, then mobile phones of model number x1 belong to the same type and model of electronic devices. Mobile phones of models x2 / x3 / x4 / x5 / xN belong to the same type but different models of electronic devices. Mobile phones of models M1 / M2 / M3 / M4 belong to different models and types of mobile phones compared to x1. When predicting the sales volume of mobile phones of model number x1, it is preferable to obtain historical sales data of the same type and model of electronic devices in the same product category. For example, obtaining historical sales data of mobile phone model x1. This example is for illustration only and is not intended to limit the scope of this application.

[0124] Optionally, historical sales data includes sales data for the same period in history.

[0125] Specifically, the acquisition unit 220 can determine historical sales data for the same period based on the configuration information. Historical sales data for the same period refers to sales data from the same period that matches the expected sales time; for example, the historical same period for January 2025 is January 2024. Therefore, historical sales data for the same period can be determined based on the expected sales time in the configuration information.

[0126] One possible approach is to determine historical sales data based on configuration information.

[0127] Optionally, the time interval corresponding to the historical sales data can be determined based on the expected sales time in the configuration information. For example, if the user enters configuration information predicting the total sales for 2025, the historical sales data obtained will be the historical sales data prior to January 2025.

[0128] Preferably, the historical sales data acquired by the acquisition unit 220 includes at least one piece of historical data from the same period as the expected sales time. Historical data from the same period refers to a specific time period compared to the previous year or a similar time period in the past. For example, if the expected sales time is the first quarter of 2025, the historical data from the same period as the expected sales time would be the first quarter of 2024, the first quarter of 2023, or the first quarter of any year prior to 2024.

[0129] Optionally, historical sales data can be determined based on the projected selling price in the configuration information. Specifically, historical sales data that match the projected selling price can be retrieved. For example, if the user inputs a projected selling price of 3000 yuan, the historical sales data for products priced at 3000 yuan can be retrieved for sales forecasting.

[0130] The following will use an electronic product (mobile terminal, model A-3) as an example to explain in detail the historical data obtained by the acquisition unit 220.

[0131] First, the configuration unit 210 in the sales forecasting system obtains the configuration information input by the user and generates a configuration request. For example, the configuration request is to calculate the sales forecast value of electronic products (product name and product type) with mobile phone model A-3 in September 2025.

[0132] Next, the acquisition unit 220 retrieves historical sales data based on the configuration information. For example, it retrieves historical sales data for the same product (e.g., mobile phone model A-3). The historical sales data is the historical sales data for mobile phone model A-3 from January 1, 2024 to August 31, 2024, as shown in Table 1. Table 1 is the historical sales data table for predicting the sales of product A-3 in September 2025.

[0133] Table 1

[0134]

[0135] As shown in Table 1, historical sales data includes at least one or more of the following: electronic device type, electronic device name, electronic device model, historical sales time, sales price, and sales volume (a sales sequence in granularity such as day / week / quarter / month). The sales price can be a single price value or a price range. The sales price is a price sequence in granularity such as day / week / quarter / month [e.g., 6999, 6899, 6699, ...]. The sales volume is a sales sequence in granularity such as day / week / quarter / month [e.g., 20,000, 21,000, 30,000, ...].

[0136] As an extended embodiment, when forecasting the sales volume of electronic products with the mobile phone model A-3, historical sales data of different electronic products can also be obtained. For example, when the predicted future sales volume of the mobile phone model is A-3, historical sales data of mobile phone models A-1 or A-2 can be used for forecasting. See Table 1 below. Historical sales data includes sales volume, sales time, sales price, electronic device name and its corresponding model. Among them, due to the different statistical granularity of sales time, the sales price includes price and price range. For example, the sales data from January 1 to February 1, the statistical granularity of this month is price / day, so the sales price displayed in the historical sales data can be a fixed value, such as 2999 yuan / day; the statistical granularity of the current period is price / month, so the sales price displayed in the historical sales data is a price range, such as (2599 yuan to 2999 yuan) / month.

[0137] As one possible implementation method, as described above, users can achieve this through methods such as... Figure 4The client interface shown allows users to input the expected selling price, which is the adjusted price. Users can also input the price before the adjustment. A price change is confirmed when the price before and after the adjustment differs. If the price of the A-3 mobile phone model is predicted to change (e.g., a price adjustment has been implemented), then when forecasting sales of the price-adjusted electronic product, the sales forecasting system will use the adjusted price and historical sales data of electronic products (e.g., mobile phones with models A-1 / A-2 / A-3) retrieved from database 300 to predict the sales volume of the A-3 model. For example, if the price before the adjustment was 2000 yuan and the price after the adjustment is 1800 yuan, the sales forecasting system will retrieve historical sales data of electronic products with the same price from database 300 based on the 1800 yuan price. It should be understood that using historical sales data at the same price for sales forecasting is more accurate. If there is no historical sales data for electronic products with the same price after the price adjustment in database 300, the sales forecasting system will obtain historical sales data for electronic products with the same price before the price adjustment.

[0138] Preferably, the historical sales data includes first historical sales data and second historical sales data.

[0139] Specifically, this application does not limit the specific definitions of the first historical sales data and the second historical sales data; both are historical sales data, and they may be the same or different. This application names them to distinguish their uses, using the first historical sales data to determine the first sales forecast value and the second historical sales data to determine the second sales forecast value.

[0140] Reference Appendix Figure 7 , Figure 7 This application provides a schematic diagram of sales volume changes over time. As shown in the figure, a price adjustment (see the arrow) occurred, resulting in a price change. This diagram illustrates the sales volume change caused by the price change. The vertical axis represents time, and the horizontal axis corresponds to sales volume. Q1 is the area of ​​the region Q1 in the figure, representing the total sales volume before the price adjustment; Q2 is the area of ​​the region Q2 in the figure, representing the base sales volume value after the price adjustment, i.e., the first sales volume forecast; Q3 is the sales volume increment after the price adjustment, i.e., the second sales volume forecast; Q2+Q3 is the sum of the areas of the two regions in the figure, representing the total sales volume forecast after the price adjustment.

[0141] The first historical sales data includes any one or more of the following: historical sales data for the same type of product, historical sales data for the same model of product, and historical sales data for products with the same price. The second historical sales data, in addition to including historical sales data for the same type of product, historical sales data for the same model of product, and historical sales data for products with the same price, also includes historical sales data for different types of electronic products. For example, laptops and mobile phones are different types, automobiles and terminal base stations are different types, mobile phones and automobiles are different types, and food and electronic products are different types. The above is just one example; the classification of different types is not limited to this. Generally speaking, the first historical sales data is used to predict the first sales forecast value, and the second historical sales data is used to predict the second sales forecast value. The first sales forecast value indicates the base sales volume after the price change, and the second sales forecast value indicates the predicted change in sales volume.

[0142] It should be understood that predicting basic sales based on historical sales of similar products of the same type and model makes the predicted initial sales value more accurate.

[0143] Optionally, the first historical sales data and the second historical sales data can be the same.

[0144] Specifically, the first historical sales data and the second historical sales data are both historical sales data of the same product. Preferably, the first historical sales data and the second historical sales data are both historical sales data of the same product during the same period.

[0145] Among these, "same product" refers to products of the same type and model (completely identical), such as the same product as mobile phone M-1, which is mobile phone M-1. "Historical same-period data" refers to data from the same period in the past compared to the expected sales time; for example, the historical same-period data for January 2024 is January 2023. "Historical same-period sales data for the same product" refers to historical sales data for products of the same type and model (completely identical) matching the expected sales time.

[0146] For example, to predict the sales volume of mobile phone A-1 on January 1, 2025, the first and second historical sales data are the same: historical sales data of mobile phone A-1 from January 1, 2024 to December 31, 2024. The first sales forecast is made using the historical sales data of mobile phone A-1 from January 1, 2024 to December 31, 2024, and it can also be used to predict the second sales forecast.

[0147] To facilitate understanding, a real-world data example will be used below. For instance, consider the following scenario where sales volume is predicted: Before January 1, 2025, the historical price of mobile phone A-1 was 2000 yuan / unit. The company decides to adjust the price to 1500 yuan / unit starting January 1, 2025. In this case, it is necessary to predict the sales volume for January 2025. Based on the historical sales data of mobile phone A-1 from January 1, 2024 to December 31, 2024, the predicted sales volume for January 2025 is 1200 units. 900 units correspond to the base sales volume, which is predicted based on a time-series algorithm. Since the time-series algorithm does not incorporate the impact of price on sales volume, a second sales volume prediction is added to compensate for the impact of price changes on the predicted value. The second sales volume prediction is calculated based on price and price elasticity. Since price elasticity represents how sales volume changes with price, the second sales volume prediction supplements the change in the predicted value due to price changes, indicating the predicted change in sales volume. For illustrative purposes, see the attached diagram. Figure 7 The value is represented by Q3, which corresponds to 300 units.

[0148] It should be understood that when the first and second historical sales data are the same, the efficiency of data acquisition can be improved. Using the same data source to predict sales based on different algorithms, and finally merging the prediction results of different algorithms, the data utilization rate can be improved, thereby improving the efficiency of prediction while ensuring the accuracy of prediction.

[0149] Optionally, the first historical sales data and the second historical sales data may differ.

[0150] The first historical sales data includes: historical sales data of the same product. The same product refers to products of the same type, model and exactly the same, such as the same product as mobile phone M-1.

[0151] The second set of historical sales data includes: historical sales data for the same product, historical sales data for products of the same type, and historical sales data for products of different types.

[0152] Optionally, the second historical sales data includes historical sales data for the same period.

[0153] Specifically, historical sales data refers to sales data from the same period in the past compared to the expected sales period.

[0154] For example, if the user enters the expected sales time as January 2024, the historical sales data for the same period includes January sales data from any year prior to 2023 (including 2023).

[0155] When acquiring historical sales data for the same period, prioritize historical sales data for the same product. If no historical sales data for the same product is found, acquire historical sales data for the same period for products of the same type.

[0156] Optionally, the second historical sales data includes historical sales data at the same expected sales price; preferably, the second historical sales data includes historical sales data for the same period at the same expected sales price.

[0157] Specifically, determining the second historical sales data based on the configuration information entered by the user includes: determining the historical sales data of the same period as the expected sales price based on the expected sales time and expected sales price entered by the user as the second historical sales data. For example, if the expected sales time entered by the user is from January 2026 to December 2026 and the expected sales price is 3999 yuan, then the second historical sales data is the historical sales data corresponding to the product with a price of 3999 yuan from January 2024 to December 2025.

[0158] Table 2 below illustrates a scenario where the first historical sales data differs from the second historical sales data. See Table 2 for details. The first historical sales data is used as the variable value Q2 for predicting sales, and the second historical sales data is used as the base value Q3 for predicting sales. The predicted total sales of electronic devices after price adjustment = Q2 + Q3 (see Appendix). Figure 7 ).

[0159] Table 2. A historical sales data table including first historical sales data and second historical sales data.

[0160]

[0161]

[0162] It should be understood that the first and second historical sales data are different. Historical sales data of the same product are preferred for calculating the baseline sales value because the baseline sales value is determined based on a time-series algorithm. Historical sales data of the same product more accurately reflects the time series, thus obtaining prediction results efficiently and accurately. Furthermore, for calculating sales change values, historical sales data from the same period are preferred because the calculation of sales change values ​​is based on price elasticity, which is determined based on the price elasticity of the same period in history. Therefore, using historical sales data from the same period can accurately determine the price elasticity. Thus, it is evident that by using different data sources and adaptively selecting corresponding historical sales data according to different prediction algorithms, prediction accuracy and efficiency can be effectively improved.

[0163] Step S102 involves segmenting and fitting historical sales data to obtain the prediction function f. θ (x i ).

[0164] Specifically, step S102 is executed by the algorithm unit 230 in the sales forecasting system 200. The historical sales data can be displayed as a data graph with time on the horizontal axis and sales volume on the vertical axis; this application does not limit the display method of historical sales data. After obtaining the historical sales data based on the configuration information, the historical sales data is fitted and the segmented intervals are determined.

[0165] It should be understood that the significance of determining segmented intervals lies in using historical sales data with high feature similarity as a segmented interval, allowing for better fitting of the data within each segment. It is important to note that this segmentation does not alter the time series of the historical sales data itself; see the appendix for details. Figure 8 , Figure 8 This application provides a schematic diagram of sales data segmentation intervals; based on the time-series variation characteristics of the data, historical sales data is divided into 5 segment intervals for fitting, and each segment interval corresponds to a fitting function (also known as a prediction function).

[0166] Specifically, the value of the fitting function fθ(x) represents the predicted value, which is the value of a fitting function. The fitting function is the process of making a function as close as possible to a set of known data points through a certain method. Depending on the characteristics of the data points, linear, polynomial, exponential, and other functions can usually be used for fitting. In this application, the known data points are historical sales data. The independent variable (x) of the fitting function (or prediction function) represents time, and the dependent variable (fθ(x)) represents sales. The fitting function is used to indicate the change pattern of sales in the historical sales data.

[0167] Optionally, the process of generating the fitting function includes the following steps:

[0168] (1) Data collection: First, it is necessary to collect a set of discrete data points, such as historical sales data. These points are usually represented in the form of ((x_i, y_i)).

[0169] (2) Select a fitting model: Choose a suitable mathematical model based on the characteristics of the data. For example, a linear model (y = ax + b), a quadratic model (y = ax^2 + bx + c), or a more complex polynomial model.

[0170] (3) Determine the parameters: Use optimization algorithms such as the least squares method to determine the parameters in the model so that the fitted curve is as close as possible to the data points. The goal of the least squares method is to minimize the sum of squared errors between the data points and the fitted curve.

[0171] (4) Calculate the fitted curve: Based on the determined parameters, calculate the equation of the fitted curve. This equation is the fitted function.

[0172] (5) Validation and Adjustment: Validate the fitting effect by calculating the error between the fitted curve and the data points. If the error is large, it may be necessary to adjust the model or reselect the parameters.

[0173] Optionally, the fitting function may include nonlinear fitting functions and linear fitting functions, which are not limited herein. It should be understood that piecewise window fitting improves fitting accuracy and computational efficiency by dividing the data into multiple windows for independent fitting, adapts to nonlinear data, reduces the risk of overfitting, and enhances the flexibility and interpretability of the model.

[0174] Step S103 calculates the difference between the predicted sales value and the observed sales value based on the cost function and determines one or more optimal segmentation intervals. The predicted sales value is obtained based on the prediction function, and the observed sales value is obtained based on historical sales data; each optimal segmentation interval corresponds to a prediction function.

[0175] Specifically, after obtaining the fitting function corresponding to the segmented interval in step S102, the sales forecast value is determined based on the fitting function. Next, the obtained sales forecast value is input into step S103 for verification and / or optimization to determine the optimal segmented interval.

[0176] To more clearly illustrate the steps for determining the optimal segmentation interval, the following will provide a detailed explanation of the steps involved in determining the optimal segmentation interval in step (1), in conjunction with the formula and steps S10311 to S10312. The specific process of determining one or more optimal segmentation intervals based on the cost function includes:

[0177] Step S10311: Calculate the residual (ei) between the observed sales value and the predicted sales value.

[0178] Specifically, the formula for calculating the residual ei in step S10311 is shown in formula (1):

[0179] ei = y i -f θ (x); Formula (1)

[0180] Among them, y i f represents the sales observation value. θ (x) represents the sales forecast, which is usually a fitted function.

[0181] Step S10312: Calculate the minimum loss value based on the residual value and the cost function, determine the starting point and ending point of the optimal segmentation interval based on the formula parameters corresponding to the minimum loss value, and represent them with coordinates.

[0182] In step S10312, the cost function is as shown in formula (2):

[0183]

[0184] Among them, (y i -f θ (x i )) 2 Let τ represent the sum of squares of the residuals ei, and point τ be the sum of squares of the residuals i-1 Point τ i These are the starting and ending points of the coordinates for each segment.

[0185] The cost function is used to calculate the prediction loss of the prediction algorithm. A larger loss indicates a larger error, and a smaller loss indicates a smaller error in the prediction algorithm. Therefore, the solution of the prediction algorithm corresponding to the minimum loss value of the cost function is the value of the optimal segmentation interval. The minimum value of the cost function corresponds to the values ​​of the various parameters in the formula (e.g., point τ). i-1 Point τ i and the fitting function f θ (x i The parameters in the function, for example, when the fitting function is a linear fitting function f θ (x i ) = θ0 + θ1x. Where θ1 and θ0 are parameters, and ) represents the parameters of the optimal elastic segmentation interval. For example, when the cost function reaches its minimum value of -1, the corresponding points τ i-1 Point τ i The values ​​are ((x1,y1), (x2,y2)...(xn,yn), where each point represents the starting and ending coordinates of the optimal segmentation interval. The optimal segmentation interval refers to the segmentation interval composed of the starting and ending coordinates of multiple segmentation intervals when the cost function is minimized. It is used to indicate the segmentation method that minimizes loss or error.

[0186] Optionally, the above calculation process represents the loss value by the sum of squares of the residuals between the observed sales value and the actual sales value. For the expression of the loss value, it also includes evaluating the model's fitting effect by calculating indicators such as the sum of squared residuals (SSE) and mean squared error (MSE). This application does not limit this.

[0187] It should be understood that segmented processing is beneficial for representing the relationship between sales volume and price in segments, obtaining the slope of the fitted function from each segment, and determining the price elasticity of each segment interval based on the slope of the fitted function. This helps to calculate a more accurate price elasticity, thereby achieving precise sales volume forecasting.

[0188] Step S104, based on the prediction function f of each optimal segmentation interval θ (x i Determine the price elasticity for each optimal segment interval.

[0189] Step S104 is executed by the algorithm unit 230 in the sales forecasting system 200. Specifically, f θ (x) represents the predicted value, which is the value of a fitted function. The independent variable (x) of the fitted function (or prediction function) represents time, and the dependent variable (y) represents sales volume, used to indicate the pattern of sales volume changes in historical sales data.

[0190] Optionally, the fitting function may include a nonlinear fitting function or a linear fitting function.

[0191] For example, the fitting function (or prediction function) is a linear fitting function. For instance, the linear function expression of the fitting function is: f θ (x i )=θ0+θ1x. Where, slope θ1 and θ0 are parameters.

[0192] It should be understood that the fitting function can fit the data characteristics of historical sales data very well. By analyzing the fitting function, we can accurately know the pattern of sales changes. Through the sales pattern (for example, price elasticity can also be understood as a sales pattern, which will be explained in detail below), we can further accurately predict future sales.

[0193] For example, the fitting function may include nonlinear fitting functions, which are not limited in this application.

[0194] As another possible implementation, after determining the optimal segmentation interval in step S103, the price elasticity is determined based on a machine learning algorithm. For example, a Double Machine Learning (DML) model can be used to remove the influence of confounders on the outcome and treatment variables.

[0195] In this application, the outcome variable refers to the Y-value of the fitted function, representing sales volume; the treatment variable refers to the X-value of the fitted function, representing price; and the confounder variable represents the portion of the price or sales volume variable that cannot be explained by the consumer confidence index, hereinafter referred to as F. The process of determining price elasticity using machine learning algorithms typically includes the following steps:

[0196] (1) Data preparation: Obtain price-sales data for each segment interval. Generally speaking, the data is segmented according to the coordinate start point and coordinate end point of each segment interval. Then, the price-sales data of each segment interval is processed one by one according to the segmented data. Among them, sales volume is the dependent variable (Y value) and price is the independent variable (X).

[0197] (2) Model selection: Machine learning models are selected to fit the fitting function of the confounding variables (F) to sales volume (Y) and the fitting function of the confounding variables to price (X). Commonly used models include linear regression, random forest, neural networks, etc., and this application does not limit the order of these models.

[0198] (3) Residual calculation: The relationship between the confounding variable (F) and the price (X) is fitted using a machine learning model to obtain the fitted price value (X1). Then, the residual between the fitted price value and the price is calculated (X2 = |X - X1|). The residual X2 here can be used to represent the price data after removing the part of the price that cannot be explained by the consumer information index. In other words, the price data X2 represents the price after removing factors other than those affected by the price.

[0199] Similarly, a machine learning model is used to fit the confounding variable (F) to the sales volume (Y) to obtain the predicted value (Y1). Then, the residual (Y2 = |Y-Y1|) between the fitted sales volume and the observed sales volume is calculated. The residual Y2 here can be used to represent the sales volume data that cannot be explained by the consumer information index. In other words, the data Y2 represents the sales volume after removing factors other than price influence.

[0200] (4) Causal effect estimation: Regression analysis is performed using price residuals (X2) and sales residuals (Y2). Specifically, the parameter (θ) is estimated using the regression model (Y2=θX2+β), where (θ) represents price elasticity.

[0201] (5) Cross-validation: To reduce the impact of overfitting, cross-validation is usually used. The dataset is divided into two parts (for example, the dataset can be randomly divided into two parts to ensure a balanced distribution of data), and the two parts are used to fit the model and calculate the residuals respectively. Then the datasets are swapped and the calculation is repeated. Finally, the average value is taken as the final estimate.

[0202] (6) Model evaluation: The model's fit and the accuracy of price elasticity estimation are evaluated by calculating indicators such as mean squared error (MSE).

[0203] As described in the steps above, price elasticity is determined using dual machine learning. It should be noted that the price elasticity for each segment can be determined using either a machine learning algorithm or a dual machine learning algorithm, following steps (1) to (6) above. It should be understood that each segment can be computed in parallel, i.e., simultaneously, which improves the efficiency of sales forecasting.

[0204] Price elasticity measures the impact of changes in the price of a good on the quantity demanded or supplied. Specifically, price elasticity is the ratio of the percentage change in quantity demanded to the percentage change in price. The formula for price elasticity is: Price elasticity(e) = Percentage change in sales volume / Percentage change in price. The range of price elasticity is typically [-2, 2], including -0.5, -1.0, -1.5, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.5, and 1.8, which will not be listed here.

[0205] To illustrate the calculation process of price elasticity in more detail, the table below lists the starting and ending points of the coordinates for each segmented interval, as well as the corresponding price elasticity data and sales volume range for each segmented interval. The starting and ending points of the coordinates for each segmented interval are obtained from step S1312 (point τ). i-1 Point τ i (These are the starting and ending points of the segmented intervals). Typically, the vertical axis y represents sales volume, and the horizontal axis x represents time. Therefore, based on the coordinates of the segmented intervals, the corresponding sales volume and sales date can be determined. Sales volume can be a single value or a range, and the date can be a point in time or a time interval; this application does not impose any limitations on this. Referring to the table below, Table 3 lists the starting and ending points of the coordinates for each segmented interval. Combined with the price elasticity corresponding to each segmented interval, the sales date corresponding to the price elasticity can be determined. It should be noted that the price elasticity of each segmented interval can be determined using at least two methods. The first method is to determine the price elasticity based on the slope of the fitted function, and the second method is to determine the price elasticity based on a dual machine learning method. The specific implementation process of these two methods is described in step S104 and will not be repeated here. Taking a linear fitted function as an example, the process of recording price elasticity in the table is explained. For example, the linear function expression of the fitted function is: f θ (x i =θ0 + θ1x. Where, slope θ1 and θ0 are parameters; independent variable (x) represents time and dependent variable (y) represents sales. Therefore, one slope θ1 corresponds to one independent variable (x), that is, each slope corresponds to time (or date). Based on this, combined with the coordinate start and end points of the optimal segmentation interval, for example, the points τ corresponding to the coordinate start and end points of the optimal segmentation interval obtained according to formula (2). i-1 Point τ iThe values ​​are ((x1,y1), (x2,y2)...(xn,yn). The average price elasticity of the date for each sampling point in Phase 1 is calculated as the price elasticity of Phase 1 and recorded in the table. For example, the starting and ending points of the segmented interval are (x1,y1) and (x2,y2) respectively. The vertical axis y represents sales volume, and the horizontal axis x represents time. The slope θ1 of the linear function corresponding to this interval is 1. Therefore, the sales volume corresponding to price elasticity 1 is 5000, and the corresponding sales date is 202410101. Through the data in the table, the calculated corresponding price elasticity can be clearly found based on the historical sales date. For example, when it is necessary to know the price elasticity of mobile phone M-1 on January 1, 2024, the data in this table is consulted to determine that the price elasticity is 1. In some other embodiments, the price elasticity of a single sampling point can also be directly used for subsequent sales forecasting without calculating the average value.

[0206] Table 3. Price ranges and corresponding price elasticity for Mobile Phone M-1

[0207]

[0208] In practical applications, the historical sales data acquired by acquisition unit 220 is sequence data, typically price and / or sales sequences with statistical granularity of days / weeks / months / quarters. Therefore, each sequence data record has a corresponding sequence number, such as {1,2,3,.......n}. Thus, the starting and ending points of the segmented intervals can also be marked using sequence numbers. When the cableway sequence number is 3, the specific value corresponding to that sequence data can be queried. This specific value includes multi-dimensional information such as price, time, and sales volume, which is not limited in this application.

[0209] To better illustrate how the fitted function for each segmented interval was determined through function fitting, the appendix is ​​provided. Figure 8 This diagram illustrates the fitting of a fitting function to each segmented interval. (See attached diagram.) Figure 2 , attached Figure 8 The segmentation shown comprises five stages (N=5), each representing a segmentation interval of historical data. The data within each optimal price segment can be represented by a fitting function; therefore, each segment interval corresponds to a fitting function. The slope of this fitting function represents the price elasticity, meaning each segment interval corresponds to a price elasticity. Thus, this application can determine the price elasticity corresponding to the sales date (or sales time).

[0210] It should be understood that price elasticity reflects the degree to which price changes affect the quantity demanded, while price elasticity is a non-zero value, including both positive and negative numbers. Specifically, price elasticity is the ratio of the percentage change in quantity demanded to the percentage change in price. By calculating price elasticity, the impact of price changes on sales volume can be predicted. Based on empirical values ​​from actual forecasts, the range of price elasticity is [-2, 2], preferably [-1.5, 1]. For example, if the price elasticity of a product is -1.5, this means that for every 1% increase in price, sales volume will decrease by 1.5%. Optionally, price elasticity can be determined based on a fitted function (or prediction function).

[0211] It should be understood that price elasticity refers to the sensitivity of sales volume to price changes. The greater the price elasticity, the greater the change in sales volume with price changes. Price elasticity plays a key role in pricing decisions. By calculating the price elasticity coefficient, companies can quantitatively predict the impact of price changes on sales volume. For example, price elasticity can be numerically 1 or 0.5. When the value is 1, it means that for every unit decrease in price, sales volume increases by one unit. When the value is 0.5, it means that for every unit decrease in price, sales volume increases by 0.5 units. The actual range of elasticity depends on the pricing of different products.

[0212] Step S105: Calculate the second sales forecast value based on the price elasticity corresponding to the current price and the expected sales time.

[0213] As one possible approach, predicting the second sales forecast based on historical sales data also includes calculating the second sales forecast based on the current price and price elasticity.

[0214] Specifically, the second sales forecast = current price * price elasticity corresponding to the forecast date.

[0215] The current price refers to the expected sales price of the electronic device corresponding to the predicted date in the configuration information entered by the user. For example, when calculating the second sales forecast value for January 2025, the current price refers to the sales price of the electronic device in January 2025.

[0216] The price elasticity corresponding to the forecast date is the historical price elasticity for the same period. Historical price elasticity refers to the price elasticity compared to the same period in the past, as described above. For example, if a user needs to query the price elasticity for January to March of this year, then the price elasticity for January to March of this year is equal to the price elasticity for January to March of 2024. By consulting the table, we determine that the price elasticity for January to March of 2024 is 1.5. Therefore, the price elasticity for January to March of this year is also 1.5.

[0217] As one example, the user inputs configuration information for an electronic device with an estimated selling price of 2000 yuan and an estimated sales date of January 2025. The configuration request is to predict sales volume in January 2025. When the sales forecasting system receives this configuration request, it first retrieves historical sales data from database 300, including data from January 2024 (e.g., sales data from January 2024 to December 2024). Next, the algorithm unit of the sales forecasting system determines the price elasticity from January 2024 to December 2024 based on the historical sales data. The price elasticity determined by the algorithm unit from January 2024 to December 2024 is shown in the table below:

[0218] Table 4. An example of price elasticity (price elasticity from January 2024 to December 2024)

[0219]

[0220]

[0221] Based on the table above, the price elasticity for January and February 2024 is 1.1. Since the price elasticity corresponding to the expected sales date is the historical price elasticity for the same period, the predicted price elasticity for January 2025 is also 1.5. Second sales volume forecast = 2000 (RMB) * 1.1 = 2200 (yuan).

[0222] Optionally, the current price is determined based on the configuration information, and it can be a preset value. For example, the user inputs a current price of 2999 yuan. This means the user wants to obtain the expected sales volume of the product if the price were adjusted to 2999 yuan. This application does not specifically limit the range of the current price.

[0223] Optionally, if the price elasticity for the same period in history is 1.5, then the price elasticity for the same period in the next quarter should also be determined to be 1.5. For example, if the price elasticity for the first quarter of 2024 was 1.5, then the price elasticity for the first quarter of 2025 should also be determined to be 1.5. When obtaining historical sales data, historical sales data for the same period as the forecast date should be included. For example, when forecasting sales in January 2025, the historical sales data should at least include sales data for January 2024.

[0224] It should be understood that because price elasticity is influenced by numerous external factors, historical price elasticity reflects the value determined after prices have been affected by various external factors within that period. This historical data provides a useful reference for future price elasticity, making it highly valuable in data analysis and forecasting as it helps us understand and predict future trends and changes. For example, companies can compare future sales data to assess market trends and formulate strategies. Therefore, using historical price elasticity to represent future price elasticity allows for efficient and accurate acquisition of price elasticity data.

[0225] Optionally, the price elasticity corresponding to the same historical time period is determined based on the price elasticity of each optimal segment interval.

[0226] For example, the historical period corresponding to the expected sales time includes multiple segmented intervals. For instance, the historical period from January to December 2023, corresponding to January to December 2024, includes four segmented intervals: January to March, April to June, July to September, and October to December. Therefore, the price elasticity corresponding to the expected sales time is also divided into these four segmented intervals, and its value is equal to the price elasticity of the historical period after segmentation, showing a one-to-one correspondence. The calculation process for price elasticity is described in detail above. Table 5 shows a comparison table of price elasticity for the expected sales time and price elasticity for the historical period.

[0227]

[0228] It should be understood that historical price elasticity reflects seasonal trends: the seasonal trend of price fluctuations in different seasons, the cyclical fluctuation of price repetition patterns within a specific period, abnormal price changes within a specific time period, and the long-term trend of the overall direction of price changes over a longer period. Therefore, determining sales changes based on price elasticity can accurately reflect the influence of seasonality, cyclicality, anomalies, and long-term trends on sales. Generally speaking, the performance of a product in the same period in the past has strong reference value. Historical price elasticity comprehensively reflects the factors affecting price / sales in the same period in the past. Therefore, determining price elasticity and then sales changes based on historical price elasticity can achieve accurate prediction.

[0229] Step S106: Determine the first sales forecast value based on historical sales data.

[0230] As described above, steps S101 to S105 are used to determine the second sales forecast value. The execution order of step S106 can be performed simultaneously with steps S102 to S105, or it can be performed before or after determining the second sales forecast value. This application does not limit the execution order of step S106.

[0231] Optionally, the first sales forecast value can be determined based on a time-series algorithm.

[0232] Specifically, algorithm unit 230 predicts the first sales forecast value based on time-series algorithms. These time-series algorithms include Autoregressive Integrated Moving Average (ARIMA) models, Long Short-Term Memory (LSTM) networks, and Transformer models. Predicting sales based on time-series algorithms involves the following process: First, historical sales data is collected and acquired. The acquired historical sales data is time-series sales-price data with daily / weekly / monthly / quarterly / yearly units. For example, the acquired historical sales data is daily sales data [s1,s2,s3,...,s360], where s is sales and s1 represents the sales on the first day. We can use time series forecasting methods to predict sales data for the next two months at a daily granularity [s361,...,s420]; specific examples are [s1,s2,s3,...,s360]: [1.2w,1.8w,2.1w,...,0.5w] and [s361,...,s420]: [0.4w,...,0.02w]. During time series algorithm calculations, this can be represented by a vector (x1,y1,z1). In this vector, x1, y1, and z1 represent the statistical unit x1 (e.g., year), sales data y1, and price data z1, respectively. Then, the obtained historical sales data is preprocessed, for example, by using interpolation to fill in missing discontinuous parts of the historical data, and then using a moving average method to remove noise. Finally, features are extracted from the preprocessed historical sales data and input into the time series algorithm to obtain the predicted sales data.

[0233] Step S107 determines the total sales forecast value based on the first sales forecast value and the second sales forecast value.

[0234] Specifically, the total sales forecast is equal to the sum of the first sales forecast and the second sales forecast.

[0235] Optionally, the first sales forecast value is a positive number; the second sales forecast value can be either a negative or a positive number.

[0236] It should be understood that the total sales forecast is calculated from two parts: the first sales forecast value indicates the basic sales value, and the second sales forecast index indicates the sales change value. The former ensures the efficiency of the forecast calculation process, while the latter ensures the accuracy of the forecast calculation process.

[0237] In summary, the sales forecasting method provided in this application can determine the historical sales data needed for forecasting based on the configuration information input by the user. Accurately obtaining historical sales data that can be used for forecasting helps improve forecasting efficiency and accuracy. After obtaining the historical sales data, the forecasting is completed in two parts. One part uses a time series algorithm to complete the forecasting of basic sales, and the other part achieves accurate determination of price elasticity within each segment by segmenting the historical data. The periodic and trend changes of historical sales data are accurately captured by the price elasticity after segmentation. Then, the price elasticity and the current price are used to predict the change in sales volume, thereby improving the accuracy of sales forecasting.

[0238] The above text provides a detailed description of the method and flow of the sales forecasting system. The following text explains the functions of the configuration unit 210, acquisition unit 220, and algorithm unit 230 in the sales forecasting system 200.

[0239] Configuration unit 210 is used to obtain configuration information input by the user and generate a configuration request. The configuration request is sent to database 300 for processing, and database 300 returns historical sales data to acquisition unit 220 based on the configuration request. It should be noted that if the sales forecasting system is deployed on a computing device cluster, configuration unit 210 can be deployed on any computing device in that cluster, and the configuration request generated by configuration unit 210 can be sent to the computing device where acquisition unit 220 is located for processing.

[0240] In one possible implementation, configuration unit 210 generates a configuration request based on configuration information input by the user. This configuration information includes one or more of the following: product name, product type, product model, predicted sales date, and adjusted price. For example, the product type may include mobile phones, laptops, tablets, automobiles, wearable devices, and communication devices; this application does not limit the specific product type. The predicted sales date can be a time range, such as January 1, 2024 to January 10, 2024; or it can be a specific sales date, such as January 1, 2024.

[0241] It should be understood that users can input configuration information from client 100 through any human-computer interaction method. Client 100 then sends the configuration information to configuration unit 210 to generate a configuration request. It should be noted that client 100 and sales forecasting system 200 are deployed on the same computing device; that is, in this case, client 100 can be a client specifically designed for sales forecasting, for example, the client may have configuration tools (which may be one or more configuration tabs). Client 100 and sales forecasting system 200 can also be deployed on different computing devices, in which case the sending and receiving of configuration requests is completed between the two computing devices.

[0242] Optionally, the configuration unit 210 generates a configuration request based on the configuration information input by the user. The configuration information input by the user may also include the product's historical price. It should be understood that the configuration information may contain missing product models. Therefore, when the product model is uncertain, by configuring or obtaining the product's historical price, the corresponding historical sales data to be obtained can be determined in conjunction with the product type in the configuration information. For example, if the user inputs a configuration information indicating a product type of mobile phone and a historical price of 2999 yuan before adjustment, and the product model is uncertain, one or more historical sales data sets that meet the above configuration conditions can be obtained from the database 300 based on the user-input product type and the historical price of 2999 yuan. For example, sales data for mobile phones with a historical price of 2999 yuan. The configuration information may also include other content, which is not specifically limited in this application.

[0243] It should be understood that this application can aggregate users' business needs through configuration information, flexibly obtain the data information required for sales forecasting, and visualize the sales forecasting results. It can quickly and flexibly configure various sales forecasting needs, with broad coverage and flexibility.

[0244] Unit 220 is used to retrieve historical sales data.

[0245] In practice, historical sales data is stored locally or in the cloud (remotely), and sent via local disk or remote server, or via configuration requests generated by the database based on configuration information, and then obtained by the sales forecasting software system.

[0246] For example, after the configuration unit 210 obtains the configuration information input by the user, it generates a configuration request. The configuration request is sent by the configuration unit 210 to the database 300, and the database 300 returns the historical sales data required in the configuration request and sends the historical sales data to the acquisition unit 220. Therefore, the historical sales data obtained by the acquisition unit is sent by the database 300 according to the configuration request generated by the configuration unit.

[0247] Optionally, historical sales data is typically a price series and / or sales series with a statistical granularity of days / weeks / months / quarters, used to indicate historical sales performance in terms of days / weeks / months / quarters. Electronic devices include, but are not limited to, mobile phones (e.g., 3C mobile phones), tablets, desktop computers, handheld computers, laptops, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), augmented reality (AR) / virtual reality (VR) devices, etc. This application does not limit the specific form of the electronic devices.

[0248] As one possible implementation, when a sales forecasting system (either software or hardware) sends a request to obtain historical sales data, and the data is sent from a local disk or remote server and received by the acquisition unit 220 in the sales forecasting system, the sales forecasting system (either software or hardware) stores permission verification rules. These verification rules are used to obtain the permission verification results. These permission verification rules can be system default rules or rules configured by the management user. This application does not make any specific limitations. Here, the management user refers to the technical personnel who manage and configure the sales forecasting system, such as IT technicians.

[0249] For example, the permission verification rules include verification of permission level and permission type, determined by the user ID. For instance, if the permission type corresponding to a user ID indicates that the user can access data from a terminal device, then the permission type for that user ID is data from a terminal device. Permission levels range from 1 to 10, with each level granting different permissions. For example, level 1 can only access annual sales data, while level 10 can access daily sales data. The specific permission verification rules can be determined based on the actual application scenario; this application does not impose specific limitations.

[0250] Optionally, historical sales data may include any one or more of the following: historical sales data of the same model and type of electronic devices, historical sales data of different models and types of the same electronic devices.

[0251] In this context, "same model and type of electronic device" refers to electronic devices in historical sales data that are the same type, style, and model as the electronic product to be predicted. For example, the same model and type of electronic device for phone M-1 includes phone M-1. "Same model but different type of electronic device" refers to electronic devices in historical sales data that are the same type and style as the electronic product to be predicted, but different in type. For example, different models of electronic devices for phone M-1 include phones M-2 and M-3. "Different models and types of the same type of electronic product" refers to electronic devices in historical sales data that belong to the same category as the electronic product to be predicted but are deployed in the same style and model. For example, different models and types of electronic devices for phone M-1 include phones X-3 and R-5.

[0252] Optionally, the acquired historical sales data may include historical sales data for similar products. For example, when predicting future sales of a tablet computer (model M-1), similar products include desktop computers (PCs) and portable laptops. Similarly, when predicting future sales of mobile phones, historical sales data for similar mobile phone products can be used for forecasting; similar mobile phone products include foldable phones, flip phones, and full-screen phones. This example is for illustration only and is not intended to limit the scope of the application.

[0253] Optionally, the historical sales data obtained may include historical sales data of electronic devices that are exactly the same type and model as the electronic device to be predicted; for example, when predicting future sales of a tablet computer (model M-1), the historical sales data of the same tablet computer (model M-1) may be used.

[0254] Optionally, the historical sales data obtained may include historical sales data for electronic devices that are different in type and model from the electronic device to be predicted. For example, historical sales data of laptops may be used to predict future sales of mobile phones.

[0255] For ease of understanding, in a real-world scenario, if the electronic device is a mobile phone and its model number is x1, then mobile phones of model number x1 belong to the same type and model of electronic devices. Mobile phones of models x2 / x3 / x4 / x5 / xN belong to the same type but different models of electronic devices. Mobile phones of models M1 / M2 / M3 / M4 belong to different models and types of mobile phones compared to x1. When predicting the sales volume of mobile phones of model number x1, it is preferable to obtain historical sales data of the same type and model of electronic devices in the same product category. For example, obtaining historical sales data of mobile phone model x1. This example is for illustration only and is not intended to limit the scope of this application.

[0256] Optionally, the sales time range for historical sales data can be determined based on the expected sales time in the configuration information. Since the configuration request carries the configuration information input by the user, the historical sales data is matched with the configuration information. For example, if the user inputs a configuration information that predicts the sales price of 2999 yuan and forecasts the sales for the entire year of 2025, the historical sales data obtained will include the sales data for the entire year of 2024.

[0257] Preferably, the historical sales data acquired by the acquisition unit 220 includes at least one piece of historical data from the same period as the expected sales time. For example, if the expected sales time is the first quarter of 2025, the sales data from the first quarter of 2024, the first quarter of 2023, or the first quarter of any historical year are included.

[0258] The following uses an electronic product (mobile phone, model A-3) as an example to illustrate historical sales data.

[0259] First, the sales forecasting system receives a configuration request from the user. The configuration request carries the configuration information for calculating the sales forecast value of electronic products (product name and product type) with mobile phone model A-3 as of September 1, 2024 (forecast date).

[0260] Next, the acquisition unit 220 will obtain historical sales data of the same product (e.g., mobile phone electronic products with model number A-3) based on the above configuration information, as shown in the table below.

[0261]

[0262] Based on the sales forecast for product a-3 in September 2024 shown in Table 1, the historical sales data table indicates that historical sales data includes at least one or more of the following: electronic device type, electronic device name, electronic device model, historical sales time, sales price, and sales volume. The price, depending on the sales time, can be a single price value or a price range. The sales price is a price sequence with granularity of day / week / quarter / month [e.g., 6999, 6899, 6699, ...]. The sales volume is a sales sequence with granularity of day / week / quarter / month [e.g., 20,000, 21,000, 30,000, ...].

[0263] As an extended embodiment, when forecasting the sales volume of electronic products with the mobile phone model A-3, historical sales data of different electronic products can also be obtained. For example, when forecasting the future sales volume of the mobile phone model A-3, historical sales data of mobile phone models A-1 or A-2 can be used for forecasting, as shown in Table 1 below. Historical sales data includes sales volume, sales time, sales price, electronic device name and its corresponding model. Among them, due to the different statistical granularity of sales time, the sales price includes price and price range. For example, the sales data for the historical period from January 1 to February 1 has a statistical granularity of price / day, so the sales price displayed in the historical sales data can be a fixed value, such as 2999 yuan / day; the statistical granularity of the current period is price / month, so the sales price displayed in the historical sales data is a price range, such as (2599 yuan - 2999 yuan) / current month.

[0264] As an example, if the price of an electronic product, such as mobile phone model A-3, changes (e.g., a price adjustment), then when forecasting sales of the electronic product after the price change, the sales forecasting system will predict the sales volume of the A-3 model mobile phone after the price adjustment based on the product price after the price change (or price adjustment) and the historical sales data of electronic products (e.g., mobile phones with models A-1 / A-2 / A-3) retrieved from the server or database, and use this as the predicted sales volume value.

[0265] Preferably, the historical sales data obtained by the acquisition unit 220 includes the first historical sales and the second historical sales.

[0266] Specifically, the first historical sales data obtained by the acquisition unit 220 is used to determine the first sales forecast value, and the second historical sales data is used to determine the second sales forecast value.

[0267] The first historical sales data acquired by acquisition unit 220 includes products of the same type and model. The second historical sales data includes not only historical sales data of products of the same type and model, but also historical sales data of products of the same type but different models, and historical sales data of products of different types and models. Generally, the first historical sales data is used to predict the first predicted sales value, and the second historical sales data is used to predict the second predicted sales value. The first predicted sales value indicates the base sales volume after a price change, and the second predicted sales value indicates the predicted change in sales volume. It should be understood that predicting the base sales volume based on the historical sales volume of products of the same type and model makes the predicted first sales value more accurate.

[0268] Optionally, the first historical sales data obtained by the acquisition unit 220 is the same as the second historical sales data.

[0269] Specifically, both the first and second historical sales data are historical sales data for the same type and model of electronic products. For example, when predicting the sales volume of mobile phone A-1 on January 1, 2025, the first and second historical sales data are the same, both being historical sales data for mobile phone A-1 from January 1, 2024 to December 31, 2024. The historical sales data for mobile phone A-1 from January 1, 2024 to December 31, 2024 can be used to predict the first sales forecast, and can also be used to predict the second sales forecast.

[0270] As an example, the first sales forecast indicates the base sales volume after the price change, and the second sales forecast indicates the predicted change in sales volume. To facilitate understanding, a real-world data example will be used below. For instance, consider the following scenario where sales are being predicted: The historical price of mobile phone A-1 before January 1, 2025, was 2000 yuan per unit. The company decides to adjust the price to 1500 yuan per unit starting January 1, 2025. In this case, it is necessary to predict the sales volume for January 2025. Based on historical sales data of mobile phone A-1 from January 1, 2024 to December 31, 2024, the predicted sales volume for January 2025 is 1200 units. Of these, 900 units correspond to the base sales volume forecast, which is based on a time-series algorithm. Since this algorithm does not incorporate price factors, the first sales volume forecast does not account for the impact of price changes on sales volume. To compensate for the impact of price changes, a second sales volume forecast is added. This second forecast is calculated based on price and price elasticity. Because it considers price factors and incorporates the changed price into the calculation process, the second sales volume forecast compensates for the changes in the forecast due to price fluctuations, indicating the predicted sales volume change. For illustrative purposes, see the attached diagram. Figure 7 The value is represented by Q2, which corresponds to 300 units.

[0271] It should be understood that the first historical sales data and the second historical sales data obtained by acquisition unit 220 being the same include: the electronic products corresponding to the historical sales data are the same as the electronic products to be predicted, and the duration of the historical sales data is greater than or equal to 6 months. This range of values ​​is an empirical value to ensure prediction accuracy and efficiency.

[0272] Optionally, the first historical sales data obtained by the acquisition unit 220 may differ from the second historical sales data.

[0273] The first set of historical sales data includes the same model and type of product in the same category. The second set of historical sales data includes not only the same model and type of product in the same category, but also different models and types of the same model in the same category. (See appendix for details.) Figure 7 The diagram illustrates the sales forecast data. The first historical sales data is used to predict Q2, and the second historical sales data is used to predict Q3. The total sales of electronic devices after the price adjustment = Q2 + Q3.

[0274] Optionally, the second historical sales data obtained by the acquisition unit 220 includes historical sales data for the same period as the expected sales time.

[0275] Optionally, the second historical sales data obtained by the acquisition unit 220 includes historical sales data with the same expected sales price, preferably historical sales data with the same expected sales price during the same period.

[0276] Optionally, the second historical sales data acquired by the acquisition unit 220 includes historical sales data of electronic products of different types than the electronic product to be predicted.

[0277] Algorithm unit 230 is used to predict a first sales forecast value and a second sales forecast value based on historical sales data, and to determine a total sales forecast value based on the first sales forecast value and the second sales forecast value.

[0278] Specifically, algorithm unit 230 processes the historical sales data acquired by acquisition unit 220, including predicting a first sales forecast value based on the historical sales data. This first sales forecast value indicates the baseline sales value assuming no price change. Typically, when the price changes, it is assumed that the predicted sales volume is unaffected by the price change; that is, the baseline sales volume before the price change is equal to the baseline sales volume after the price change. Therefore, the sales volume predicted using historical sales data before the price change can represent the baseline sales volume after the price change.

[0279] As one possible implementation, algorithm unit 230 predicts a first sales forecast value based on first historical sales data. The first sales data is preferably historical sales data of electronic devices of the same category, model, and type. For example, if the prediction is for the sales of mobile phone X3 on September 1, 2024, the first historical sales data would be the historical sales data of mobile phone X3. Historical sales data refers to sales data prior to the prediction date, and this application does not impose any specific limitation on this.

[0280] It should be understood that using historical sales data of electronic devices of the same category, model, and type for sales forecasting results in higher prediction accuracy.

[0281] Optionally, algorithm unit 230 predicts the first sales forecast value based on a time-series algorithm. The time-series algorithm includes an Autoregressive Integrated Moving Average (ARIMA) model, a Long Short-Term Memory (LSTM) network, and a Transformer model. Predicting sales based on the time-series algorithm involves the following process: First, historical sales data is collected and acquired. The acquired historical sales data is time-series sales-price data with daily / weekly / monthly / quarterly / yearly statistical units, which can be represented by a vector (x1, y1, z1). In this vector, x1, y1, and z1 represent the statistical unit x1 (e.g., year), sales data y1, and price data z1, respectively. Then, the obtained historical sales data is preprocessed, for example, by using interpolation to fill in missing discontinuous parts of the historical data, and then using a moving average method to denoise the data. Finally, features are extracted from the preprocessed historical sales data and input into the time-series algorithm to obtain the predicted sales data.

[0282] As one possible implementation, algorithm unit 230 determines the second sales forecast value based on the second historical sales data.

[0283] Specifically, algorithm unit 230 performs piecewise fitting of historical sales data to obtain the prediction function f. θ (x i The process involves determining the sales forecast based on a prediction function; calculating the difference between the predicted and observed sales values ​​using a cost function to determine one or more optimal segmentation intervals. The predicted sales values ​​are obtained from the prediction function, and the observed sales values ​​are obtained from historical sales data. Each optimal segmentation interval corresponds to a prediction function. The process is based on the prediction function f... θ (x i Determine the price elasticity for each optimal segment interval.

[0284] Optionally, the prediction function can be determined based on a dual machine learning algorithm.

[0285] Optionally, if the prediction function is a linear function, the algorithm unit 230 determines the price elasticity based on the slope of the prediction function.

[0286] Optionally, the algorithm unit 230 is further configured to calculate the difference between the sales forecast value and the sales observation value based on the cost function and determine one or more optimal segmentation intervals using the following formula: Among them, (y i -f θ (x i )) 2The point τ represents the sum of squares of the residuals ei (the difference between the predicted sales value and the observed sales value). i-1 Point τ i These are the starting and ending points of the coordinates for each segment.

[0287] It should be understood that the cost function is used to calculate the prediction loss of the prediction algorithm. A larger loss indicates a larger error, and a smaller loss indicates a smaller error in the prediction algorithm. Therefore, the solution of the prediction algorithm corresponding to the minimum loss value of the cost function is the value of the optimal segmentation interval. The values ​​of the parameters in the formula corresponding to the minimum value of the cost function (e.g., point τ) are... i-1 Point τ i and the fitting function f θ (x i The parameters in the function, for example, when the fitting function is a linear fitting function f θ (x i ) = θ0 + θ1x. Where θ1 and θ0 are parameters, and ) represents the parameters of the optimal elastic segmentation interval. For example, when the cost function reaches its minimum value of -1, the corresponding points τ i-1 Point τ i The values ​​are ((x1,y1), (x2,y2)...(Xn,yN), where each point represents the starting and ending coordinates of the optimal segmentation interval. The optimal segmentation interval refers to the segmentation interval composed of the starting and ending coordinates of multiple segmentation intervals when the cost function is minimized. It is used to indicate the segmentation method that minimizes loss or error.

[0288] Optionally, the above calculation process represents the loss value by the sum of squares of the residuals between the observed sales value and the actual sales value. For the expression of the loss value, it also includes evaluating the model's fitting effect by calculating indicators such as the sum of squared residuals (SSE) and mean squared error (MSE). This application does not limit this.

[0289] Optionally, the algorithm unit 230 is also used to determine that the range of the price elasticity is [-2, 2].

[0290] Specifically, the range of values ​​for price elasticity is determined based on extensive experimental data, and this value is related to the characteristics of the product. A price elasticity greater than 1 (elastic) indicates that demand is very sensitive to price changes; a slight price increase will lead to a significant drop in demand. This is typically applicable to luxury goods or non-essential goods. A price elasticity less than 1 (inelastic) indicates that demand is insensitive to price changes; price changes have a relatively small impact on demand. This is typically applicable to necessities.

[0291] As one possible implementation, determining the second sales forecast based on second historical sales data also includes calculating the second sales forecast based on the current price and price elasticity.

[0292] Specifically, the second sales forecast = current price * price elasticity corresponding to the forecast date.

[0293] Optionally, the current price determined by the algorithm unit 230 is based on the expected sales price in the configuration information; the current price refers to the expected sales price of the electronic device corresponding to the prediction date in the configuration information input by the user. For example, in the case of calculating the second sales forecast value in January 2025, the current price refers to the sales price of the electronic device in January 2025.

[0294] Optionally, algorithm unit 230 determines that the price elasticity corresponding to the predicted date is equal to the historical price elasticity for the same period, wherein the historical price elasticity for the same period is determined based on the price elasticity for each optimal segment interval. For example, if a user needs to query the price elasticity from January to March of this year, then the price elasticity from January to March of this year is equal to the price elasticity from January to March of 2024. By querying the table, it is determined that the price elasticity corresponding to January to March of 2024 is 1.5. Therefore, the price elasticity from January to March of this year is also 1.5.

[0295] For example, before calculating the second sales forecast, the user's expected sales date is determined based on the configuration information entered by the user. For instance, if the user's configuration information predicts sales for January 2025, the prediction date for the second sales forecast is determined to be January 2025. The second sales forecast indicates the predicted change in sales volume after a price change, using appendices... Figure 7 Q3 in the text indicates that the change in sales volume includes both the increase and decrease in sales volume. As an example, see attached... Figure 7 The diagram shows an increase in sales volume, where Q3 represents the increase in sales volume after the price adjustment. This application does not specify the form of the sales volume change.

[0296] As one possible implementation, algorithm unit 230 is also used to determine the total sales forecast value based on the first sales forecast value and the second sales forecast value.

[0297] Specifically, the total sales forecast is equal to the sum of the first sales forecast and the second sales forecast.

[0298] Optionally, the first sales forecast value is a positive number; the second sales forecast value can be either a negative or a positive number.

[0299] It should be understood that the total sales forecast is calculated from two parts: the first sales forecast value indicates the basic sales value, and the second sales forecast index indicates the sales change value. The former ensures the efficiency of the forecast calculation process, while the latter ensures the accuracy of the forecast calculation process.

[0300] The preceding text has described in detail the architecture of the sales forecasting system provided in this application and the corresponding forecasting operation methods. The following section will combine... Figure 9 The computing device provided in this application will be explained.

[0301] Figure 9 This is a schematic diagram of the structure of a computing device 900 provided in this application. The computing device 900 can be the data analysis system described above. Further, the computing device 900 includes a processor 901, a storage unit 902, a storage medium 903, and a communication interface 904. The processor 901, storage unit 902, storage medium 903, and communication interface 904 communicate via a bus 905, and also via wireless transmission or other means.

[0302] Processor 901 comprises multiple general-purpose processors, such as a CPU. The aforementioned hardware chip is an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The aforementioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), a data processing unit (DPU), a system-on-chip (SoC), or any combination thereof. Processor 901 executes various types of digital storage instructions, such as software or firmware programs stored in storage unit 902, enabling computing device 900 to provide a wide range of services.

[0303] In a specific implementation, as one embodiment, the processor 901 includes one or more CPUs, for example... Figure 9 CPU0 and CPU1 are shown in the diagram.

[0304] In a specific implementation, as one example, the computing device 900 also includes multiple processors, for example... Figure 9 The processors 901 and 906 are shown in the diagram. The computing device 900 may include one or more processors 901, which may be a single-core CPU or a multi-core CPU. In another embodiment, the processor 901 may also be a GPU, i.e., multiple GPUs when there are multiple processors 901.

[0305] Storage unit 902 is used to store program code, and its execution is controlled by processor 901 to perform the above-mentioned tasks. Figures 2-8 The data analysis processing steps in any embodiment. The program code includes one or more software units. The aforementioned one or more software units are... Figure 1 The configuration unit, acquisition unit, and algorithm unit in the embodiment include a configuration unit used to generate a configuration request based on configuration information, which can be specifically used to implement, for example... Figure 4 In step S100, the acquisition unit is used to acquire historical sales data to achieve, for example... Figure 4 In step S101, the algorithm unit is used to perform piecewise fitting of historical sales data to obtain the prediction function f. θ (x i The process involves determining the sales forecast based on the prediction function; calculating the difference between the predicted sales value and the observed sales value based on the cost function; and determining one or more optimal segmentation intervals, each corresponding to a prediction function; and then using the prediction function f... θ (x i S107: Determine the price elasticity for each optimal segment interval; calculate the second sales forecast value based on the price elasticity corresponding to the current price and the forecast date; determine the first sales forecast value based on historical sales data; S108: Determine the total sales forecast value based on the first and second sales forecast values, for the purpose of achieving... Figure 4 Steps S102 to S107 in the process.

[0306] Storage unit 902 includes read-only memory and random access memory, and provides instructions and data to processor 901. Storage unit 902 also includes non-volatile random access memory. Storage unit 902 is volatile memory or non-volatile memory, or includes both. The non-volatile memory is read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory is random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are used, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It can also refer to hard disks, USB flash drives, flash memory, SD cards, Memory Sticks, etc., where hard disks include hard disk drives (HDDs), solid-state drives (SSDs), and mechanical hard disks (HDDs), etc., and this application does not specifically limit the types used.

[0307] Storage medium 903 is a carrier for storing data, such as hard disk, USB flash drive, flash memory, SD card, memory stick, etc. The hard disk can be a hard disk drive (HDD), solid state disk (SSD), mechanical hard disk (HDD), etc. This application does not make specific limitations.

[0308] The communication interface 904 is a wired interface (e.g., an Ethernet interface), an internal interface (e.g., a Peripheral Component Interconnect express (PCIe) bus interface), a wired interface (e.g., an Ethernet interface), or a wireless interface (e.g., a cellular network interface or a wireless LAN interface), used to communicate with other servers or units.

[0309] The 905 bus is a Peripheral Component Interconnect Express (PCIe) bus, or an Extended Industry Standard Architecture (EISA) bus, Unified Bus (Ubus or UB), Compute Express Link (CXL), Cache Coherent Interconnect for Accelerators (CCIX), etc. The 905 bus is divided into address bus, data bus, and control bus.

[0310] In addition to the data bus, bus 905 also includes the power bus, control bus, and status signal bus. However, for clarity, all buses are labeled as bus 905 in the diagram.

[0311] It needs to be explained that, Figure 9 This is merely one possible implementation of an embodiment of this application. In actual applications, the computing device 900 may include more or fewer components, which is not limited here.

[0312] This application embodiment also provides a computing device cluster, which can be the data analysis system described above. The computing device cluster includes at least one computing device 900. The storage units 902 of one or more computing devices 900 in the computing device cluster may store the same or different instructions for executing data analysis methods.

[0313] This application also provides a computer program product containing instructions. The computer program product 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 a data analysis method.

[0314] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, 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 (e.g., high-density digital video disc (DVD)), or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to perform a data analysis method.

[0315] This application also provides a chip system including a processor and a power supply circuit. The power supply circuit supplies power to the processor, which performs the operation steps corresponding to the sales forecasting method. For simplicity, further details are omitted here. The processor can be implemented using a GPU, or a computing device such as a DPU, NPU, XPU, SoC, offload card, or accelerator card.

[0316] The above embodiments can be implemented, in whole or in part, by software, hardware, firmware, or any other combination thereof. When implemented in software, the above embodiments can be implemented, in whole or in part, as a computer program product. A computer program product includes a plurality of computer instructions. When the computer program instructions are loaded or executed on a computer, all or part of the flow or function according to the embodiments of the present invention is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another.

[0317] The above are merely specific embodiments of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art can easily conceive of various equivalent repairs or substitutions within the technical scope disclosed in the present invention, and these repairs or substitutions should all be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A sales forecasting method, characterized in that: Obtain historical sales data; A first sales forecast value is predicted based on the historical sales data. The first sales forecast value is used to indicate the basic sales value under the condition that the price has not changed. A second sales forecast value is predicted based on the historical sales data, and the second sales forecast value is used to indicate the change in sales volume due to price changes. The total sales forecast is determined based on the first sales forecast and the second sales forecast.

2. The sales forecasting method according to claim 1, characterized in that, The historical sales data includes first historical sales data and second historical sales data. The step of predicting the first sales forecast value based on historical sales data includes determining the first sales forecast value based on the first historical sales data and a first prediction algorithm; wherein, the first prediction algorithm includes a time-series algorithm. The step of predicting the second sales forecast value based on historical sales data includes determining the second sales forecast value based on the second historical sales data and a cost function.

3. The sales forecasting method according to claim 2, characterized in that, The first historical sales data and the second historical sales data are different.

4. The sales forecasting method according to claim 2, characterized in that, The first historical sales data and the second historical sales data are the same.

5. The sales forecasting method according to claim 2, characterized in that, The first historical sales data includes any one or more of the following: historical sales data of the same type of products, historical sales data of the same product, and historical sales data of products with the same price. The second set of historical sales data includes: historical sales data for the same period.

6. The sales forecasting method according to any one of claims 1-5, characterized in that, The method of predicting the second sales forecast value based on historical sales data includes: Determine price elasticity based on historical sales data; A second sales forecast is calculated based on the price elasticity and the current price; wherein the current price is the expected sales price in the configuration information.

7. The sales forecasting method according to claim 6, characterized in that, The method of determining price elasticity based on historical sales data includes: The historical sales data is piecewise fitted to obtain the prediction function f. θ (x i ), The difference between the predicted sales value and the observed sales value is calculated based on the cost function, and one or more optimal segmentation intervals are determined; each optimal segmentation interval corresponds to a prediction function; wherein, the predicted sales value is determined based on the prediction function, and the observed sales value is determined based on historical sales data.

8. The sales forecasting method according to claim 7, characterized in that, The method of determining price elasticity based on historical sales data also includes: Based on the prediction function f corresponding to each optimal segmentation interval θ (x i Determine the price elasticity for each optimal segment interval; When the prediction function is a linear fitting function, the slope of the linear fitting function is the same as the value of the price elasticity.

9. The sales forecasting method according to claim 7, characterized in that, The method of determining price elasticity based on historical sales data also includes: determining the price elasticity of each optimal segment interval based on a dual machine learning algorithm.

10. The sales forecasting method according to claim 9, characterized in that, The determination of price elasticity based on a dual machine learning algorithm includes: Based on historical sales data, obtain the observed price and observed sales volume for each segment interval. Predicted prices and sales volume are determined using machine learning algorithms. The price residual is determined based on the observed price and the predicted price. The sales residual is determined based on the observed sales volume and the predicted sales volume. Price elasticity is determined based on a fitting function of the price residual and the sales volume residual, wherein the price elasticity is the slope of the fitting function.

11. The sales forecasting method according to claim 7, characterized in that, The formula for calculating the difference between the sales forecast and the observed sales based on the cost function, and determining one or more optimal segmentation intervals, is as follows: Among them, (y i -f θ (x i )) 2 Representative sales observation y i and sales forecast value f θ (x i The sum of squares of the residuals ei between ) and y i f represents the sales observation value. θ (x) represents the sales forecast value, and point τ i-1 Point τ i These are the starting and ending points of the coordinates for each segment.

12. The sales forecasting method according to claim 6, characterized in that, The calculation of the second sales forecast value based on the price elasticity and the current price includes: The second sales forecast is calculated based on the price elasticity corresponding to the expected sales date and the current price. The current price mentioned here is the expected selling price in the configuration information; The price elasticity corresponding to the predicted date is the same as the historical price elasticity for the same period. The historical price elasticity for the same period refers to the price elasticity of the same period in the past compared with the expected sales time. The historical price elasticity for the same period is determined based on the price elasticity of each optimal segment interval.

13. The sales forecasting method according to any one of claims 6-12, characterized in that, The price elasticity ranges from -2 to 2.

14. A sales forecasting system, characterized in that, include: The configuration unit is used to obtain configuration information input by the user and generate configuration requests; The acquisition unit is used to acquire historical sales data, which is sent by the database according to the configuration request. An algorithm unit is configured to predict a first sales forecast value and a second sales forecast value based on the historical sales data, and to determine a total sales forecast value based on the first sales forecast value and the second sales forecast value; wherein, the first sales forecast value is used to indicate the basic sales value under the condition that the price has not changed; the second sales forecast value is used to indicate the change in sales value due to the price change.

15. 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 such that the computing device performs the operational steps of the method as described in any one of claims 1 to 13.

16. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed by a computing device or a cluster of computing devices, implement the operational steps of the method as described in any one of claims 1 to 13.

17. A computer program product, characterized in that, When the instruction is executed by the computing device, the computing device performs the operational steps of the method as described in any one of claims 1-13.