Demand forecasting method, demand forecasting device, and program

The demand forecasting method addresses underprediction during stockouts by using right-censored likelihood functions and price elasticity, enhancing forecasting accuracy and optimizing prices to improve inventory management.

JP2025132475APending Publication Date: 2025-09-10PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD

Patent Information

Application Number
JP2024030079
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-29
Publication Date
2025-09-10

AI Technical Summary

Technical Problem

Existing demand forecasting models fail to accurately predict potential demand during stockouts due to the exclusion of sales data from time slots with zero inventory, and do not consider price elasticity, leading to underestimation of demand and suboptimal inventory management.

Method used

A demand forecasting method that utilizes historical supply data and a likelihood function accounting for right-censoring to estimate potential demand, incorporating price elasticity through machine learning, and determines optimal prices to maximize sales value.

Benefits of technology

Enhances demand forecasting accuracy by estimating potential demand and optimizing prices, even in situations with supply constraints, thereby improving inventory management and sales outcomes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025132475000001_ABST
    Figure 2025132475000001_ABST
Patent Text Reader

Abstract

To provide a demand forecasting method capable of efficiently estimating the potential demand for goods or services that may be subject to stockouts or price fluctuations over time, and the price elasticity of that potential demand.SOLUTION: The demand forecasting method learns a prediction model by using data on the actual performance of providing goods or services when the quantity requested exceeds the available supply (data where the rightmost value is a missing value) and likelihood function considering right-censored data for actual supply figures exceeding the target supply quantity. The potential demand for goods or services corresponding to a reference price of the goods or services to be predicted is predicted based on the input data and the prediction model, including the reference value.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a demand forecasting method, a demand forecasting device, and a program. [Background technology]

[0002] Patent Document 1 discloses an inventory optimization system that improves the accuracy of product demand forecasts. This inventory optimization system corrects the sales volume for each sales time slot by adding up the number of missed sales for each sales time slot, where sales opportunities for the product were missed due to stockouts, to the sales volume based on the product's sales record for each sales time slot. The inventory optimization system also predicts product demand by inputting the sales time slot to be predicted into a demand forecasting model trained using training data including the corrected sales volume for each sales time slot, and determines a recommended product order quantity to optimize product inventory based on the predicted product demand. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2021-103374 Summary of the Invention [Problem to be solved by the invention]

[0004] In Patent Document 1, the training of the demand forecasting model is performed using training preparation data that includes the sales numbers of products during sales time slots, excluding sales time slots during which the store is determined to have no products in stock. In other words, this training preparation data does not include the sales numbers of products during sales time slots during which the store has no products in stock (i.e., zero). While it is realistic for a store to sell out of products during certain sales time slots, this assumption is not reflected in the training of the demand forecasting model. While Patent Document 1 corrects the sales numbers when a product is out of stock, this correction is based on past performance and does not reflect the actual sales situation at the time the stockout occurred. For example, if a stockout occurs due to unprecedentedly strong sales, the sales number correction in Patent Document 1 cannot accurately represent the demand that reflects the sales situation. In other words, in Patent Document 1, when a stockout occurs, the demand that would have occurred if there had been no stockout (hereinafter referred to as "potential demand") is not reflected in the training of the demand forecasting model. Therefore, given the actual situation at stores, there is room for improvement in the training method of the demand forecasting model to improve accuracy.

[0005] The present disclosure has been devised in view of the above-described conventional situation, and aims to efficiently estimate latent demand for goods or services that may be out of supply. [Means for solving the problem]

[0006] The present disclosure provides a demand forecasting method that trains a prediction model using historical supply data for goods or services that cannot be supplied in quantities exceeding the supply quantity and a likelihood function that takes into account right-censoring for the historical supply quantity that exceeds the supply quantity, and predicts potential demand for the goods or services corresponding to the reference price based on input data including the reference price of the goods or services to be predicted and the prediction model.

[0007] The present disclosure also provides a demand forecasting device that includes a processor and a memory, wherein the processor, in cooperation with the memory, learns a prediction model using historical supply data for goods or services that cannot be provided in quantities exceeding the supply quantity and a likelihood function that takes into account right-truncation for the historical supply quantity that exceeds the supply quantity, and predicts potential demand for the goods or services corresponding to the reference price based on input data including the reference price of the goods or services that are the target of prediction and the prediction model.

[0008] The present disclosure also provides a program for causing a demand forecasting device, which is a computer, to execute the following processes: a process of learning a prediction model using actual supply data for goods or services that cannot be provided in quantities exceeding the supply quantity and a likelihood function that takes into account right-truncation for actual supplies that exceed the supply quantity; and a process of predicting potential demand for the goods or services corresponding to the reference price based on input data including the reference price of the goods or services to be predicted and the prediction model.

[0009] These comprehensive or specific aspects may be realized as a system, an apparatus, a method, an integrated circuit, a computer program, or a recording medium, or may be realized as any combination of a system, an apparatus, a method, an integrated circuit, a computer program, and a recording medium. [Effects of the Invention]

[0010] According to the present disclosure, it is possible to efficiently estimate demand for goods or services that may sell out and whose prices may fluctuate over time. [Brief explanation of the drawings]

[0011] [Figure 1] A block diagram showing an example of the hardware configuration of a price optimization device according to an embodiment of the present invention. [Figure 2] A diagram showing an example of the data structure of sales performance data stored in memory. [Figure 3] A diagram showing an example of the data structure of sales forecast data stored in memory. [Figure 4]A diagram showing an example of the data structure of optimal price data stored in memory. [Figure 5] FIG. 10 is a diagram showing an example of the structure of learning preparation data generated by the data preprocessing unit. [Figure 6] Schematic diagram of the right-censored likelihood function concept [Figure 7] 1 is a flowchart showing an example of the operation procedure of a price optimization device according to an embodiment of the present invention in chronological order. [Figure 8] A diagram showing an example of verification after lowering the upper limit of sales volume results [Figure 9] A diagram showing an example of evaluation results comparing demand forecasts with and without right truncation. DETAILED DESCRIPTION OF THE INVENTION

