Demand prediction method, program, demand prediction system, and order receiving and placing system
A combined statistical and machine learning model using order and weather data addresses the challenge of diverse warehouse and product demand forecasting, providing accurate and stable forecasts without the need for extensive model customization.
Patent Information
- Application Number
- JP2024024770
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-21
- Publication Date
- 2025-09-02
AI Technical Summary
Existing demand forecasting methods struggle to accurately forecast demand for a variety of products across diverse warehouses due to the increased product variety and warehouse diversity, requiring significant man-hours to create separate forecast models for each product and warehouse.
A demand forecasting method that combines a simple statistical model with a machine learning model, using actual orders and weather information as explanatory variables, to generate a common forecasting model applicable to various products and ensure long-term stability.
Enables accurate and stable demand forecasting for a variety of products across diverse warehouses by leveraging a combined model that accounts for temperature fluctuations and other factors, reducing the need for separate models and man-hours.
Smart Images

Figure 2025127838000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology disclosed herein belongs to the technical field related to product demand forecasting in logistics warehouses and the like. [Background technology]
[0002] Inventory management in logistics warehouses and other locations requires maintaining an appropriate level of inventory while ensuring safety stock. In recent years, the variety of products handled has increased, and development of demand forecasting and inventory management technologies that utilize neural networks and machine learning models is progressing.
[0003] For example, Patent Document 1 discloses a technology in which sales results for a first period are input as processing elements into neural networks of multiple models, and each neural network is trained to output data that is as close as possible to sales results for a second period after the first period. This technology selects, from among the trained neural networks, a neural network model whose output data as a demand forecast value for the second period is closest to the sales results for the second period, and provides a forecasting engine that inputs the latest sales results into the neural network of the trained model to predict demand.
[0004] Furthermore, Patent Document 2 discloses a data processing device having a prediction model learning unit that generates a prediction model that predicts demand for multiple items, and an order forecasting unit that predicts demand for multiple items using the prediction model. In this device, the model learning unit inputs actual demand data for each item into a first neural network for each item, extracts feature quantities for each item, and generates a second neural network that is a prediction model by combining the feature quantities for each item. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Publication No. 10-143490 [Patent Document 2] Patent No. 6856589 Summary of the Invention [Problem to be solved by the invention]
[0006] Traditionally, a common forecasting model has been applied to all warehouses and all products. However, as mentioned above, in recent years, the variety of products handled has increased. In addition, the size and shape of warehouses that are the subject of inventory management are also diverse.
[0007] In such a situation, it is possible to improve the accuracy of demand forecasts for each product and each warehouse by preparing separate forecast models for each product and each warehouse. However, generating separate forecast models for each product and each warehouse is not realistic because it requires a huge amount of man-hours.
[0008] In view of the above problems, the present disclosure aims to provide a demand forecasting method that can apply a common forecasting model to a variety of products and that can be used for long-term, stable demand forecasting. [Means for solving the problem]
[0009] In order to solve the above problem, a demand forecasting method according to one embodiment of the present disclosure includes a first step of inputting actual orders for a first period into a simple statistical model to obtain a first future demand forecast value, a second step of inputting actual orders for a second period and weather information for a third period into a machine learning model as explanatory variables to learn and obtain a second future demand forecast value, and a third step of obtaining a future demand forecast value based on the first demand forecast value obtained in the first step and the second demand forecast value obtained in the second step. [Effects of the Invention]
[0010] The demand forecasting method disclosed herein allows a common forecasting model to be applied to a variety of products, and enables long-term, stable demand forecasting. [Brief explanation of the drawings]
[0011] [Figure 1] A diagram showing an example of the hardware configuration of a demand forecasting system and an order placement and receipt system. [Figure 2] FIG. 2 is a diagram illustrating an example of a functional configuration of a server device; [Figure 3] FIG. 1 is a diagram showing an example of the data structure and data flow used in a demand forecasting system and an order placement and receipt system. [Figure 4] Diagram explaining the characteristics of each prediction model [Figure 5] An example of demand forecasting using a simple statistical model with the weekly average day-of-week weighted splitting method. [Figure 6A] An example of order history used as a feature in a machine learning model [Figure 6B] An example of weather information used as features in a machine learning model. [Figure 7] Diagram showing machine learning model learning [Figure 8] 1 is a flowchart showing an example of the operation of a demand forecasting system. [Figure 9] 10 is a flowchart illustrating another example of the operation of the demand forecasting system. DETAILED DESCRIPTION OF THE INVENTION
[0012] The embodiments will be described in detail with reference to the drawings. In the drawings, the same or equivalent parts will be denoted by the same reference numerals, and repeated explanations may be omitted. In the following embodiments, configurations highly relevant to the contents of the present disclosure will be mainly described. Note that the following embodiments are merely illustrative, and the contents of the present disclosure are not intended to be limited by the presence or absence of descriptions or exemplified numerical values, etc. In the present disclosure, the term "model" is used as a concept that broadly encompasses entire algorithms, such as simple statistical models described below, in addition to machine learning models (including trained models).
[0013] [Demand forecast method] While studying a demand forecasting method using a machine learning model, the inventors came up with the idea of adding meteorological information (particularly temperature) as an explanatory variable to a conventionally used machine learning model based on order records. For ease of explanation, in this disclosure, the term "order records" is used as a concept that broadly includes records related to orders, such as order records, sales records, and shipping records.
[0014] For example, adding temperature as an explanatory variable has the advantage of making it easier to reflect fluctuations in demand due to temperature fluctuations for products whose demand changes depending on the temperature, such as "as the temperature rises, the number of orders increases" or "when the temperature exceeds 35 degrees, the number of orders increases sharply."
[0015] On the other hand, as the inventors continued their research, they came to the realization that if weather information and order history are input as explanatory variables into a machine learning model and allowed to learn, there is a risk of overlearning or underlearning, and there may be cases in which sufficient demand forecast accuracy is not achieved.
[0016] Therefore, the inventors conducted further intensive research and performed a first demand forecast using a simple statistical model (hereinafter referred to as the "simple statistical model") that uses past order records as input, and a second demand forecast in which past order records and weather information are input as explanatory variables into a machine learning model for learning.They discovered that by making demand forecasts based on the predicted values of the first demand forecast and the second demand forecast, a common forecast model can be applied to a variety of products and long-term, stable demand forecasts can be made.
[0017] The demand forecasting method according to the present disclosure will be specifically described below.
[0018] The demand forecasting method according to the present disclosure includes a first step to a third step. In the first step, actual order receipts for a first period are input into a simple statistical model to obtain a first future demand forecast value. In the second step, actual order receipts for a second period and weather information for a third period are input as explanatory variables into a machine learning model to learn and obtain a second future demand forecast value. The first and second steps may be performed in parallel, or one of them may be performed first. Then, in the third step, a future demand forecast value is obtained based on the first demand forecast value obtained in the first step and the second demand forecast value obtained in the second step. The demand forecasting method is performed for each warehouse and / or each product for which demand forecasting is to be performed.
[0019] First, the simple statistical model for performing the first demand forecast and the machine learning model for performing the second demand forecast will be described with reference to the drawings. Fig. 2 is a functional block diagram showing an example of the configuration of the forecast model unit 7 of the present disclosure. The forecast model unit 7 includes a machine learning model 71, a simple statistical model X, and a demand estimation unit 72.
[0020] -Machine learning model- As shown in FIG. 2, machine learning model 71 includes multiple machine learning models with different prediction methods. In this example, an example will be described in which machine learning model 71 includes three machine learning models A, B, and C with different prediction methods. However, the number of machine learning models is not limited to three, and may be two or less, or four or more. In the following description, when there is no need to distinguish between the three machine learning models A, B, and C, they may be referred to as "machine learning model 71" as a general term.
[0021] [Machine Learning Model A] The machine learning model A is trained using actual order receipts O1 for a predetermined period (corresponding to the second period) and weather information W1 for a predetermined period (corresponding to the third period) as explanatory variables, and obtains a demand forecast value Pa for a future predetermined period as a target variable. In other words, the machine learning model A executes a process corresponding to the second step in the demand forecasting method of the present disclosure.
[0022] As shown in Figure 4, machine learning model A is a temperature-sensitive forecasting model suitable for predicting trends such as "as the temperature rises, the number of orders also increases." Machine learning model A, for example, learns from the order record and weather information for the most recent Ya day (Ya ≥ Yx) as explanatory variables and outputs demand forecast values (objective variables) for a specified number of future days. Here, Ya day includes the second and third periods and is a collective term for, for example, ia, ja, ka, pa, qa, ra, sa, ta, na1-na10, and ma1-ma10, which will be described later. Similarly, Yb day and Yc day, which will be described later, also include the second and third periods. Furthermore, Yb day is a collective term for ib, jb, kb, pb, qb, rb, sb, tb, nb1-nb10, and mb1-mb10, which will be described later. Yc day is a collective term for ic, jc, kc, pc, qc, rc, sc, tc, nc1-nc10, and mc1-mc10, which will be described later. Yx will be explained later.
[0023] Machine learning model A is an algorithm characterized by its ability to capture linearity, and can apply, for example, regression using regularization methods (Ridge regression, Lasso regression, Elastic Net) and robust regression. Machine learning model A is a model that is expected to have relatively high prediction accuracy in cases where the number of orders has a proportional relationship with conditions such as the day of the week, temperature, and weather.
[0024] 6A and 6B show examples of order records and weather information used as feature quantities (explanatory variables) in machine learning model A, machine learning model B, and machine learning model C.
[0025] The order record is the actual order record, and includes, for example, a lag feature, a rolling feature, a holiday calendar feature, and end-of-month / beginning-of-month feature, as shown in FIG. 6A.
[0026] Lag features are features at a certain point in the past, and include, for example, lag features for each day up to the most recent i days ago (i days ago to 1 day ago), lag features for 7-day intervals (7 × j days ago to 7 days ago), and lag features for 365-day (1-year) intervals (365 × k days ago to 365 days ago).Here, if i, j, k of machine learning model A are ia, ja, ka, i, j, k of machine learning model B are ib, jb, kb, and i, j, k of machine learning model C are ic, jc, kc, then the relationships ia≦ib≦ic, ja≦jb≦jc, and ka≦kb≦kc hold.
[0027] Here, the period from i days ago to 1 day ago, the period from 7×j days ago to 7 days ago, and the period from 365×k days ago to 365 days ago, which are applied to lag features used as explanatory variables in the machine learning model 71, are examples of the second period. That is, the second period is used as a concept that includes multiple mutually different periods. Similarly, the period indicated by p, q, r, s, and t, which are applied to rolling features described later, is also an example of the second period.
[0028] Rolling features are calculated using aggregated values over a certain period of time in the past, and include, for example, rolling features for the most recent few days (e.g., p days ago to 1 day ago and q days ago to 1 day ago), rolling features at 7-day intervals (e.g., 7×r days ago to 7 days ago and 7×s days ago to 7 days ago), and rolling features at 365-day intervals (e.g., 365×t days ago to 365 days ago). Here, if p, q, r, s, t of machine learning model A are pa, qa, ra, sa, and ta, p, q, r, s, t of machine learning model B are pb, qb, rb, sb, and tb, and p, q, r, s, t of machine learning model C are pc, qc, rc, sc, and tc, then the relationships pa≦pb≦pc, qa≦qb≦qc, ra≦rb≦rc, sa≦sb≦sc, and ta≦tb≦tc.
[0029] The weather information is information related to the weather, and is, for example, one or more pieces of information selected from the group of precipitation, perceived temperature, maximum temperature, minimum temperature, average temperature, temperature difference between the maximum and minimum temperatures, weather, average wind speed, and relative humidity, as shown in Figure 6B, and includes measurement information for a specified period in the past or forecast information for a specified period in the future.
[0030] The precipitation amount includes, for example, measurement information of the amount of precipitation from (n1) days ago to the present and forecast information of the amount of precipitation from (m1) days from the present. In other words, the precipitation amount includes the amount of precipitation from (n1) days ago to (m1) days from now.
[0031] Temperatures include, for example, perceived temperature, maximum temperature, minimum temperature, average temperature, and the temperature difference between the maximum and minimum temperatures. Sensible temperature includes, for example, measurement information from (n2) days ago to the present, forecast information from the present for (m2) days from now, and the difference from the average for the most recent week. The same applies to maximum temperature, minimum temperature, average temperature, and the temperature difference between the maximum and minimum temperatures, which are, for example, measurement information from (n3) to (n6) days ago to the present, and forecast information from the present for (m3) to (m6). Furthermore, maximum temperature, minimum temperature, average temperature, and temperature difference (maximum temperature - minimum temperature) may each include the difference from the average for the most recent week.
[0032] The weather includes, for example, daytime weather and nighttime weather. The daytime weather and nighttime weather are, for example, measurement information from (n7) and (n8) days ago to the present, and forecast information for (m7) and (m8) days from now, respectively. Similarly, the average wind speed and relative humidity are, for example, measurement information from (n9) and (n10) days ago to the present, and forecast information for (m9) and (m10) days from now, respectively.
[0033] Here, the period from (n1) days before to (m1) days after that, which is applied to the amount of precipitation used as an explanatory variable of the machine learning model 71, is an example of the third period. Similarly, the period from (n2) days before to (m2) days after that, and the periods from (n3) to (n10) days before to (m3) to (m10) are also examples of the third period. In other words, the third period is used as a concept that includes multiple mutually different periods.
[0034] If we define n1 to n10 and m1 to m10 in machine learning model A as na1 to na10 and ma1 to ma10, define n1 to n10 and m1 to m10 in machine learning model B as nb1 to nb10 and mb1 to mb10, and define n1 to n10 and m1 to m10 in machine learning model C as nc1 to nc10 and mc1 to mc10, then we have the relationships na1≦nb1≦nc1 and ma1≦mb1≦mc1. The same is true for the relationships between na2 to na10, nb2 to nb10, and nc2 to nc10, and the relationships between ma2 to ma10, mb2 to mb10, and mc2 to mc10 (see the "Period Trend" column in Figure 6B).
[0035] Figure 7 shows an image of learning for machine learning model A, machine learning model B, and machine learning model C. Machine learning model B has more features and training data than machine learning model A, and is a prediction model of a larger scale than machine learning model A. Similarly, machine learning model C has more features and training data than machine learning model B, and is a prediction model of a larger scale than machine learning model B. Machine learning model A, machine learning model B, and machine learning model C are each composed of n prediction models, for example, from 0 days later (i.e., the current day) to (n-1) days later (n is any natural number, and the same applies below).
[0036] Note that the order records shown in FIG. 6A are just an example, and order records other than those shown may also be used. It is not necessary to use all of the order records shown in FIG. 6A, and only selected information may be used. While FIG. 6A shows an example in which common order record items are used as explanatory variables in machine learning model A, machine learning model B, and machine learning model C, different order record items may be used as explanatory variables in each machine learning model (e.g., A, B, C). The same applies to weather information; it is not necessary to use all of the weather information shown in FIG. 6B, and only selected information may be used. Different weather information items may be used as explanatory variables in each machine learning model (e.g., A, B, C).
[0037] [Machine Learning Model B] 2, machine learning model B is trained using actual order receipts O2 for a predetermined period (corresponding to the second period) and weather information W2 for a predetermined period (corresponding to the third period) as explanatory variables, and obtains a demand forecast value Pb for a future predetermined period as a response variable. In other words, machine learning model B executes a process equivalent to the second step in the demand forecasting method of the present disclosure.
[0038] As shown in Figure 4, machine learning model B is a forecasting model that takes into account sudden temperature fluctuations and is suitable for predicting sudden changes such as "order volume increases sharply when the temperature exceeds 35 degrees." Machine learning model B learns, for example, actual orders for the most recent Yb days (Yb ≥ Ya) and weather information as explanatory variables, and outputs demand forecast values (objective variables) for a specified number of future days. Machine learning model B is an algorithm characterized by its ability to capture nonlinearity, and can apply techniques such as Randomforest, gradient boosting (XGBoost, LightGBM, CatBoost), and DNN. Machine learning model B is expected to have relatively high forecast accuracy in cases where order volume is related to conditions such as day of the week, temperature, and weather, but has a more complex relationship that goes beyond a proportional relationship.
[0039] Examples of order history and weather information used as features (explanatory variables) in machine learning model B are explained in the explanation of "machine learning model A," and will not be explained here.
[0040] As shown in Figures 6A and 6B, the period applied to the features of machine learning model B (corresponding to the second period and the third period) and the period applied to the features of machine learning model A (corresponding to the second period and the third period) may be the same, or the period applied to the features of machine learning model B may be longer than the period applied to the features of machine learning model A.
[0041] [Machine Learning Model C] 2, machine learning model C is trained using actual order receipts O3 for a predetermined period (corresponding to the second period) and weather information W3 for a predetermined period (corresponding to the third period) as explanatory variables, and obtains a demand forecast value Pc for a future predetermined period as a target variable. In other words, machine learning model C executes a process corresponding to the second step in the demand forecasting method of the present disclosure.
[0042] As shown in Figure 4, machine learning model C is a forecasting model that takes into account fluctuations in temperature and time series. For example, machine learning model C learns actual order volume and weather information for the most recent Yc days (Yc ≥ Yb) as explanatory variables, and outputs demand forecast values (objective variables) for a specified number of future days. Machine learning model C is an algorithm characterized by its ability to capture time series characteristics, and can apply algorithms such as SARIMAX, Prophet, and LSTM. Machine learning model C is a model that is expected to have relatively high forecasting accuracy in cases where order volume has trends and seasonality over time and also has complex relationships with conditions such as temperature and weather.
[0043] Examples of order history and weather information used as features (explanatory variables) in machine learning model C are explained in the explanation of "machine learning model A," and will not be explained here.
[0044] As shown in Figures 6A and 6B, the period applied to the features of machine learning model C (corresponding to the second period and the third period) and the period applied to the features of machine learning models A and B (corresponding to the second period and the third period) may be the same, or the period applied to the features of machine learning model C may be longer than the period applied to the features of machine learning models A and B.
[0045] -Simple statistical model- 2, the simple statistical model X acquires a demand forecast value Px for a predetermined future period from actual orders O4 for a predetermined period (corresponding to a first period) using a simple statistical algorithm. In other words, the simple statistical model X executes a process corresponding to the first step in the demand forecasting method of the present disclosure.
[0046] As shown in Figure 4, simple statistical model X is a statistical model that is specialized in capturing day-of-week characteristics by referencing only the order record for the most recent Yx days. Here, Yx days is a concept that encompasses the (7 × v) and (7 × w) days described below. Simple statistical model X is a model that does not read in weather information and does not require machine learning. In other words, it is a simple statistical model with an uncomplicated structure, function, or concept. An example of simple statistical model X is the weekly average day-of-week weighted splitting method, which takes the average over a week and assigns weights to each day of the week. Simple statistical model X is a model that is expected to have relatively high prediction accuracy, for example, in cases where order volume is characterized only by the day of the week.
[0047] Figure 5 shows an example of demand forecasting using simple statistical model X using the weekly average day-of-week weighted splitting method.
[0048] First, as a first step, the weekly average number of orders (ave_week) is calculated from the total number of orders received over the most recent v weeks, i.e., the total number of orders received over (7 x v) days (see the top row of Figure 5). Here, v is an arbitrary natural number set for each warehouse based on past knowledge, etc. The weekly average number of orders can be calculated, for example, using the following formula (1).
[0049] (Number 1) ave_week=Σ(t-7v≦i≦t-1)Order[i] / v ···(1)
[0050] Next, as the second step, for each day of the week, the total number of orders placed on the same day in the most recent w orders is calculated, and the ratio for each day of the week is calculated. Here, w is an arbitrary natural number set for each warehouse based on past knowledge, etc. The ratio for each day of the week can be calculated, for example, using the following formula (2). In formula (2), rate_mon is the ratio for Monday, rate_tue is the ratio for Tuesday, rate_wed is the ratio for Wednesday, rate_thu is the ratio for Thursday, rate_fri is the ratio for Friday, rate_sat is the ratio for Saturday, and rate_sun is the ratio for Sunday.
[0051] (Number 2) rate_mon=Σ(1≦i≦w)Order[i,1] / Σ(1≦i≦w)Σ(1≦j≦7)Order[i,j] rate_tue=Σ(1≦i≦w)Order[i,2] / Σ(1≦i≦w)Σ(1≦j≦7)Order[i,j] rate_wed=Σ(1≦i≦w)Order[i,3] / Σ(1≦i≦w)Σ(1≦j≦7)Order[i,j] rate_thu=Σ(1≦i≦w)Order[i,4] / Σ(1≦i≦w)Σ(1≦j≦7)Order[i,j] rate_fri=Σ(1≦i≦w)Order[i,5] / Σ(1≦i≦w)Σ(1≦j≦7)Order[i,j] rate_sat=Σ(1≦i≦w)Order[i,6] / Σ(1≦i≦w)Σ(1≦j≦7)Order[i,j] rate_sun=Σ(1≦i≦w)Order[i,7] / Σ(1≦i≦w)Σ(1≦j≦7)Order[i,j] ···(2)
[0052] Next, in the third step, a demand forecast value for each day of the week is calculated using the ratio of each day of the week calculated in the second step. The demand forecast value for each day of the week corresponds to the first future demand forecast value.
[0053] That is, in this example, the order record for the most recent v weeks or the most recent w weeks corresponds to the order record for the first period, and the order record for the most recent v weeks or the most recent w weeks is input into the simple statistical model X, and a demand forecast value by day of the week is obtained as the first future demand forecast value. Specifically, for example, if v>w, the past order record for the most recent v weeks is used for calculation, and if v≦w, the past order record for the most recent w weeks is used for calculation.
[0054] The demand forecast value for each day of the week can be calculated, for example, using the following formula (3): In formula (3), df_mon is the demand forecast value for Monday, df_tue is the demand forecast value for Tuesday, df_wed is the demand forecast value for Wednesday, df_thu is the demand forecast value for Thursday, df_fri is the demand forecast value for Friday, df_sat is the demand forecast value for Saturday, and df_sun is the demand forecast value for Sunday.
[0055] (Number 3) df_mon=ave_week * rate_mon df_tue=ave_week * rate_tue df_wed=ave_week * rate_wed df_thu=ave_week * rate_thu df_fri=ave_week * rate_fri df_sat=ave_week * rate_sat df_sun=ave_week * rate_sun ···(3)
[0056] In this way, the simple statistical model X executes a process corresponding to the first step in the demand forecasting method of the present disclosure. The simple statistical model X is also a module that executes a process corresponding to the first step in the program of the present disclosure.
[0057] -Demand Estimation Department- The demand estimation unit 72 estimates a future demand forecast value based on the first demand forecast value calculated by the simple statistical model X and the second demand forecast value estimated by the machine learning model 71. In this example, the demand estimation unit 72 acquires a future demand forecast value Pt based on the demand forecast value Px (corresponding to the first demand forecast value) for each day of the week acquired by the simple statistical model, the demand forecast value Pa (corresponding to the second demand forecast value) acquired by the machine learning model A, the demand forecast value Pb (corresponding to the second demand forecast value) acquired by the machine learning model B, and the demand forecast value Pc (corresponding to the second demand forecast value) acquired by the machine learning model C.
[0058] The future demand forecast value Pt may be calculated, for example, by using an equal distribution method or a forecast error index distribution method in which the forecast contribution (corresponding to the contribution rate) of each model to the ensemble forecast is calculated and applied. The equal distribution method and the forecast error index distribution method will be described in detail later. The forecast contribution is calculated, for example, for each warehouse and / or each product.
[0059] [Demand forecasting system] Next, the demand forecasting system of the present disclosure will be specifically described with reference to the drawings. Fig. 1 is a diagram showing an example of the hardware configuration of the demand forecasting system and the order placement and receipt system, and Fig. 2 is a diagram showing an example of the functional configuration of the forecasting model unit 7 of the demand forecasting system 6. Fig. 3 is a diagram showing an example of the data configuration and data flow used in the demand forecasting system, the order placement and receipt system, and the linked systems. In this example, the linked systems are exemplified by an electronic commerce (EC) management system, a transportation management system (TMS), and a warehouse management system (WMS).
[0060] As shown in FIGS. 1 and 3, an order placement and receipt system 1 that acquires client data D1 and a demand forecasting system 6 that includes a forecasting model unit 7 are communicatively connected via a dedicated communication line PN. The form of the dedicated communication line PN is not particularly limited, but may be, for example, a connection by a dedicated communication line, a wired connection via a connector, or a private network (including a VPN (Virtual Private Network)). In the example of FIG. 1, the order placement and receipt system 1 and the demand forecasting system 6 are configured to automatically link predetermined data via the dedicated communication line PN using API linkage, SFTP linkage, or the like.
[0061] The specific forms of the order receiving and sending system 1 and the demand forecasting system 6 are not particularly limited. For example, the entire order receiving and sending system 1 and the demand forecasting system 6 may be implemented using a closed network in which information is shared only within a specific company. Alternatively, for example, part or all of the order receiving and sending system 1 and the demand forecasting system 6 may be implemented in an open network environment in which information can be shared with external companies or institutions. For example, the order receiving and sending system 1 may be implemented within a specific company system, and the demand forecasting system 6 may be implemented as a cloud server on which various application software can be shared by multiple users, and predetermined data may be automatically linked using technologies such as API integration and SFTP integration. Alternatively, for example, both the order receiving and sending system 1 and the demand forecasting system 6 may be implemented in a cloud environment. In this case, the order receiving and sending system 1 and the demand forecasting system 6 may be implemented entirely on a common cloud server, or some or all of the components of the order receiving and sending system 1 and the demand forecasting system 6 may be distributed across multiple cloud servers. When both the order receiving and placing system 1 and the demand forecasting system 6 are realized in a cloud environment, connection via a dedicated communication line PN becomes unnecessary.
[0062] The order placement and receipt system 1 includes one or more terminal devices 2. The terminal device 2 is, for example, a computer, and includes an interface 21 for communicating with the outside, a CPU 22 (Central Processing Unit) equipped with a memory 23, a storage device 24, an operation unit 25, and a display unit 26, and the above components are connected via a bus so as to be able to send and receive data. Each function of the terminal device 2, which will be described later, is realized by the CPU 22 executing a program stored in the memory 23. Note that some of the functions of the terminal device 2 may be realized by hardware such as an FPGA having the same function as the CPU 22 executing a program, or may be realized by a combination of software and hardware.
[0063] The terminal device 2 is configured to acquire the client data D1 and automatically link the acquired client data D1 to the demand forecasting system 6.
[0064] The client data D1 is data related to warehouse and product order management and inventory management, and includes, for example, product codes, product price data, daily order performance data for each warehouse and each product, and inventory data for each warehouse and each product.
[0065] The order placement and receipt system 1 is configured to operate in cooperation with systems such as an EC management system 3, a transportation and delivery management system 4, and a warehouse management system 5, for example.
[0066] The demand forecasting system 6 is formed by, for example, one or more computers (including workstations). Each computer has, for example, an interface 61 for communicating with the outside, a CPU (Central Processing Unit) 62 equipped with a memory 63, a storage device 64, etc., and the above components are connected via a bus so as to be able to send and receive data. As mentioned above, part or all of the configuration of the demand forecasting system 6 may be configured by one or more cloud servers. Each function of the demand forecasting system 6 described below (including the function of the aforementioned prediction model unit 7) is realized by the CPU 62 executing a program stored in the memory 63. Note that some of the functions of the demand forecasting system 6 may be realized by hardware such as an FPGA having the same function as the CPU 62 executing a program, or may be realized by a combination of software and hardware.
[0067] -Operation of the demand forecasting system- (Part 1) Next, an example of the operation of the demand forecasting system 6 will be described with reference to Fig. 3 and Fig. 8. Fig. 8 is a flowchart showing an example of the operation of the demand forecasting system 6. Here, an example of the equal distribution method will be described.
[0068] In this explanation, for each of the machine learning models A, B, and C, n models are prepared for each product in each warehouse, ranging from a 0-day later prediction model to an (n-1)-day later prediction model, as illustrated in FIG. 7. The same applies to "Part 2" described below. The 0-day later prediction model to the (n-1)-day later prediction model may be prepared as trained models that have been trained in advance, or may be created and updated as needed during daily processing.
[0069] First, in S1, the demand forecasting system 6 acquires order records and weather information. Specifically, as shown in Fig. 3, the demand forecasting system 6 acquires client data D10 including order records from the terminal device 2, for example, by automatic cooperation with the terminal device 2 of the order placement and receipt system 1. Furthermore, by cooperation with an external server 8 (for example, a server of the Japan Meteorological Agency) as open data, the demand forecasting system 6 acquires weather information from open data D8 of the external server.
[0070] In the next step S2, the demand forecasting system 6 performs abnormal value handling for the order record, and missing value handling and abnormal value handling for the acquired data D6 containing the order record and weather information acquired in S1. Specifically, for example, (1) in handling abnormal values for the order record, a correction is made based on the average and standard deviation of the number of orders received over a certain period in the past, (2) in handling missing values for the weather information, if a missing value occurs in the weather information, the information from the previous day is applied, and (3) if the temperature exceeds or falls below a predetermined value as an abnormal value in the weather information, a specified upper or lower limit is applied.
[0071] Thereafter, the respective demand forecasting processes are executed for each forecasting model.
[0072] S3 (S31, S32) shows the forecasting process using the simple statistical model X. As described above, in the simple statistical model X, a demand forecast value Px for a predetermined future period is obtained from the order record O4 for a predetermined period (corresponding to the first period) using a simple statistical algorithm. In this example, since the equal distribution method is used, the forecast contribution of the demand forecast value Px of the simple statistical model X is set to Px / 4 (S32).
[0073] S4 (S41 to S44) shows the prediction process by machine learning model A. As described above, machine learning model A is trained using actual order receipts O1 for a predetermined period and weather information W1 for the predetermined period as explanatory variables, and obtains a demand forecast value Pa for a predetermined future period as a target variable. Specifically, hyperparameter tuning is performed in S41. In the next S42, learning is performed on all n models, from a 0-day-later forecast model to an (n-1)-day-later forecast model, using actual order receipts O1 and weather information W1 as explanatory variables. As a result, a demand forecast value Pa for each product in each warehouse over the next n days (from 0 days to (n-1 days)) is obtained (S43). Because the equal distribution method is used, the forecast contribution of machine learning model A's demand forecast value Pa is set to Pa / 4 (S44).
[0074] S5 (S51 to S54) shows the prediction process by machine learning model B. As described above, machine learning model B is trained using actual order receipts O2 for a predetermined period and weather information W2 for the predetermined period as explanatory variables, and a demand forecast value Pb for a predetermined future period is obtained as a target variable. Specifically, hyperparameter tuning is performed in S51. In the next step S52, learning is performed on all n models, from a 0-day-later forecast model to an (n-1)-day-later forecast model, using actual order receipts O2 and weather information W2 as explanatory variables. As a result, a demand forecast value Pb for each product in each warehouse over the next n days (from 0 days to (n-1 days)) is obtained (S53). Because the equal distribution method is used, the forecast contribution of machine learning model B's demand forecast value Pb is set to Pb / 4 (S54).
[0075] S6 (S61 to S64) shows the prediction process by machine learning model C. As described above, machine learning model C learns using actual order receipts O3 for a predetermined period and weather information W3 for the predetermined period as explanatory variables, and obtains a demand forecast value Pc for a predetermined future period as a target variable. Specifically, hyperparameter tuning is performed in S61. In the next step S62, learning is performed on all n models, from a 0-day-later forecast model to an (n-1)-day-later forecast model, using actual order receipts O3 and weather information W3 as explanatory variables. As a result, a demand forecast value Pc for each product in each warehouse over the next n days (from 0 days to (n-1 days)) is obtained (S63). Because the equal distribution method is used, the forecast contribution of machine learning model C's demand forecast value Pc is set to Pc / 4 (S64).
[0076] In the next step S7, an ensemble prediction process is performed, and a demand prediction value Pt is calculated using the following equation (4).
[0077] (Number 4) Pt = (Px + Pa + Pb + Pc) / 4 (4)
[0078] (Part 2) Next, another example of the operation of the demand forecasting system 6 will be described with reference to Fig. 3 and Fig. 9. Here, an example of the forecast error index pro rata allocation method will be described.
[0079] In Fig. 9, since the process up to the prediction process by each prediction model is the same as Fig. 8, the process up to the prediction process by each prediction model is omitted, and the flow after the prediction process by each prediction model is illustrated. In addition, the following explanation will focus on the differences from the above-mentioned "Part 1", and duplicate explanations may be omitted.
[0080] The forecasting process S3 using the simple statistical model X is made up of S31 and S35 to S37. In S31, as described above, a demand forecast value Px for a predetermined future period is acquired from the order record O4 for the predetermined period using a simple statistical algorithm.
[0081] In S35, the demand estimation unit 72 measures the error between the predicted quantity and the actual quantity for each product in each warehouse, from the 0-day-later prediction model to the (n-1)-day-later prediction model, over the past m days. The prediction error evaluation indexes include RMSE, MSE, RMSLE, MAE, etc.
[0082] Next, in S36, the demand estimation unit 72 calculates the reciprocal of the error index acquired in S35, and calculates the magnitude of weighting for each of the four models (simple statistical model X and machine learning models A, B, and C). At this time, for example, it is preferable that the sum of the weights for each of the four models is 1. Then, in S37, the demand estimation unit 72 calculates the forecast contribution of the demand forecast value Px of the simple statistical model X in the ensemble forecast, based on the calculation results obtained in S35 and S36.
[0083] The prediction process S4 in machine learning model A consists of S41 to S43 and S45 to S47. In S43, as described above, actual order receipts O1 for a predetermined period and weather information W1 for a predetermined period are learned as explanatory variables, and a demand forecast value Pa for a predetermined future period is obtained as a target variable.
[0084] In S45, similar to S35 described above, the demand estimation unit 72 measures the error between the predicted quantity and the actual quantity for each product in each warehouse over the past m days, from the 0-day-later prediction model to the (n-1)-day-later prediction model. Next, in S46, similar to S36 described above, the demand estimation unit 72 calculates the reciprocal of the error index acquired in S45 and calculates the magnitude of weighting for each of the four models (simple statistical model X and machine learning models A, B, and C). Then, in S47, the demand estimation unit 72 calculates the prediction contribution of the demand forecast value Pa of machine learning model A in the ensemble prediction, based on the calculation results obtained in S45 and S46.
[0085] The prediction process S5 in machine learning model B consists of S51 to S53 and S55 to S57. In S53, as described above, actual order receipts O2 for a predetermined period and weather information W2 for a predetermined period are learned as explanatory variables, and a demand forecast value Pb for a predetermined future period is obtained as a target variable.
[0086] In S55, similar to S35 described above, the demand estimation unit 72 measures the error between the predicted quantity and the actual quantity for each product in each warehouse over the past m days, from the 0-day-later prediction model to the (n-1)-day-later prediction model. Next, in S56, similar to S36 described above, the demand estimation unit 72 calculates the reciprocal of the error index acquired in S55 and calculates the magnitude of weighting for each of the four models (simple statistical model X and machine learning models A, B, and C). Then, in S57, the demand estimation unit 72 calculates the prediction contribution of machine learning model B's demand prediction value Pb in the ensemble prediction, based on the calculation results obtained in S55 and S56.
[0087] The prediction process S6 in the machine learning model C is composed of S61 to S63 and S65 to S67. In S63, as described above, the order record O3 for a predetermined period and the weather information W3 for a predetermined period are learned as explanatory variables, and a demand forecast value Pc for a predetermined future period is obtained as a target variable.
[0088] In S65, similar to S35 described above, the demand estimation unit 72 measures the error between the predicted quantity and the actual quantity for each product in each warehouse over the past m days, from the 0-day-later prediction model to the (n-1)-day-later prediction model. Next, in S66, similar to S36 described above, the demand estimation unit 72 calculates the reciprocal of the error index acquired in S65 and calculates the magnitude of weighting for each of the four models (simple statistical model X and machine learning models A, B, and C). Then, in S67, the demand estimation unit 72 calculates the prediction contribution of the demand prediction value Pc of machine learning model C in the ensemble prediction, based on the calculation results obtained in S65 and S66.
[0089] In the next step S7, an ensemble prediction process is performed, and a demand prediction value Pt is calculated using the following equation (5).
[0090] (Number 5) Pt=Px・Rx+Pa・Ra+Pb・Rb+Pc・Rc (5)
[0091] 3, the demand forecast value Pt calculated by the forecast model unit 7 is automatically linked to the order placement and receipt system 1. In addition, the demand forecast value Pt calculated by the forecast model unit 7 may be automatically linked to the aforementioned linked systems, that is, the EC management system 3, the transportation and delivery management system 4, and the warehouse management system 5.
[0092] The flows in Figures 8 and 9 are executed, for example, daily (equivalent to every predetermined period). That is, the demand forecast value Pt for each warehouse and / or each product is updated daily. In the order placement and receipt system 1, the demand forecast value Pt and the like received from the demand forecast system 6 are reflected daily in a program that calculates optimum order quantities and optimum inventory quantities, and data such as the recommended order quantity is updated (see D10 in Figure 3).
[0093] In the EC management system 3, when the demand forecast value Pt is automatically linked from the demand forecasting system 6, the demand forecast value Pt, etc. received from the demand forecasting system 6 may be reflected daily in a program that calculates an optimum inventory amount and an optimum number of vehicles to be dispatched, and the data may be updated (see D3 in FIG. 3). Similarly, in the transportation and delivery management system 4, the demand forecast value Pt, etc. received from the demand forecasting system 6 may be reflected in a program that calculates an optimum inventory amount and an optimum number of vehicles to be dispatched, and the data may be updated (see D4 in FIG. 3). Furthermore, in the warehouse management system 5, the demand forecast value Pt, etc. received from the demand forecasting system 6 may be reflected in a program that calculates an optimum inventory amount and an optimum number of vehicles to be dispatched, and the data may be updated (see D5 in FIG. 3).
[0094] [Effects of the embodiment] As described above, the demand forecasting method according to the first aspect of this embodiment includes the first step, the second step, and the third step.
[0095] In the first step, the order record O4 for a predetermined period (corresponding to the first period) is input into a simple statistical model X to obtain a first demand forecast value Px for a predetermined future period. In the second step, the order record for a predetermined period (corresponding to the second period) and the weather information for a predetermined period (corresponding to the third period) are input as explanatory variables into the machine learning model 71, and the machine learning model 71 is trained to obtain second future demand forecast values Pa to Pc. In the third step, a future demand forecast value Pt is obtained based on the first demand forecast value Px obtained in the first step and the second demand forecast values Pa to Pc obtained in the second step.
[0096] According to the first aspect described above, by combining a demand forecast using a simple statistical model X that uses actual orders as an input with a demand forecast using a machine learning model 71 that uses actual orders and weather information as an input, a common forecast model can be applied to a variety of warehouses and a variety of products, and long-term, stable demand forecasts become possible.
[0097] To give a specific example, some products are more susceptible to weather information, while others are less susceptible to weather information. Therefore, if demand forecasting is performed by simply inputting order history into a simple statistical model, the desired demand forecast result may not be obtained for products that are more susceptible to weather information. Furthermore, if order history and weather information are simply input into a machine learning model as explanatory variables and trained, the desired demand forecast result may not be obtained for products that are less susceptible to weather information due to the influence of weather information. In contrast, as described above, the present disclosure predicts future demand based on demand forecast values obtained by inputting order history into a simple statistical model and demand forecast values obtained by inputting order history and weather information into a machine learning model as explanatory variables and training the model. This allows for balanced demand forecasting of various products using a common forecasting model, regardless of their susceptibility to weather information, i.e., regardless of product attributes. Furthermore, order history can be reflected, for example, by warehouse, allowing for balanced demand forecasting of various products for each warehouse.
[0098] In the above demand forecasting method, the machine learning model 71 may include multiple machine learning models A to C that use different forecasting methods. Then, in a second step, the multiple machine learning models A to C may each learn using actual orders O1 to O3 and weather information W1 to W3 as explanatory variables to obtain multiple second demand forecast values Pa to Pc. Then, in a third step, future demand may be forecast based on the first demand forecast Px obtained in the first step and the multiple second demand forecast values Pa to Pc obtained in the second step.
[0099] A machine learning model can have various characteristics depending on the forecasting method, such as a model that takes long-term fluctuations into account when viewed over time, or a model that can improve tracking of short-term fluctuations. Therefore, in this embodiment, a plurality of machine learning models with different forecasting methods are trained to obtain a plurality of second demand forecast values. This allows for balanced demand forecasting even for products with different order change characteristics, such as products whose orders fluctuate in response to long-term or cyclical weather changes and products whose orders fluctuate in response to short-term temperature fluctuations. In other words, balanced demand forecasting can be performed for a variety of products.
[0100] In the above-mentioned demand forecasting method, future demand forecasts are performed for each warehouse and / or each product that is the subject of the demand forecast, and the contribution of the first demand forecast value Px and the second demand forecast values Pa to Pc to the future demand forecast for the product in the third process may be set depending on the actual forecast accuracy of the first demand forecast value Px and the forecast accuracy of the second demand forecast values Pa to Pc for each warehouse and / or each product.
[0101] By setting the contribution rate in this way, the actual performance of the forecast accuracy is reflected in the demand forecast, and the forecast results of proven models are largely reflected for each product and warehouse, making it possible to achieve well-balanced forecasts with increased accuracy for each demand forecast.
[0102] In the above embodiment, the first demand forecast value Px is obtained using a simple statistical model with actual order receipts as input in the first step, but this is not limited to this. For example, the first demand forecast value may be obtained by providing actual order receipts for a predetermined period as input to another algorithm (program) such as a complex statistical model (including a machine learning model). Similarly, in the above embodiment, the second demand forecast values Pa to Pc are obtained by inputting actual order receipts and weather information as explanatory variables into a machine learning model and allowing it to learn, but this is not limited to this. For example, the second demand forecast value may be obtained by providing actual order receipts and weather information for a predetermined period as input to a statistical model other than a machine learning model.
[0103] That is, as a program relating to the second aspect of this embodiment, the computer may be configured to execute a first step of making a first future demand forecast based on past order records for a first period, a second step of making a second future demand forecast based on past order records for a second period and weather information for a third period, and a third step of making a future demand forecast based on the first demand forecast obtained in the first step and the second demand forecast obtained in the second step.
[0104] In this way, by combining a demand forecast that uses actual orders as input with a demand forecast that uses actual orders and weather information as input, a common forecast model can be applied to a variety of warehouses and a variety of products, as in the first aspect, and long-term, stable demand forecasts become possible.
[0105] The demand forecasting system 6 according to the third aspect of this embodiment includes a simple statistical model X that calculates a future first demand forecast value Px from actual orders received for a predetermined period (corresponding to a first period), a machine learning model 71 that estimates future second demand forecast values Pa to Pc using actual orders received for a predetermined period (corresponding to a second period) and weather information for a predetermined period (corresponding to a third period) as explanatory variables, and a demand estimation unit 72 that estimates future demand forecast values based on the first demand forecast value Px calculated by the simple statistical model X and the second demand forecast values Pa to Pc estimated by the machine learning model 71.
[0106] According to the third aspect, as in the first aspect, by combining a demand forecast using a simple statistical model X that uses actual orders as an input with a demand forecast using a machine learning model 71 that uses actual orders and weather information as an input, a common forecast model can be applied to a variety of warehouses and a variety of products, and long-term, stable demand forecasts can be made.
[0107] An order placement and receipt system 1 according to a fourth aspect of this embodiment includes a program for calculating a recommended order quantity for each warehouse and / or each product based on a demand forecast value. The order placement and receipt system 1 is configured to cause one or more computers to execute the following steps: a step of inputting actual order receipts for each warehouse and / or product for the most recent first period and the most recent second period to a demand forecast system 6 that estimates a future demand forecast value Pt by ensemble processing of a demand forecast value Px of a simple statistical model X that predicts demand from actual order receipts for a predetermined period (corresponding to a first period) and demand forecast values Pa to Pc of a machine learning model 71 that predicts demand using actual order receipts for a predetermined period (corresponding to a second period) and weather information for a predetermined period (corresponding to a third period) as explanatory variables, to the demand forecast system 6, and a step of reflecting the demand forecast value for each predetermined period in the demand forecast value of the program to update the recommended order quantity.
[0108] In other words, the order placement and receipt system 1 is configured to provide actual orders as input to the demand forecasting system 6, obtain from the demand forecasting system 6 a demand forecast value Pt obtained by ensemble processing of a demand forecast by a simple statistical model X using the actual orders as input and a demand forecast by a machine learning model 71 using the actual orders and weather information as input, and reflect the obtained demand forecast value Pt in the demand forecast value of the program of the order placement and receipt system 1 each time, thereby updating the recommended order quantity each time.
[0109] With the configuration of the fourth aspect described above, the order placement and receipt system 1 performs a function in which the results of a demand forecast obtained by ensemble processing of a demand forecast by the simple statistical model X based on order history and a demand forecast by the machine learning model 71 that uses order history and weather information as input are reflected in the demand forecast value of the program of the order placement and receipt system 1 each time, thereby updating the recommended order quantity for each warehouse and / or each product. This allows a common forecast model to be applied to a variety of warehouses and a variety of products, thereby realizing an order placement and receipt system 1 that reflects long-term, stable demand forecasts. [Industrial Applicability]
[0110] As described above, the demand forecasting method disclosed herein is extremely useful because it allows a common forecasting model to be applied to a variety of products and is suitable for long-term, stable demand forecasting. [Explanation of symbols]
[0111] A machine learning model B. Machine Learning Models C Machine Learning Models X Simple statistical model 1. Ordering system 71 Machine Learning Models 72 Demand Estimation Department
Claims
1. a first step of inputting the order record for a first period into a simple statistical model to obtain a first future demand forecast value; a second step of inputting the order record for the second period and the weather information for the third period as explanatory variables into a machine learning model to learn the model and acquire a second future demand forecast value; A demand forecasting method comprising a third step of obtaining a future demand forecast value based on the first demand forecast value obtained in the first step and the second demand forecast value obtained in the second step.
2. 2. The demand forecasting method according to claim 1, the machine learning model includes a plurality of machine learning models with different prediction methods, In the second step, the plurality of machine learning models are trained using the order record and the weather information as explanatory variables, respectively, to obtain the plurality of second demand forecast values; A demand forecasting method in which, in the third step, future demand forecast values are obtained based on the first demand forecast obtained in the first step and the plurality of second demand forecast values obtained in the second step.
3. 2. The demand forecasting method according to claim 1, the demand forecasting method is executed for each warehouse and / or each product that is a target of demand forecasting, A demand forecasting method that sets the contribution of the first demand forecast value and the second demand forecast value to the future demand forecast in the third process for the product in question, based on the actual forecast accuracy of the first demand forecast value and the actual forecast accuracy of the second demand forecast value for each warehouse and / or for each product.
4. 2. The demand forecasting method according to claim 1, A demand forecasting method in which the weather information for the third period is one or more pieces of information selected from the group consisting of precipitation, perceived temperature, maximum temperature, minimum temperature, average temperature, temperature difference between the maximum and minimum temperatures, weather, average wind speed, and relative humidity, and includes measurement information for a specified period in the past or forecast information for a specified period in the future.
5. A program that causes a computer to execute the demand forecasting method according to any one of claims 1 to 4.
6. On the computer, a first step of making a first future demand forecast based on past order receipts for a first period; a second step of forecasting a second future demand based on past order records for a second period and weather information for a third period; a third step of predicting future demand based on the first demand forecast obtained in the first step and the second demand forecast obtained in the second step.
7. a simple statistical model that calculates a first future demand forecast value from actual orders received in a first period; a machine learning model that estimates a second future demand forecast value using the order record for the second period and the weather information for the third period as explanatory variables; A demand forecasting system comprising a demand estimation unit that estimates a future demand forecast value based on the first demand forecast value calculated by the simple statistical model and the second demand forecast value estimated by the machine learning model.
8. An order placement and receipt system having a program for calculating a recommended order quantity for each warehouse and / or each product based on a demand forecast value, On one or more computers, a step of providing actual orders for each warehouse and / or each product for the most recent first period and the most recent second period as input for each predetermined period to a demand forecasting system that estimates future demand forecast values by ensemble processing of demand forecast values of a simple statistical model that makes demand forecasts from actual orders for a first period and demand forecast values of a machine learning model that makes demand forecasts using actual orders for a second period and weather information for a third period as explanatory variables, and acquiring the future demand forecast values for each warehouse and / or each product for each predetermined period; and updating the recommended order quantity by reflecting the future demand forecast value for each predetermined period in the demand forecast value of the program each time.
Citation Information
Patent Citations
Demand prediction method, demand prediction system and recording medium
JP1998143490A
Data processing device and data processing method
JP6856589B2
Cited By
Material handling equipment estimation device, material handling equipment estimation method, and computer program
JP7788684B1