[0012] 1. Background to this disclosure Recently, technological innovation, infectious diseases, demographic trends, and other factors have caused significant changes in relationships within and between social groups, particularly nations. This has led to greater social fluctuations, making it difficult to predict future economic activity, such as demand. Furthermore, the frequency and severity of meteorological phenomena and disasters caused by global warming are changing due to the progression of global warming, making it difficult to predict the impact on economic activity, such as demand, based on past experience. Therefore, there is a demand for technology that can make robust predictions even in uncertain situations and enable effective decision-making and actuation. The present inventors have developed price optimization technology as one of the technologies that can enable decision-making and actuation. Price optimization technology consists of technology that predicts demand for a target product or service and technology that sets prices according to demand.

[0013] Demand forecasting essentially requires predicting potential demand assuming no supply constraints. However, actual sales data typically used for demand forecasting imposes an upper limit on the supply quantity, which can lead to products being sold out due to supply constraints. The supply quantity refers to the upper limit on the number of products that can actually be provided within a given period. In other words, the supply quantity does not necessarily correspond to the number of products actually delivered. For example, if a daily sales limit is set in advance, several days' worth of products may be delivered at once. In this case, the number of products actually delivered will exceed the daily sales limit. Using this data as training data for prediction using existing machine learning techniques will only yield a predicted value for actual sales that are subject to supply constraints, rather than potential demand. In other words, this prediction cannot be considered potential demand in situations where supply is constrained and products frequently sell out.

[0014] Furthermore, it is also realistic for stores to dynamically fluctuate product prices depending on the time of year, etc. However, conventional demand forecasting does not take into consideration the use of price elasticity, which indicates the impact of changing the price of a product on an increase or decrease in product demand, as a parameter. This is because, for example, Patent Document 1 aims to optimize product inventory (purchasing) in stores, and therefore does not motivate estimating price elasticity in an attempt to predict the optimal price, which is the selling price. Therefore, if it is assumed that product prices may change, it is not possible to perform demand forecasting that involves product price changes.

[0015] Therefore, the present inventors have developed a method for estimating the predictive distribution of potential demand using machine learning for data on actual sales figures, including sold-out items. Furthermore, the present inventors have also developed a method for determining a price that maximizes the expected value of product sales using the estimated predictive distribution. The following embodiments describe an example of a demand forecasting device that realizes a method for predicting potential demand for a product and a method for determining a price that maximizes the expected value of product sales.

[0016] Hereinafter, with reference to the drawings as appropriate, detailed descriptions will be given of embodiments that specifically disclose a demand forecasting method, a demand forecasting device, and a program according to the present disclosure. However, more detailed descriptions than necessary may be omitted. For example, detailed descriptions of well-known matters and redundant descriptions of substantially identical configurations may be omitted. This is to avoid unnecessary redundancy in the following description and to facilitate understanding by those skilled in the art. Note that the accompanying drawings and the following description are provided to enable those skilled in the art to fully understand the present disclosure, and are not intended to limit the subject matter of the claims.

[0017] 2. Price optimization device configuration First, with reference to Fig. 1 to Fig. 4, an example configuration of a price optimization device 1 as an example of a demand forecasting device according to the present disclosure will be described. Fig. 1 is a block diagram showing an example hardware configuration of the price optimization device 1 according to the present embodiment. Fig. 2 is a diagram showing an example data structure of sales performance data 21 stored in memory 20. Fig. 3 is a diagram showing an example data structure of sales forecast data 22 stored in memory 20. Fig. 4 is a diagram showing an example data structure of optimal price data 23 stored in memory 20.

[0018] 1, the input device IN1 and the display device OU1 are shown as separate entities relative to the price optimization device 1, but at least one of the input device IN1 and the display device OU1 may be included within the price optimization device 1. The price optimization device 1 is connected to an external device (not shown) via a network NW so that data communication can be performed between the external device and the price optimization device 1. The network NW may be, for example, a Wide Area Network (WAN), a Local Area Network (LAN), mobile communications such as Long Term Evolution (LTE), 4G, or 5G, power line communications, short-range wireless communications (e.g., Bluetooth (registered trademark) communications), or communications for mobile phones, and is not limited to those exemplified here.

[0019] The price optimization device 1 uses a potential demand prediction model (see below) obtained by machine learning to predict potential demand for a product (hereinafter simply referred to as "product") that is the target of prediction, and determines a price that maximizes the expected sales value of the product using the prediction results. The price optimization device 1 is, for example, a computer device such as a desktop personal computer or a stationary server computer. Note that the price optimization device 1 is not limited to these computer devices, and may also be, for example, a portable computer device such as a smartphone or a tablet terminal. The price optimization device 1 includes at least a processor 10 and a memory 20.

[0020] The processor 10 is configured by at least one of a central processing unit (CPU), a digital signal processor (DSP), a graphical processing unit (GPU), and a field programmable gate array (FPGA). The processor 10 functions as a controller that manages the overall operation of the price optimization device 1. The processor 10 performs control processing for overseeing the operations of each unit of the price optimization device 1, data input / output processing between each unit of the price optimization device 1, data calculation processing, and data storage processing. The processor 10 operates according to a program stored in the memory 20. The processor 10 uses the memory 20 during operation and temporarily stores data generated or acquired by the processor 10 in the memory 20. In the price optimization device 1, the processor 10 cooperates with the memory 20 to execute various processes (for example, the processes of the flowchart shown in FIG. 7). The processor 10 implements the functions of the potential demand forecasting / price elasticity estimation unit 11 and the price determination unit 15 by cooperating with the memory 20.

[0021] The potential demand forecasting / price elasticity estimation unit 11 learns and estimates parameters (see below) of a potential demand forecasting model that predicts the potential demand of a product, using sales performance data 21 stored in memory 20. Furthermore, using the potential demand forecasting model obtained by the learning-based estimation, the potential demand forecasting / price elasticity estimation unit 11 outputs a prediction result that predicts the potential demand corresponding to the base price of the product, and price elasticity, which is a parameter that indicates the degree of impact when the base price of the product is changed, and stores these in memory 20. The potential demand forecasting / price elasticity estimation unit 11 at least includes a data preprocessing unit 12, a learning unit 13, and an inference unit 14. The data preprocessing unit 12 includes at least a sold-out determination unit 12a. The inference unit 14 includes at least a demand forecasting unit 14a and a price elasticity acquisition unit 14b.

[0022] The data preprocessing unit 12 determines the processing interval t of the data based on, for example, a user's input operation using the input device IN1. The processing interval here is the smallest unit used to predict potential demand corresponding to the base price of a product, and is also the smallest unit used to determine price elasticity, which indicates the degree of impact when the base price of a product is changed (described later). For example, the data preprocessing unit 12 determines the processing interval t to be, for example, one day (i.e., one day of the week) or one hour (i.e., one time slot). Note that the value of the processing interval t is not limited to one day or one hour, and may be, for example, an eight-hour morning interval, an eight-hour afternoon interval, or an eight-hour night interval, or may be several hours (e.g., two, three, four, or six hours) that allow a day to be divided into multiple time slots.

[0023] Furthermore, the data preprocessing unit 12 references past sales performance data 21 stored in the memory 20 and generates learning preparation data by shaping the data of explanatory variables required for learning the parameters of the potential demand forecasting model according to the processing category t (see FIG. 5). The data of the explanatory variables and the learning preparation data may be the same, or the data of the explanatory variables may be configured as part of the learning preparation data. Shaping here is not limited to editing or adding data included in the sales performance data 21, but may also include processing to attach (add) external data acquired from other external devices (not shown) (for example, trend information for stores, weather information, information indicating whether or not the onset of COVID-19 has occurred).

[0024] Furthermore, when there is missing data (i.e., missing data) in the past sales performance data 21 stored in the memory 20, the data preprocessing unit 12 performs a process of complementing the missing data using data before and after the date and time of the missing data. For example, the data preprocessing unit 12 adds data from the first week when there are not enough days to calculate a one-week moving average, or complements the weather for a date and time when weather information could not be obtained. It goes without saying that examples of data complementation are not limited to these exemplified processes.

[0025] The sold-out determination unit 12a refers to the past sales performance data 21 stored in the memory 20 and determines whether a product has sold out for each processing division t. For example, if the actual sales volume for a product corresponding to the processing division t and the upper limit of the sales volume for that processing division t are the same (see the record in the second row of FIG. 5), the sold-out determination unit 12a assigns a sold-out determination flag "TRUE" to the processing division t, indicating that the product was sold out in that processing division t. The data of this assigned sold-out determination flag is also included in the learning preparation data (see FIG. 5). On the other hand, if the actual sales volume for a product corresponding to the processing division t is less than the upper limit of the sales volume for that processing division t (see the record in the first row of FIG. 5), the sold-out determination unit 12a assigns a sold-out determination flag "FALSE" to the processing division t, indicating that the product was not sold out in that processing division t. Similarly, the data of this assigned sold-out determination flag is also included in the learning preparation data (see FIG. 5).

[0026] The learning unit 13 performs machine learning using the learning preparation data (see FIG. 5) generated by the data preprocessing unit 12 and a likelihood function that takes into account right-censoring for actual sales figures that exceed an upper limit value for product sales figures. Here, right-censoring refers to a situation in which observed values ​​that exceed a certain upper limit value are recorded as the upper limit value. As a result of machine learning using the learning preparation data as input (for example, processing using the variational Bayes method that uses the likelihood function described above), the learning unit 13 estimates parameters of a potential demand forecasting model that predicts potential demand corresponding to the base price of the product, as well as price elasticity parameters that correspond to the base price of the product.

[0027] Here, learning of parameters of a potential demand forecasting model using a likelihood function will be described.

[0028] First, let us assume that the actual sales volume for each processing section t has an upper limit (upper limit) due to supply constraints at the store, and that the upper limit of the actual sales volume fluctuates depending on the processing section t. The actual sales volume, upper limit of the sales volume, and price for a certain time frame, processing section t, are respectively expressed as y t , l t , p tThe price optimization device 1 according to this embodiment determines a price that maximizes the expected value of product sales for a future time point relative to the present.

[0029] For optimal pricing, the potential demand for the product in the absence of supply constraints is t Furthermore, in order to predict potential demand when the price is changed, it is necessary to obtain the price elasticity of demand. t When the upper limit is reached, ^y t Yes t However, the actual sales volume y t In a general regression model with the objective variable, the actual sales volume y t In other words, the predicted value is obtained assuming that the actual sales volume after the stockout is zero, which results in an underprediction of potential demand.

[0030] Furthermore, while there are existing technologies that assume a normal distribution for demand forecasting, this assumption results in poor forecast accuracy when actual sales figures include values ​​near zero. Furthermore, linear models that use normal distributions cannot achieve nonlinear responses to multiple explanatory variables. Furthermore, while price optimization requires the estimation of price elasticity, the parameter price elasticity has not been introduced in existing technologies.

[0031] To solve these problems, in this embodiment, the relationship between actual sales volume at the time when the sales volume exceeds the upper limit and potential demand is modeled using a right-truncated likelihood function of a Poisson distribution (see FIG. 6). FIG. 6 is a diagram schematically illustrating the concept of a right-truncated likelihood function. In addition, to achieve a nonlinear response, a forward propagation neural network (NN) is introduced in the learning process in the learning unit 13. Furthermore, a price elasticity parameter is added to the potential demand forecasting model, so that the price elasticity parameter is estimated in the inference results.

[0032] Specifically, the potential demand forecasting model was modeled as shown in the following formula (1) using the output f of a forward propagation neural network (NN) and the relative price fluctuation Δp with respect to the base price of the product. In formula (1), ^y t ,X, θ, and α represent potential demand, feature quantity (see Fig. 5), NN parameters, and price elasticity, respectively.

[0033]

number

[0034] As shown in Figure 6, if the sales volume (volume) is less than the sales upper limit (i.e., the actual sales volume is less than the sales upper limit), (y t <l t ), no right truncation is performed, and the likelihood function L(y t |^y t ) is the usual likelihood function P(y t |^y t ) where P represents the probability mass function. On the other hand, if the sales volume (quantity) is greater than or equal to the sales ceiling (i.e., the upper limit of the sales volume), then (y t ≧l t ), right-censored, and the likelihood function L(y t |^y t ) is expressed as the accumulation of the probability mass function from the upper limit of the sales volume to infinity. These relationships are expressed by the following formula (2). The likelihood function expressed by formula (2) is necessary for the learning unit 13 to learn and estimate the parameters of the potential demand forecasting model shown in formula (1) (i.e., to execute processing using the variational Bayes method).

[0035]

number

[0036] The inference unit 14 acquires, as the learning results of the learning unit 13, parameters of a potential demand forecasting model that predicts potential demand corresponding to the base price of the product, and parameters of price elasticity corresponding to the base price of the product, from the learning unit 13 or the memory 20. Furthermore, the inference unit 14 associates the prediction result of the probability distribution of potential demand corresponding to the base price of the product and the price elasticity corresponding to the base price with the processing category t, adds them to the sales forecast data 22, and stores them in the memory 20.

[0037] The demand forecasting unit 14a predicts the probability distribution of the potential demand corresponding to the base price based on a potential demand forecasting model (see formula (1)) including parameters obtained by the learning unit 13 executing processing of the variational Bayes method, price elasticity, and the base price of the product input by user operation or the like as the prediction target. The demand forecasting unit 14a associates the prediction result of the probability distribution of the potential demand corresponding to the base price of the product with the processing class t, and adds it to the sales forecast data 22 in the memory 20 and stores it.

[0038] The price elasticity acquisition unit 14b acquires the average value of the distribution of price elasticity as a price elasticity parameter from the distribution of price elasticity estimated by the learning unit 13 when it executes the processing of the variational Bayes method. Price elasticity is a parameter that indicates the degree of influence on the predicted value of potential demand when the base price of a product is changed (for example, the percentage to which the predicted value of potential demand can change by changing the base price of the product). In other words, price elasticity is a parameter necessary for predicting potential demand when the price of a product is changed.

[0039] The price determination unit 15 calculates a price that optimizes a set objective function (for example, maximizes sales) using the price elasticity and the prediction result of the probability distribution of potential demand corresponding to the base price of the product estimated by the potential demand prediction / price elasticity estimation unit 11. The price determination unit 15 has at least a constraint / objective function setting unit 16, a mathematical optimization unit 17, and a price calculation unit 18.

[0040] The constraint / objective function setting unit 16 sets an objective function for the calculation performed by the mathematical optimization unit 17, for example, based on an input operation by a user using the input device IN1. The objective function is a function set as an evaluation index for the price determination unit 15 to appropriately calculate a price. In other words, the price determination unit 15 determines a price that optimizes (satisfies) the value that this objective function can take. Note that an example of optimizing an objective function is maximizing sales, but is not limited to this. For example, it may be leveling demand or minimizing product procurement.

[0041] Furthermore, the constraint / objective function setting unit 16 additionally sets constraints for the mathematical optimization unit 17 to use when performing calculations, based on, for example, user input operations using the input device IN1. The constraints referred to here include, for example, system-related restrictions imposed by the user and conditions for improving user acceptance. For example, a constraint may be set to set different prices for weekends, holidays, and weekdays. Other constraints may include an upper price limit, a lower price limit, a set of set prices, the number of price fluctuations, the price fluctuation cycle, the price fluctuation unit (e.g., changing in increments of 100 yen), and the price calculation target (e.g., a desire to calculate the optimal price for weekdays or holidays).

[0042] Furthermore, the constraint / objective function setting unit 16 may set an objective function that can be used under a constraint condition based on the constraint condition, not limited to an input operation by a user using the input device IN1, for example. That is, the constraint / objective function setting unit 16 may set the constraint condition and the objective function independently, or may set one of them based on the other.

[0043] Here, the objective function and the constraints on price set by the constraint / objective function setting unit 16 will be described.

[0044] The constraint / objective function setting unit 16 sets the objective function as the price p t and P(^y t =y;Δp t=0) to obtain the maximum expected value of the total sales of the product. This defined objective function is shown, for example, in equation (3). In equation (3), S(p t ) is the supply constraint and price elasticity α t The sales volume (quantity) is calculated by taking into account the above (see equation (5)), and is a positive real number as shown in equation (4). Also, as shown in equation (6), the base price p ref Relative price fluctuation Δp t The relative price fluctuation Δp t is defined.

[0045]

number

[0046] The objective function in equation (3) represents maximizing the expected value of "sales = supply quantity S × price p" for each processing section t, based on the probability distribution P of potential demand.

[0047]

number

[0048] The constraint in equation (4) indicates that the supply volume is greater than or equal to 0 (zero) in all processing intervals t (in other words, time), or in other words, it restricts the supply volume at the store so that it does not become a negative value.

[0049]

number

[0050]

number

[0051] The constraint in equation (5) indicates that the supply quantity S is the smaller of the upper limit of the supply quantity or sales quantity, taking into account price elasticity, for each processing interval t (i.e., time). As mentioned above, equation (6) defines the relative price fluctuation Δp (i.e., the ratio that indicates the relative extent to which the base price fluctuates depending on the processing interval).

[0052] The constraint / objective function setting unit 16 defines and sets the constraints on the price by using equations (7) to (9). Specifically, equation (7) defines the price p t For example, the price table p stored in the memory 20 i (not shown) Select flag from x i,t The set price is a discrete value, and the objective function is the set price p t Since this formulation is a special quadratic function of , this formulation falls into the category of mixed integer nonlinear programming problems.

[0053]

number

[0054] Equation (7) expresses the price selection in each transaction interval (i.e., time). p i indicates a price divided by some unit (for example, the price policy of the user's store). For example, if the price is set in increments of 100 yen, a difference of 1 in i will result in a price difference of 100 yen. Note that p i The prices do not have to be separated by equal price ranges, but may be separated by unequal price ranges.

[0055]

number

[0056]

number

[0057] Equation (8) indicates that the i-th column of the price table is either "0 (i.e., not selected)" or "1 (i.e., selected)." Equation (9) indicates that the sum of the values ​​in column i of the price table for each processing interval t (in other words, time) is always "1." In other words, equations (7) to (9) can be said to represent a one-hot vector whose length is the number of price options, that is, a vector in which only one element is 1 and the others are 0.

[0058] The mathematical optimization unit 17 uses the predicted results of the probability distribution of potential demand corresponding to the base price of the product read from the sales forecast data 22 in the memory 20 and the price elasticity to calculate Δp (relative price fluctuation) that satisfies the constraint conditions set by the constraint condition / objective function setting unit 16 and matches the objective function to the maximum extent.

[0059] The price calculation unit 18 calculates the optimal price of the product by calculating "reference price x (1 + Δp)" using Δp (relative price fluctuation) calculated by the mathematical optimization unit 17, and associates the optimal price thus calculated with the processing category t, and adds and stores the optimal price data 23 in the memory 20.

[0060] The memory 20 is configured using, for example, Random Access Memory (RAM) and Read Only Memory (ROM), and temporarily stores programs necessary for the operation of the price optimization device 1 and data acquired or generated during operation. The RAM is, for example, a work memory used during the operation of the price optimization device 1. The ROM, for example, stores and holds programs for controlling the price optimization device 1 in advance. The memory 20 also stores sales performance data 21 (see FIG. 2), sales forecast data 22 (see FIG. 3), and optimal price data 23 (see FIG. 4) as data referenced by the processor 10. Examples of the structures of these data will be described later with reference to each of FIGS. 2 to 4.

[0061] An example of the data structure of the sales performance data 21 will now be described with reference to FIG.

[0062] As shown in the sales performance data table TB1 in FIG. 2, the sales performance data 21 includes records for each processing section t, each record including data on the upper limit of sales (i.e., the upper limit of sales) and the actual sales. For example, FIG. 2 shows a record with an upper limit of sales of "200" and an actual sales of "142" for the processing section t of "November 1, 2022, 10:00 AM," and a record with an upper limit of sales of "150" and an actual sales of "150" for the processing section t of "November 1, 2022, 11:00 AM." If the upper limit of sales and the actual sales are the same, the product may be sold out, or the right truncation may have occurred. The sales performance data 21 may be stored in a table format, such as the sales performance data table TB1, or in another format. The sales performance data 21 may be periodically transmitted from an external device (not shown) connected to the price optimization device 1 for data communication, and may be additionally stored in the memory 20.

[0063] An example of the data structure of the sales forecast data 22 will now be described with reference to FIG.

[0064] As shown in the sales forecast data table TB2 in Figure 3, the sales forecast data 22 is configured with records including, for each processing section t, a parameter f(X, θ) of the potential demand forecast model corresponding to the base price of the product and data on the price elasticity α corresponding to that base price. For example, in Figure 3, for the processing section t of "November 1, 2022, 10:00 AM," a record of the parameter f(X, θ) of the potential demand forecast model of "140" and the price elasticity of "-0.8" is shown, and for the processing section t of "November 1, 2022, 11:00 AM," a record of the parameter f(X, θ) of the potential demand forecast model of "163" and the price elasticity of "-0.6" is shown. Note that, like the sales performance data 21, the sales forecast data 22 may be stored in a table format such as the sales forecast data table TB2, or in another format.

[0065] An example of the data structure of the optimum price data 23 will now be described with reference to FIG.

[0066] As shown in the optimal price data table TB3 in FIG. 4, the optimal price data 23 is configured with records including data on the optimal price of the product calculated by the price determination unit 15 for each processing interval t and the relative price fluctuation Δp at that time. For example, FIG. 4 shows a record of the optimal product price of "2500" (yen) and the relative price fluctuation Δp of "0.25" for the processing interval t of "November 1, 2022, 10:00 AM," and a record of the optimal product price of "2800" and the relative price fluctuation Δp of "0.40" for the processing interval t of "November 1, 2022, 11:00 AM." The optimal price data 23, like the sales performance data 21 and the sales forecast data 22, may be stored in a table format like the optimal price data table TB3, or in another format.

[0067] The input device IN1 is connected to the price optimization device 1 so as to be able to input and output data therebetween, and is a device that accepts input operations from a user of the price optimization device 1. A signal based on the input operation from the user is input from the input device IN1 to the price optimization device 1. The input device IN1 may be, for example, a mouse, a keyboard, a touch panel, or a combination of these.

[0068] The display device OU1 is connected to the price optimization device 1 so as to be able to input and output data therebetween, and displays the prediction results (i.e., the predicted value and price elasticity of the potential demand for the relevant product, see below) and / or the price determination results (i.e., the calculation results of the optimal price using the above-mentioned prediction results, see below) executed by the price optimization device 1. The display device OU1 is, for example, a Liquid Crystal Display (LCD) or an organic EL display. The input device IN1 and the display device OU1 may be configured as an integrated unit, in which case the input device IN1 and the display device OU1 are configured as a touch panel display.

[0069] Next, an example of the data structure of the learning preparation data generated by the data pre-processing unit 12 will be described with reference to FIG. 5. FIG. 5 is a diagram showing an example of the structure of the learning preparation data generated by the data pre-processing unit 12. The learning preparation data is configured with records including sales record data 21 and data on various feature quantities. The data on various feature quantities includes, for example, feature quantity data generated from the sales record data 21, feature quantity data generated from the processing category t, feature quantity data acquired from an external device (not shown), and feature quantity data generated by processing by the sold-out determination unit 12a. Note that since the contents of the sales record data 21 have been described with reference to FIG. 2, a description of the sales record data 21 will be omitted in the description of FIG. 5.

[0070] The feature data generated from the sales performance data 21 is data calculated by the data preprocessing unit 12 based on the records of the sales performance data 21 for each processing section t, and is, for example, data on the "one-week moving average of sales volume performance" and the "one-week moving average of sales volume upper limit." In other words, the "one-week moving average of sales volume performance" and the "one-week moving average of sales volume upper limit" are calculated by the data preprocessing unit 12. Note that the one-week moving average of sales performance and the one-week moving average of sales volume upper limit are merely examples, and other data may be used as long as it reflects the sales performance and the sales volume upper limit. For example, it is conceivable to use the sales performance and the sales volume upper limit for each processing section t. The period of the sales performance and the sales volume upper limit to be used as feature data and the type of processed data to be used may be determined by the user's selection, taking into consideration the detail of the demand to be estimated, the load required for calculation, etc.

[0071] The feature data generated from the processing category t is data calculated by the data preprocessing unit 12 based on the records of the sales performance data 21 for each processing category t, and is, for example, data on the "day of the week," "year," "month," "day of the year," "holiday flag," and "date." That is, the "day of the week," "year," "month," "day of the year," "holiday flag," and "date" are calculated by the data preprocessing unit 12. The "day of the year" indicates the number of days from the first day of the "year" (New Year's Day) that the "date" corresponding to the relevant processing category t falls on. The "holiday flag" is "TRUE" if the "date" corresponding to the relevant processing category t is "a holiday," and is "FALSE" if the "date" corresponding to the relevant processing category t is "not a holiday."

[0072] The feature data acquired from an external device (not shown) is data acquired by the data pre-processing unit 12 from an external device (not shown) that communicates data with the price optimization device 1, and is, for example, a flag indicating "pre-COVID or not" and "precipitation amount" data. "Pre-COVID or not" is "TRUE" if the "date" corresponding to the relevant processing category t is a period before the onset date of the COVID-19 infection, and is "FALSE" if it is a period after the onset date of the onset.

[0073] The feature data generated by the processing of the sold-out determination unit 12a is data acquired from the sold-out determination unit 12a, such as data of a "sold-out determination flag." The "sold-out determination flag" is "TRUE" when the upper limit of sales and the actual sales in the sales performance data 21 are the same in the processing of the sold-out determination unit 12a, and is "FALSE" when they are not the same. The learning preparation data may be stored in a table format such as the learning preparation data table TB4 shown in FIG. 5, or in another format.

[0074] 3. Operation procedure of the price optimization device Next, an example of the operation procedure executed by the price optimization device 1 according to this embodiment will be described with reference to Fig. 7. Fig. 7 is a flowchart showing an example of the operation procedure of the price optimization device 1 according to this embodiment in chronological order. The series of processes shown in Fig. 7 are mainly executed by the processor 10 of the price optimization device 1.

[0075] 7, the processor 10 refers to the memory 20 and reads and acquires the sales performance data 21 (step St1). Based on the sales performance data 21 acquired in step St1, the processor 10 generates information data necessary for learning in the learning unit 13 for each processing section t of the sales performance data 21 (see FIG. 2) (step St2). The necessary information data generated in step St2 is, for example, as shown in FIG. 5, "features generated from the sales performance data," "features generated from t (processing section)," etc. Furthermore, the processor 10 acquires data of the features necessary for the above-mentioned learning from an external device (not shown) connected to the price optimization device 1 so as to be able to communicate data with the price optimization device 1 (step St3). The feature data acquired in step St3 is, for example, "features acquired from an external device," etc., as shown in FIG. 5. The processor 10 adds the acquired feature data to the information data generated in step St2 in association with the processing section t.

[0076] The processor 10 determines whether or not a product has sold out for each processing category t based on the sales performance data 21 acquired in step St1 (step St4). In this determination, if the sales performance corresponding to the processing category t of the product is equal to or greater than the upper limit of the sales performance corresponding to the processing category t, the processor 10 assigns a sold-out determination flag "TRUE" to the processing category t, indicating that the product was sold out in that processing category t. As a result, the data of "features determined by the sold-out determination unit" shown in FIG. 5 is generated by the processor 10. The processor 10 assigns this data of "features determined by the sold-out determination unit" to the information data generated in step St2 to generate and update the learning preparation data.

[0077] The processor 10 performs machine learning using the learning preparation data (see FIG. 5) generated in the series of processes from step St2 to step St4 and a likelihood function that takes into account right-censoring for sales figures that exceed the upper limit of product sales figures (step St5). As a result of machine learning using, for example, the learning preparation data as input (for example, the variational Bayes method using the likelihood function described above), the processor 10 estimates parameters of a potential demand forecasting model that predicts potential demand corresponding to the base price of the product, as well as price elasticity parameters corresponding to the base price of the product.

[0078] The processor 10 predicts the probability distribution of potential demand corresponding to the base price based on the potential demand forecasting model (see formula (1)) including the parameters obtained in step St5, the price elasticity, and the base price of the product input by user operation or the like as the prediction target (step St6). The processor 10 also acquires the mean value of the price elasticity distribution estimated by executing the variational Bayes method process in the machine learning of step St5 as a price elasticity parameter (step St7). The processor 10 associates the prediction results of the probability distribution of potential demand corresponding to the base price of the product obtained in steps St6 and St7 with the processing category t, adds them to the sales forecast data 22, and stores them in the memory 20 (step St8).

[0079] The processor 10 sets the objective function of the calculation performed by the mathematical optimization unit 17 and the constraint conditions for the calculation performed by the mathematical optimization unit 17 based on an input operation by the user using, for example, the input device IN1 (step St9). Note that the processor 10 may determine and automatically set the constraint conditions necessary for the calculation performed by the mathematical optimization unit 17 based on instructions previously specified by the user in a setting data file or the like, rather than on an input operation by the user (step St10). The processing of step St10 may be omitted.

[0080] The processor 10 calculates Δp (relative price fluctuation) that satisfies the constraints set in step St9 or step St10 and matches the objective function as closely as possible, using the price elasticity and the prediction result of the probability distribution of potential demand corresponding to the base price of the product read from the sales forecast data 22 in the memory 20. The processor 10 also calculates the optimal price of the product by calculating "base price × (1 + Δp)" using the calculated Δp (relative price fluctuation) (step St11). The processor 10 associates the calculated optimal price with the processing category t and adds it to the optimal price data 23 in the memory 20 and stores it (step St12).

[0081] 4. Evaluation of forecast results using potential demand forecasting model Next, evaluation of the prediction results using the potential demand prediction model by the price optimization device 1 according to this embodiment will be described with reference to Fig. 8 and Fig. 9. Fig. 8 is a diagram showing an example of verification after lowering the upper limit value of the sales volume performance. Fig. 9 is a diagram showing an example of evaluation results comparing demand prediction with right truncation and demand prediction without right truncation.

[0082] As a premise for the following explanation, an evaluation was performed using time-series sales data from a food supermarket as actual sales data. The dataset of time-series sales data is actual sales data for approximately five years, including prices and sales for each store. The price of a product needs to be determined based on potential demand at all stores, and the total sales volume of one product being evaluated at all stores was used as the forecast target. The price of this product was revised on April 26, 2014, and the training preparation data was taken from one year before and after this price revision, and the evaluation data was taken from the 60 days immediately following the training preparation data.

[0083] Since the correct data on potential demand was not included, the upper limit of the actual sales volume was calculated based on the sales policy. new t Set the sales volume including sold out items y new twas generated (see Figure 8). In other words, the exponential smoothing average with a damping factor of 2 / 3 was used to calculate the actual sales volume for the same day of the week immediately preceding the price revision, and that quantity was set as the upper limit for sales. It was assumed that price elasticity differs between weekdays and weekends and holidays. The base price was set at $1.48 (US dollars, same below) before the price revision. Price table p i was set to {$1.38, $1.43, ..., $1.78} in increments of $0.05.

[0084] Upper limit value new t The right censoring occurs due to the setting of , but the observation y is not actually censored. t The time point when potential demand forecasting exists was set as the time point for evaluation. The mean absolute percentage error (MAPE) was used as an index, and MPAE lowered The learning preparation data includes actual sales figures. new t y to the correct data at the time of evaluation t was used (see Figure 8).

[0085] To evaluate price optimization, we calculated the total sales after the price change based on potential demand, price elasticity, and the set price, and compared it with the total sales if the product was sold at the original selling price.

[0086] MPAE loweredThe value of 0.127 was obtained, which was a generally reasonable prediction for the time when the upper limit was lowered. As shown in Figure 9, even when comparing the cases with and without right-censoring (Censored and Not Censored), the discrepancy between the predicted value (horizontal axis of Figure 9) and the observed value (vertical axis of Figure 9) was generally small. The price elasticity was -0.41 on weekdays and -0.81 on weekends and holidays. In other words, a price increase reduced potential demand, with the impact being greater on weekends and holidays. The calculation time was approximately one minute in a CPU environment. Price optimization recommended a price increase from the actual price of $1.58 to $1.63-$1.78. This is likely because actual sales volume was on an upward trend during the evaluation period, and the expected value of the potential demand forecast exceeded the upper limit half of the time. This price revision predicted a 10.2% increase in sales compared to when the product was sold at the original price. In other words, it was estimated that the price optimization device 1 according to this embodiment can increase sales at a store by optimizing prices using the results of predicting the probability distribution of latent demand.

[0087] (Other variations) The above-described embodiment describes a configuration for estimating latent demand for products that are commercially distributed and sold through monetary transactions. However, the concept of the above-described embodiment can be applied to all goods provided to customers, regardless of whether monetary transactions are involved. For example, novelty goods distributed free of charge are not subject to "sale," but they cannot be provided in quantities greater than the supply. By estimating latent demand for such goods using the method of the above-described embodiment, it is possible to estimate demand assuming that the number of goods provided does not reach the supply. In other words, sales are an example of provision, and products are merely an example of goods. Note that, if the purpose is solely to estimate latent demand, estimating price elasticity is not necessarily required. If only estimating latent demand is desired, the procedure described in the above-described embodiment can be performed without parameters related to price elasticity, and therefore a detailed description thereof will be omitted.

[0088] Furthermore, in this embodiment, the goods for which potential demand is estimated are not limited to tangible objects. For example, goods also include rights such as access rights to tourist facilities such as observation decks and rights to use public transportation, which cannot be provided in quantities greater than the supply quantity. Furthermore, the object for which potential demand is estimated may be a service with an upper limit on the number that can be provided, such as services provided to customers at hotels, hospitals, beauty salons, etc. In this case, the supply quantity is the upper limit on the number of services that can be provided, which is determined by the number of employees and facilities, and is not necessarily the number of tangible objects such as paper tickets that are actually supplied.

[0089] Summary of the Disclosure The above description of the embodiments discloses technical concepts corresponding to the following items.

[0090] (Item 1) The demand forecasting method disclosed herein trains the prediction model using actual supply data for goods or services that cannot be supplied in quantities exceeding the supply quantity and a likelihood function that takes into account right-truncation for actual supply quantities that exceed the supply quantity, and predicts potential demand for the goods or services corresponding to the base price based on input data including the base price of the goods or services to be predicted and the prediction model. As a result, the demand forecasting method can efficiently estimate the demand for goods or services that may be out of stock due to the quantity supplied exceeding the quantity supplied.

[0091] (Item 2) The demand forecasting method described in item 1 further outputs the forecast result of the potential demand corresponding to the base price and price elasticity indicating the degree of impact when the base price of the goods or services is changed. As a result, the demand forecasting method can efficiently estimate not only the demand for goods or services whose prices may fluctuate over time, but also the price elasticity of that demand.

[0092] (Item 3) The demand forecasting method described in Item 2 uses the actual supply data to perform preprocessing to train a forecasting model that forecasts potential demand for the goods or services, generating training preparation data, and the forecasting model trains using the training preparation data and the likelihood function. As a result, the demand forecasting method makes it possible to train a forecasting model by utilizing actual sales figures and other supply figures at the time when stockouts occur when actually providing the product, thereby improving the accuracy of forecasting demand for goods or services.

[0093] (Item 4) In the demand forecasting method described in item 3, in the pre-processing, it is determined from the actual supply data whether the number of supplies of the goods or services has reached the supply quantity, and the determination result is added to the learning preparation data. As a result, according to the demand forecasting method, the learning preparation data required for learning the parameters of the potential demand forecasting model can include whether the number of goods or services offered has reached the supply number (for example, whether a product has sold out), thereby improving the learning accuracy of the parameters of the potential demand forecasting model for goods or services that may be sold out and whose prices may fluctuate over time.

[0094] (Item 5) In the demand forecasting method according to item 4, in the preprocessing, missing values ​​of the provision history data are complemented, and the missing values ​​generated by the complementation are added to the learning preparation data. As a result, according to the demand forecasting method, it is possible to suppress a decrease in reliability due to a lack of data for each processing category t in the learning preparation data required for learning the parameters of the potential demand forecasting model.

[0095] (Item 6) In the demand forecasting method according to any one of items 1 to 5, an objective function for the goods or services is set based on a user operation, and a price of the goods or services that satisfies the objective function is determined using the forecast results of the potential demand corresponding to the goods or services, the price elasticity, and the upper limit value of the number of goods or services to be provided. As a result, the demand forecasting method makes it possible to appropriately set an objective function (evaluation function) for calculating the optimum price of the product or service that the user wants to know in response to the user's input operation.

[0096] (Item 7) In the demand forecasting method described in Item 6, determining the price includes a process of calculating a relative price fluctuation from the base price of the goods or services that satisfies the objective function, and a process of calculating the price using the calculation result of the relative price fluctuation. As a result, the demand forecasting method makes it possible to determine an optimal price based on the predicted results of the probability distribution of potential demand corresponding to the base price of the goods or services, taking into account Δp, which is a parameter of relative price fluctuation corresponding to the base price of the goods or services.

[0097] (Item 8) In the demand forecasting method described in Item 6, constraints to be used in determining the price of the goods or services that satisfy the objective function are further set based on the user operation, and the price of the goods or services that satisfies the objective function within the constraints is determined using the forecast results of the potential demand corresponding to the goods or services, the price elasticity, and the upper limit value of the number of goods or services to be provided. As a result, the demand forecasting method can calculate the optimal price of goods or services that optimizes the objective function, taking into account not only the objective function but also the necessary constraints that must be taken into account depending on the user's unique circumstances, in accordance with the user's input operations.

[0098] (Item 9) The demand forecasting method according to the present disclosure includes a processor and a memory, and the processor, in cooperation with the memory, trains a prediction model using historical supply data for goods or services that cannot be provided in quantities exceeding the supply quantity and a likelihood function that takes into account right-truncation for the historical supply quantity that exceeds the supply quantity, and predicts potential demand for the goods or services corresponding to the base price based on input data including the base price of the goods or services to be predicted and the prediction model. As a result, the demand forecasting method can efficiently estimate the demand for goods or services that may be out of stock due to the quantity supplied exceeding the quantity supplied.

[0099] (Item 10) The program according to the present disclosure causes a demand forecasting device, which is a computer, to perform the following processes: learning a prediction model using actual supply data for goods or services that cannot be provided in quantities exceeding the supply quantity and a likelihood function that takes into account right-truncation for actual supply quantities that exceed the supply quantity; and predicting potential demand for the goods or services corresponding to the base price based on input data including the base price of the goods or services to be predicted and the prediction model. As a result, the demand forecasting device can efficiently estimate the demand for goods or services that may be out of stock due to the quantity supplied exceeding the supply quantity.

[0100] Although the embodiments have been described above with reference to the accompanying drawings, the present disclosure is not limited to such examples. It is clear that a person skilled in the art can conceive of various modifications, alterations, substitutions, additions, deletions, and equivalents within the scope of the claims, and it is understood that these also fall within the technical scope of the present disclosure. Furthermore, the components in the above-described embodiments may be combined in any manner without departing from the spirit of the invention. [Industrial Applicability]

[0101] The technology disclosed herein is useful as a demand forecasting method, a demand forecasting device, and a program for efficiently estimating the demand for goods or services that may run out of supply. [Explanation of symbols]

[0102] 1. Price optimization device 10 processors 11 Potential Demand Forecast / Price Elasticity Estimation Section 12 Data preprocessing section 12a Sold-out judgment section 13 Learning Department 14 Reasoning part 14a Demand Forecasting Department 14b Price Elasticity Acquisition Section 15 Pricing Department 16 Constraint / Objective Function Setting Section 17 Mathematical Optimization Department 18 Price Calculation Department 20 memory 21 Sales performance data 22 Sales forecast data 23 Best Price Data

Claims

1. learning a prediction model using actual data on the provision of goods or services that cannot be provided in quantities exceeding the number of supplies and a likelihood function that takes into account right-censoring of the actual number of supplies that exceeds the number of supplies, predicting potential demand for the goods or services corresponding to the base price based on input data including the base price of the goods or services to be predicted and the prediction model; Demand forecasting methods.

2. The demand forecasting method further outputs a forecast result of the potential demand corresponding to the base price and a price elasticity indicating the degree of influence when the base price of the goods or services is changed. The demand forecasting method according to claim 1 .

3. The demand forecasting method includes: using the supply record data, performing preprocessing for training a forecasting model for predicting potential demand for the goods or services, and generating training preparation data; The prediction model is trained using the training preparation data and the likelihood function. The demand forecasting method according to claim 2.

4. In the pretreatment, determining whether the number of provided goods or services has reached the number of supplies from the provision record data; adding the determination result to the learning preparation data; The demand forecasting method according to claim 3 .

5. In the pretreatment, Complementing missing values ​​in the provision performance data; adding the missing values ​​generated by the imputation to the training preparation data; The demand forecasting method according to claim 4.

6. setting an objective function for the goods or services based on a user operation; determining a price of the product or service that satisfies the objective function using the forecast result of the potential demand corresponding to the product or service, the price elasticity, and the upper limit of the number of the product or service to be provided; The demand forecasting method according to claim 2.

7. The determination of the price is A process of calculating a relative price fluctuation from the reference price of the goods or services that satisfies the objective function; and calculating the price using the calculation result of the relative price fluctuation. The demand forecasting method according to claim 6.

8. Further setting constraints to be used in determining the price of the goods or services that satisfy the objective function based on the user operation; determining a price for the goods or services that satisfies the objective function under the constraints, using the forecast result of the potential demand corresponding to the goods or services, the price elasticity, and the upper limit of the number of goods or services to be provided; The demand forecasting method according to claim 6.

9. A processor and a memory, The processor, in cooperation with the memory, A prediction model is trained using data on the actual supply of goods or services that cannot be provided in quantities exceeding the supply quantity and a likelihood function that takes into account right truncation of the actual supply quantity that exceeds the supply quantity; and predicting potential demand for the goods or services corresponding to the base price based on input data including the base price of the goods or services to be predicted and the prediction model; Demand forecasting device.

10. The demand forecasting device is a computer. a process of learning a prediction model using actual supply data of goods or services that cannot be provided in quantities exceeding the supply quantity and a likelihood function that takes into account right truncation of the actual supply quantity that exceeds the supply quantity; and a process of predicting potential demand for the goods or services corresponding to the reference price based on input data including the reference price of the goods or services to be predicted and the prediction model. program.

Citation Information

Patent Citations

  • Demand prediction device, demand prediction method, and program

    JP2021103374A

Cited By

  • Information processing system, information processing method, and information processing program

    JP7918592B1