Estimation method and estimation program

JP2026165952APending Publication Date: 2026-10-14FUJITSU LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025058622
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-31
Publication Date
2026-10-14

Smart Images

  • Figure 2026165952000001_ABST
    Figure 2026165952000001_ABST
Patent Text Reader

Abstract

The objective is to provide an estimation method and program that accurately estimates the number of items that fluctuate in response to changes in product prices. [Solution] The estimation method involves a computer generating a probability model that estimates the probability that a prospective buyer will switch their purchase from the first product to the second product, based on the prices of the first product and the second product, the amount of the price change for the second product, and information indicating whether or not the buyer actually switched their purchase from the first product to the second product in response to the price change for the second product. Based on this probability model, the computer then calculates the estimated number of purchases for the first product and the second product.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an estimation method and an estimation program.

Background Art

[0002] Approaches are known that use a discrete choice model to enable a demand model to capture the interdependencies between the demands for different products offered by a company (see, for example, Patent Document 1).

Prior Art Literature

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] By the way, product price changes such as product price reductions and price increases may affect the sales of a business operator. When an appropriate price is set for a product, the demand for the product increases, and the business operator may be able to secure maximum sales. In other words, if an inappropriate price is set for a product, the demand for the product may decrease, making it difficult for the business operator to secure sales. In this way, the demand for a product fluctuates according to the price set for the product. For example, for products sold by a business operator, the number of product purchasers, the number of units purchased, and the like fluctuate.

[0005] From this point of view, if the relationship between product price and product demand can be modeled, an appropriate relationship between product price and product demand can be identified, and it becomes possible to set a price that maximizes demand. However, it is difficult to accurately model the relationship between product price and product demand in consideration of product price changes.

[0006] For example, when considering price changes for a product, it is assumed that the relationship between the price of the product after the price change is applied and the demand for that product will be modeled. However, according to prospect theory in behavioral economics, buyers often consider the difference from the original price, such as a price reduction, when making a purchase. From this perspective, even if the relationship between the price of a product and the demand for that product is modeled with the price change absorbed into the original price (i.e., the price before the price change), it is difficult to accurately estimate the number of buyers or the number of units purchased that will fluctuate in response to the price change.

[0007] Therefore, one objective is to provide an estimation method and program that accurately estimates the number of items that fluctuate in response to changes in product prices. [Means for solving the problem]

[0008] In one embodiment, the estimation method is a method in which a computer performs the following steps: generate a probability model that estimates the probability that a prospective buyer will change their purchase from the first product to the second product, based on the prices of the first product and the second product, the amount of the price change for the second product, and information indicating whether or not the buyer actually changed their purchase from the first product to the second product in response to the price change for the second product; and calculate the estimated number of purchases for the first product and the second product, respectively, based on the probability model.

[0009] In one embodiment, the estimation method involves a computer generating a probabilistic model that estimates the probability that a prospective borrower of a rental product will change the return of the rental product from the first product to the second product, based on the number of rental products to be placed in the first product and the second product, the amount of change in the rental price of the rental product, and information indicating whether or not the borrower of the rental product actually changed the return of the rental product from the first product to the second product in response to the change in the rental price of the rental product, and then calculating the estimated number of rental products to be placed in the first product and the second product, respectively, based on the probabilistic model. [Effects of the Invention]

[0010] It is possible to accurately estimate the number of items that will change in response to price changes. [Brief explanation of the drawing]

[0011] [Figure 1] This is an example of an estimation system. [Figure 2] This is an example of the estimated server's hardware configuration. [Figure 3] This is an example of the functional configuration of the estimated server according to the first embodiment. [Figure 4] (a) is an example of purchase history data. (b) is an example of current discount amount data. (c) is an example of optimal discount amount data. [Figure 5] This flowchart shows an example of the processing performed by the estimated server according to the first embodiment. [Figure 6] This flowchart shows an example of the first estimation process. [Figure 7] This is an example of input / output for the status confirmation screen according to the first embodiment. [Figure 8] (a) is a diagram illustrating an example of product price and discount amount. (b) is a flowchart illustrating an outline of the first embodiment. (c) is an example of the first probability model. (d) is an example of the second probability model. [Figure 9] This is an example of the functional configuration of the estimation server according to the second embodiment. [Figure 10] (a) is an example of target value data. (b) is an example of usage history data. [Figure 11] (a) is another example of current discount amount data. (b) is another example of optimal discount amount data. [Figure 12] This flowchart shows an example of the processing performed by the estimated server according to the second embodiment. [Figure 13] This flowchart shows an example of the second estimation process. [Figure 14] This is an example of input / output for the status confirmation screen according to the second embodiment. DETAILED DESCRIPTION

[0012] Hereinafter, embodiments for implementing the present disclosure will be described with reference to the drawings.

[0013] (First Embodiment) As shown in Figure 1, the estimation system ST is a computer system including a terminal device 10 and an estimation server 100. The terminal device 10 and the estimation server 100 are connected via a communication network NW. The communication network NW includes either one or both of a LAN (Local Area Network) and the Internet.

[0014] In Figure 1, a PC (Personal Computer) is shown as an example of the terminal device 10, but the terminal device 10 is not limited to a PC. The terminal device 10 may be a smart terminal such as a smartphone or a tablet terminal. In Figure 1, a physical server apparatus is shown as an example of the estimation server 100, but the estimation server 100 may be a virtual server apparatus. In Figure 1, one estimation server 100 is shown as an example, but a plurality of estimation servers 100 may be provided in the estimation system ST, and various processes executed by the estimation servers 100 may be distributed across the plurality of estimation servers 100.

[0015] The estimation system ST operates based on instructions from a terminal device 10 operated by user 11. User 11 is, for example, an employee of an e-commerce (EC) business operator that runs an online store. As will be explained in detail in the second embodiment, user 11 may also be an employee of a mobility service provider that operates a bike-sharing service. The mobility service provider provides a service that rents out various shared bikes, including, for example, small motorized bicycles and electric-assist bicycles. Shared bikes are an example of rental products. Shared bikes are placed in bike bays. Bike bays are, for example, parking facilities including bicycle parking areas. Bike bays may also be parking facilities including car parks. Note that small motorized bicycles are sometimes called electric kick scooters or electric kick scooters.

[0016] User 11 can use the estimation system ST by operating the input device 12 provided on the terminal device 10 and accessing the estimation server 100. For example, when user 11 performs a predetermined operation on the input device 12, the control device 13 of the terminal device 10 sends an instruction corresponding to the predetermined operation to the estimation server 100. Upon receiving the instruction, the estimation server 100 performs various processes based on the received instruction.

[0017] As will be explained in more detail later, for example, when the estimation server 100 detects an instruction corresponding to a predetermined operation, it generates a probabilistic model that estimates the probability of changing purchases from one product to another. The estimation server 100 can generate a probabilistic model based on the prices of multiple competing products, the amount of the price change for each product, and information indicating whether or not a buyer actually changed purchases from one product to another in the past in response to a price change. The price change amount may be a discount or an increase. The discount amount is the difference before and after the price of the product is reduced, and the increase amount is the difference before and after the price of the product is increased. Once the estimation server 100 has generated a probabilistic model, it calculates the estimated number of buyers for each of the multiple competing products as the estimated number of purchases based on the probabilistic model. The estimation server 100 may also calculate the estimated number of units purchased as the estimated number of purchases instead of the estimated number of buyers.

[0018] Estimation Server 100 calculates the estimated number of buyers, and then calculates the sales for each of the multiple products based on the multiplication of the estimated number of buyers for each product and the price of each product. Estimation Server 100 calculates the total sales for the product group including the multiple products based on the sum of the individual sales for each product.

[0019] The estimated server 100 may calculate the revenue for each of the multiple products by subtracting the pre-set procurement costs for each product from the sales of each product. If there are no procurement costs, sales will be considered as revenue. Alternatively, after calculating the revenue for each of the multiple products, the estimated server 100 may calculate the total revenue for the product group including the multiple products based on the sum of the individual revenues of the multiple products.

[0020] Referring to Figure 2, the hardware configuration of the estimated server 100 will be described. Note that the terminal device 10 described above has basically the same hardware configuration as the estimated server 100, so a detailed explanation will be omitted.

[0021] The estimated server 100 is equipped with a CPU (Central Processing Unit) 100A as a processor, and RAM (Random Access Memory) 100B and ROM (Read Only Memory) 100C as memory. The estimated server 100 is also equipped with a network interface 100D and an HDD (Hard Disk Drive) 100E as storage. An SSD (Solid State Drive) may be used as storage instead of the HDD (Hard Disk Drive) 100E.

[0022] The estimated server 100 may include, as necessary, at least one of the following: input I / F 100F, output I / F 100G, input / output I / F 100H, and drive device 100I. The CPU 100A to the drive device 100I are connected to each other by an internal bus 100J. In other words, the estimated server 100 can be implemented by a computer.

[0023] Input I / F 100F is connected to an input device 710. Examples of input devices 710 include keyboards, mice, and touch panels. Output I / F 100G is connected to a display device 720. Examples of display devices 720 include liquid crystal displays. Input / output I / F 100H is connected to a semiconductor memory 730. Examples of semiconductor memory 730 include USB (Universal Serial Bus) memory and flash memory. Input / output I / F 100H reads the estimated program stored in the semiconductor memory 730. Input I / F 100F and Input / output I / F 100H are equipped with, for example, USB ports. Output I / F 100G is equipped with, for example, a DisplayPort.

[0024] A portable recording medium 740 is inserted into the drive device 100I. The portable recording medium 740 can be a removable disk such as a CD (Compact Disc)-ROM or a DVD (Digital Versatile Disc). The drive device 100I reads the estimated program recorded on the portable recording medium 740. The network interface 100D includes, for example, a LAN port and a communication circuit. The communication circuit includes either a wired communication circuit or a wireless communication circuit, or both. The network interface 100D is connected to a communication network NW.

[0025] The CPU 100A temporarily stores the estimation program stored in at least one of the ROM 100C, HDD 100E, and semiconductor memory 730 in RAM 100B. The CPU 100A also temporarily stores the estimation program recorded on the portable recording medium 740 in RAM 100B. By executing the stored estimation program, the CPU 100A realizes various functions described later and also executes an estimation method including various processes described later. The estimation program should conform to the flowchart described later.

[0026] The functional configuration of the estimated server 100 will be explained with reference to Figures 3 and 4. Figure 3 shows the main functions of the estimated server 100.

[0027] As shown in Figure 3, the estimated server 100 comprises a storage unit 110, a processing unit 120, and a communication unit 130. The storage unit 110 can be implemented by either the RAM 100B or the HDD 100E, or both. The processing unit 120 can be implemented by the CPU 100A described above. The communication unit 130 can be implemented by the network interface 100D described above.

[0028] The storage unit 110, the processing unit 120, and the communication unit 130 are connected to each other. The storage unit 110 includes a history storage unit 111, a discount amount storage unit 112, and an optimal discount amount storage unit 113. The processing unit 120 includes an acquisition unit 121, a first generation unit 122, a first calculation unit 123, a second generation unit 124, a second calculation unit 125, a third calculation unit 126, an estimation unit 127, and an output unit 128. The processing unit 120 uses the acquisition unit 121, the first generation unit 122, the first calculation unit 123, the second generation unit 124, the second calculation unit 125, the third calculation unit 126, the estimation unit 127, and the output unit 128 to perform various processes described later.

[0029] The history storage unit 111 stores purchase history data for multiple competing products. The purchase history data is stored in the history storage unit 111 in advance. As shown in Figure 4(a), the purchase history data has several items, such as consumer ID (Identifier), product name, product price, and product purchase date and time. The consumer ID item registers the consumer's identification information. In the first embodiment, the consumer ID item registers the identification information of the purchaser who purchased the product. The product name item registers the product name. Note that product name "product #1" and product name "product #2" are competing products for sale. Instead of the product name, identification information of the competing products may be registered. The product price item registers the original price of the product before the discount is applied (specifically, the unit price before discount). The product purchase date and time item registers the date and time when the purchaser actually purchased the product.

[0030] The discount amount storage unit 112 stores the current discount amount data. The current discount amount data is stored in the discount amount storage unit 112 in advance. As shown in Figure 4(b), the current discount amount data has multiple items such as product name, discount amount, and product discount date and time. The product name item is registered in the product name item. The discount amount item is registered for each product as the discount amount relative to the original price of the product. The product discount date and time item is registered as the product discount date and time when the discount was applied to the product. Based on the product discount date and time, as shown in Figure 4(a), the purchase history data can be classified into purchase history data before the discount and purchase history data after the discount.

[0031] The optimal discount amount storage unit 113 stores optimal discount amount data. The optimal discount amount data is stored in the optimal discount amount storage unit 113 by the estimation unit 127. As shown in Figure 4(c), the optimal discount amount data has multiple items such as product name and discount amount. The product name is registered in the product name item. The optimal discount amount estimated by the estimation unit 127 is registered for each product name in the discount amount item. The optimal discount amount is the discount amount that can maximize the total sales or total revenue mentioned above. By presenting the optimal discount amount to the user 11, the user 11 does not have to set an inappropriate discount amount for the product.

[0032] When the acquisition unit 121 detects a display instruction to display the status confirmation screen (described later) on the terminal device 10, it acquires purchase history data and current discount amount data. The acquisition unit 121 can acquire purchase history data separately for before and after discounts. For example, the acquisition unit 121 accesses the discount amount storage unit 112 to check the current discount amount data and acquires the pre-discount purchase history data from the history storage unit 111. After acquiring the pre-discount purchase history data, the acquisition unit 121 acquires the post-discount purchase history data and current discount amount data. The acquisition unit 121 sends the pre-discount purchase history data to the first generation unit 122. The acquisition unit 121 sends the post-discount purchase history data and current discount amount data, along with the pre-discount purchase history data, to the second generation unit 124.

[0033] The first generation unit 122 generates a first probability model. More specifically, the first generation unit 122 generates a first probability model for each product based on the number of people who purchased all products in the pre-discount purchase history data, the price of each product, and a discrete selection model. The first probability model is, for example, a multinomial logit model, which can be expressed by the following equation 1.

number

[0034] Here, the utility V in the first probability model i This represents consumer satisfaction with product i (i=1,2,...). Utility V i This is a definite term of the known utility function, as shown in Equation 2 below. The definite term consists of the response coefficient vector β and the marketing variable vector x, as shown in Equation 3 below. i It is expressed as the dot product of . The reaction coefficient vector β is a parameter that represents the consumer's price sensitivity (see, for example, Patent Document 1). Marketing variable vector x i For example, price is a utility V. i These are explanatory variables that determine [the outcome].

number

number

[0035] The first calculation unit 123 calculates the number of buyers for each product based on the first probability model, the price of the product, and the total number of buyers for all products. Specifically, as follows, the first calculation unit 123 calculates the number of buyers D'1 for product "product #1" based on the total number of buyers N for all products, the first probability model P1, and the price c1 of product "product #1". D'1=NP1(c1) Similarly, the first calculation unit 123 calculates the number of people D'2 who purchase product "product #2" based on the total number of people N who purchase all products, the first probability model P2, and the price c2 of product "product #2". D'2=NP1(c2)

[0036] The second generation unit 124 generates a second probability model. The second probability model is a probability model of whether a prospective buyer will change their purchase from one product to another. More specifically, the second generation unit 124 generates information representing the change in the number of buyers due to the discount, based on the purchase history data after the discount and the purchase history data before the discount. For example, if a discount is applied to the price of product "product #2", some buyers of product "product #1" may purchase product "product #2" after the discount. The second generation unit 124 generates information representing the change in the number of such buyers. Once the second generation unit 124 generates information representing the change in the number of buyers, it generates a second probability model based on this information, the current discount amount data, and the discrete choice model. The second probability model is, for example, a multinomial logit model, which can be expressed by the following equation 4.

number

[0037] Here, since the second probability model is represented by a discrete distribution, it is difficult to perform automatic differentiation, which is required when estimating the optimal discount amount, as described later. For this reason, the second probability model is described using Gumbel-Softmax, as shown in equation 5 below. By describing the second probability model using Gumbel-Softmax, automatic differentiation becomes possible. i This is a sample from the Gumbel function, where τ is a temperature parameter that adjusts the accuracy of the approximation formula. For Gumbel-Softmax, please refer to Non-Patent Document 1 below. For automatic differentiation, please refer to Non-Patent Document 2 below. Equation 5 is an example of an automatically differentiated feasible model.

number

[0038] The second calculation unit 125 calculates the estimated number of purchasers of each product after the discount, based on the second probability model, the number of purchasers of each product, and the discount amount. Specifically, as follows, the second calculation unit 125 calculates the number of purchasers D1 as the estimated number of purchasers of product "product #1" based on the number of purchasers D'1 before the discount, the second probability model P'2, and the discount amount Δc2 for product "product #2". Because some purchasers of product "product #1" may also purchase product "product #2", the number of purchasers of product "product #1" before the discount decreases. D1 = D'1 - D'1P'2(Δc2) Similarly, the second calculation unit 125 calculates the number of purchasers D2, which is the estimated number of purchasers of product "product #2", based on the number of purchasers before discount D'2, the number of purchasers before discount D'1, the second probability model P'2, and the discount amount Δc2 for product "product #2". Since some of the purchasers of product "product #1" may also purchase product "product #2", the number of purchasers of product "product #2" before discount increases. D2 = D'2 + D'1P'2(Δc2)

[0039] In this way, the discount amount on the product price is not absorbed into the product price, and the product price and the discount amount are treated independently. Therefore, according to this embodiment, the phenomenon in which selection is made based on the difference from the original price, that is, the phenomenon based on prospect theory, is reproduced with high accuracy. For more information on prospect theory, please refer to Non-Patent Document 3 below. <Non-Patent Document 3> Nicholas C. Barberis, Thirty Years of Prospect Theory in Economics: A Review and Assessment, Journal of Economic Perspectives?Volume 27, Number 1?Winter 2013?Pages 173?196

[0040] The third calculation unit 126 calculates the sales of each product based on the multiplication of the estimated number of purchasers of each product and the price of each product. The third calculation unit 126 also calculates the total sales of the product group including each product based on the sum of the sales of each product.

[0041] The estimation unit 127 estimates the optimal discount amount for each product that maximizes the total sales of the product group. Once the estimation unit 127 estimates the optimal discount amount, it stores the optimal discount amount data, including the optimal discount amount, in the optimal discount amount storage unit 113. As a result, the optimal discount amount storage unit 113 stores the optimal discount amount data (see Figure 4(c)). As will be explained in detail later, the estimation unit 127 calculates the gradient of the discount amount based on automatic differentiation of the above-mentioned formula 5, and continuously updates the discount amount based on the gradient and the gradient method (specifically, the gradient descent method). As a result, the estimation unit 127 estimates the optimal discount amount.

[0042] The output unit 128 outputs the optimal discount amount for each product to the terminal device 10. This allows the user 11 to check the optimal discount amount for each product that maximizes the total sales of the product group.

[0043] Referring to Figure 5, the processing performed by the estimated server 100 according to the first embodiment will be described.

[0044] First, as shown in Figure 5, the acquisition unit 121 acquires the purchase history data before the discount (step S1). More specifically, when the acquisition unit 121 detects the display instruction described above, it acquires the purchase history data before the discount. Once the acquisition unit 121 has acquired the purchase history data before the discount, the first generation unit 122 then generates a first probability model (step S2). The first generation unit 122 can generate a first probability model for each product using a discrete selection model, based on the number of people who purchased all products in the purchase history data before the discount and the price of each product.

[0045] When the first generation unit 122 generates the first probability model, the acquisition unit 121 then acquires the discounted purchase history data (step S3). As described above, the acquisition unit 121 can acquire the discounted purchase history data by checking the current discount amount data. After acquiring the discounted purchase history data, the acquisition unit 121 acquires the current discount amount data (step S4).

[0046] When the acquisition unit 121 acquires the current discount amount data, the second generation unit 124 generates a second probability model (step S5). As described above, the second generation unit 124 can generate information representing the change in the number of purchasers due to the discount, based on the purchase history data after the discount and the purchase history data before the discount. The second generation unit 124 can generate a second probability model based on this information, the current discount amount data, and the discrete choice model.

[0047] When the second generation unit 124 generates the second probability model, the first calculation unit 123, the second calculation unit 125, the third calculation unit 126, and the estimation unit 127 cooperate to perform the first estimation process (step S6). The first estimation process is the process of estimating the optimal discount amount. Details of the first estimation process will be described later. Once the optimal discount amount is estimated by the first estimation process, the output unit 128 outputs the optimal discount amount data for each product (step S7), and the series of processes ends.

[0048] The first estimation process described above will be explained with reference to Figures 6 and 7.

[0049] First, as shown in Figure 6, the estimation unit 127 receives initial values ​​and a convergence threshold (step S11). For example, based on the display instruction detected by the acquisition unit 121, the estimation unit 127 displays a status confirmation screen on the terminal device 10, as shown in the upper part of Figure 7. The status confirmation screen includes the price of each product included in the purchase history data. On the status confirmation screen, the discount amount for each product and the number of people who purchased each product (indicated as "number of purchases" in Figure 7) are entered and set as initial values ​​by the user 11. Also, on the status confirmation screen, the convergence threshold is entered and set by the user 11. Based on the user 11's operation, when the execution button BT1 on the status confirmation screen is pressed by the mouse pointer PT, the terminal device 10 sends the initial values ​​and the convergence threshold to the estimation server 100. As a result, the estimation unit 127 receives the initial values ​​and the convergence threshold.

[0050] When the estimation unit 127 receives the initial values ​​and the convergence threshold, the third calculation unit 126 calculates the first sales at the current discount amount (step S12). More specifically, the third calculation unit 126 applies the discount amount as the initial value to the price of the product, and multiplies the price of the product after applying the discount amount by the number of purchasers as the initial value for each product. The third calculation unit 126 calculates the first sales by multiplying the price of the product by the number of purchasers and then summing up the results of the multiplication for each product. As shown in the upper part of Figure 7, the third calculation unit 126 can output the first sales as total sales in the total column.

[0051] When the third calculation unit 126 calculates the first sales, the first calculation unit 123 calculates the number of purchasers using the first probability model (step S13). More specifically, first the first calculation unit 123 calculates the total number of purchasers for all products by summing up the number of purchasers for each product. Once the total number of purchasers for all products is calculated, the first calculation unit 123 calculates the number of purchasers for each product based on the total number of purchasers for all products, the first probability model, and the price of each product. As a result, as described above, the number of purchasers D'1 for product "product #1" and the number of purchasers D'2 for product "product #2" are calculated.

[0052] After the first calculation unit 123 calculates the number of purchasers using the first probability model, the second calculation unit 125 then calculates the number of purchasers using the second probability model (step S14). More specifically, the second calculation unit 125 calculates the estimated number of purchasers for each discounted product based on the second probability model, the number of purchasers for each product, and the discount amount. As a result, the number of purchasers D1 for product name "product #1" and the number of purchasers D2 for product name "product #2" are calculated, as described above.

[0053] When the second calculation unit 125 calculates the number of purchasers using the second probability model, the third calculation unit 126 then calculates the second sales at the current discount amount (step S15). If the discount amount has not been updated, the initial discount amount is adopted as the current discount amount. Therefore, the third calculation unit 126 applies the current discount amount to the price of the product and multiplies the price of the product after applying the discount amount by the number of purchasers calculated in step S15 for each product. The third calculation unit 126 multiplies the price of the product by the number of purchasers and then calculates the second sales by summing the results of the multiplication for each product.

[0054] When the third calculation unit 126 calculates the second sales, the estimation unit 127 determines whether the absolute value of the difference between the first sales and the second sales is within the convergence threshold (step S16). If it is not within the convergence threshold (step S16: NO), the estimation unit 127 overwrites the first sales with the second sales (step S17) and calculates the discount gradient (step S18). More specifically, the estimation unit 127 calculates the gradient of the discount amount for each product relative to the first sales by automatic differentiation.

[0055] After calculating the gradient of the discount amount, the estimation unit 127 updates the discount amount using the gradient descent method (step S19). Once the estimation unit 127 updates the discount amount, it sends the updated discount amount as the current discount amount to the second calculation unit 125. As a result, in the process of step S14, the second calculation unit 125 calculates the number of purchasers using the updated discount amount as the current discount amount. Then, in the process of step S15, the third calculation unit 126 recalculates the second sales based on the number of purchasers calculated by the second calculation unit 125. In the process of step S16, the estimation unit 127 determines whether the absolute value of the difference between the first sales, which have been overwritten by the most recent second sales, and the recalculated second sales is within the convergence threshold.

[0056] If the result is not within the convergence threshold, the process from step S17 to step S19 is repeated. If the result is within the convergence threshold (step S16: YES), the estimation unit 127 determines the current discount amount for each product as the optimal discount amount, stores the optimal discount amount data, including the optimal discount amount for each product, in the optimal discount amount storage unit 113, and terminates the first estimation process.

[0057] After the first estimation process is completed, the output unit 128 retrieves the optimal discount amount data from the optimal discount amount storage unit 113 and outputs the optimal discount amount for each product, the number of purchasers corresponding to the optimal discount amount for each product, etc., to the status confirmation screen. As a result, as shown in the lower part of Figure 7, the optimal discount amount for each product, the number of purchasers for each product, the sales for each product, and the total sales appear on the status confirmation screen. In this way, even if a discount amount is set for the price of each product that does not maximize the total sales, the estimation server 100 estimates the optimal discount amount that maximizes the total sales. This allows e-commerce businesses to apply the optimal discount amount to the price of their products and secure the maximum total sales. In particular, because the discount amount is treated independently of the original price of the product, the estimation server 100 can estimate the number of purchasers and total sales with high accuracy.

[0058] The first embodiment will be schematically described with reference to Figure 8.

[0059] First, as shown in Figure 8(a), the price of product "Product #1" (simply labeled as "Product #1" in Figure 8(a)) is price c1. Similarly, the price of product "Product #2" (simply labeled as "Product #2" in Figure 8(a)) is the discounted price c2 minus the discount amount Δc2, resulting in the discounted price c2 - Δc2. For each of these products, "Product #1" and "Product #2," the estimation server 100 calculates the number of purchasers by independently considering the prices c1, c2 and the discount amount Δc2, as shown in Figure 8(b).

[0060] Specifically, the estimation server 100 predicts the number of buyers before the discount from the price before the discount (step S13x). The processing in step S13x corresponds to the processing in step S13 described above. That is, without considering the discount amount Δc2, the estimation server 100 calculates the number of buyers D'1 and D'2 for product "product #1" and product "product #2" respectively, based on prices c1 and c2, the first probability model shown in Figure 8(c), and the total number of buyers N.

[0061] Next, the estimation server 100 calculates the number of people who will change their purchased items based on the discount amount, and estimates the number of purchasers by adding or subtracting this from the predicted number of purchasers before the discount (step S14x). The process in step S14x corresponds to the process in step S14 described above. That is, the estimation server 100 calculates the number of people who will change their purchased items based on the discount amount Δc2, the second probability model shown in Figure 8(d), and the number of purchasers D'1.

[0062] Estimated Server 100 calculates the number of people who change their purchased items. For item #1, which has no price discount, it calculates the number of buyers D1 by subtracting the number of people who change their purchased items from the number of buyers D'1. On the other hand, for item #2, which has a price discount, Estimated Server 100 calculates the number of buyers D2 by adding the number of people who change their purchased items from the number of buyers D'1. Therefore, once the optimal discount amount is estimated as the discount amount Δc2, Estimated Server 100 can calculate the number of buyers D1 and D2 according to the optimal discount amount. Based on these number of buyers D1 and D2, Estimated Server 100 can calculate the maximum total sales.

[0063] (Second Embodiment) Next, a second embodiment of this invention will be described. In the second embodiment, the case of the mobility service provider described above will be described. The mobility service provider installs multiple bike bays in a certain area. Bike bays are examples of the first and second products, and are products that are necessary in conjunction with the mobility service provider when providing mobility services. One shared bike is placed in one of the multiple bike bays. Therefore, each bike bay competes with each other for the placement of shared bikes. Multiple shared bikes are placed in each bike bay. Shared bikes are examples of rental products, and are products that are necessary in conjunction with the mobility service provider when providing mobility services.

[0064] A user of a shared motorcycle picks up a motorcycle from one of the motorcycle bays, uses it for a specified period of time, and returns it to a different motorcycle bay. The motorcycle bay from which the user picks up the motorcycle may be referred to as the "rental bay," and the motorcycle bay from which the user returns the motorcycle may be referred to as the "return bay." The user pays a usage fee to the mobility service provider based on the usage time.

[0065] Here, when a borrower uses a shared bike, there is a possibility that a shared bike may not be available at the rental bay. This is because the shared bikes are concentrated in one of the bike bays, resulting in an uneven distribution of bikes. If a shared bike is not available at the rental bay, the borrower cannot use it. As a result, the mobility service provider cannot collect usage fees from the borrower. In other words, the mobility service provider's revenue may decrease.

[0066] To prevent situations where a shared bike is not available in a bike bay, it is desirable to offer a discount on the usage fee when a shared bike is returned to a bike bay that is likely to be empty. This would guide borrowers to bike bays that are likely to be empty when returning a shared bike. The estimation server 100 in the second embodiment aims to estimate the optimal discount amount to reduce the loss of borrowers' borrowing opportunities and maximize the revenue of the mobility service provider.

[0067] First, the functional configuration of the estimation server 100 according to the second embodiment will be described with reference to Figures 9 to 11. Note that components similar to those of the estimation server 100 described with reference to Figure 3 are basically given the same reference numerals, and their detailed explanations are omitted. As shown in Figure 9, the estimation server 100 according to the second embodiment differs from the estimation server 100 according to the first embodiment in that it further includes a target value storage unit 114.

[0068] The target value storage unit 114 stores target value data, including the target number of shared motorcycles to be placed in each of the multiple motorcycle bays. As shown in Figure 10(a), the target value data has multiple items, such as bay ID and number of motorcycles to be placed. The bay ID item stores the identification information of the motorcycle bay. The number of motorcycles to be placed item stores the target number of shared motorcycles to be placed in the motorcycle bay.

[0069] In the second embodiment, the history storage unit 111 stores usage history data for multiple competing bike bays. The usage history data is stored in the history storage unit 111 in advance. As shown in Figure 10(b), the usage history data has multiple items such as consumer ID, rental bay, return bay, rental date and time, and return date and time. The consumer ID item contains the consumer's identification information. In the second embodiment, the consumer ID item contains the identification information of the borrower who rents the shared bike.

[0070] The "Rental Bay" field registers the identification information of the bike bay from which the shared bike was rented. The "Return Bay" field registers the identification information of the bike bay from which the shared bike was returned. The "Rental Date and Time" field registers the date and time when the shared bike was rented. The "Return Date and Time" field registers the date and time when the shared bike was returned. Based on the usage fee discount dates and times described later, the usage history data can be classified into usage history data before the discount and usage history data after the discount.

[0071] In the second embodiment, the discount amount storage unit 112 stores current discount amount data. The current discount amount data is stored in the discount amount storage unit 112 in advance. As shown in Figure 11(a), the current discount amount data has multiple items such as bay ID, discount amount, and usage fee discount date and time. The bay ID item registers the identification information of the bike bay. The discount amount item registers the discount amount for the usage fee for each bay ID. The usage fee discount date and time item registers the date and time when the discount on the usage fee was implemented as the usage fee discount date and time. Based on the usage fee discount date and time, as shown in Figure 10(b), the purchase history data can be classified into purchase history data before the discount and purchase history data after the discount.

[0072] Furthermore, in the second embodiment, the optimal discount amount storage unit 113 stores optimal discount amount data. The optimal discount amount data is stored in the optimal discount amount storage unit 113 by the estimation unit 127. As shown in Figure 11(b), the optimal discount amount data has multiple items such as bay ID and discount amount. The bay ID item stores the identification information of the bike bay. The discount amount item stores the optimal discount amount estimated by the estimation unit 127 for each bay ID. By presenting the optimal discount amount to the user 11, the user 11 is prevented from setting an inappropriate discount amount for the bike bay.

[0073] Referring to Figure 12, the processing performed by the estimated server 100 according to the second embodiment will be described.

[0074] First, as shown in Figure 12, the acquisition unit 121 acquires the usage history data before the discount (step S21). More specifically, when the acquisition unit 121 detects the display instruction described above, it acquires the usage history data before the discount. Once the acquisition unit 121 has acquired the usage history data before the discount, the first generation unit 122 then generates a first probability model (step S22). The first generation unit 122 can generate a first probability model for each rental bay using a discrete selection model, based on the total number of rental bays in the pre-discount usage history data, including rental bays and return bays, and the number of users for each rental bay in the pre-discount usage history data. Similarly, the first generation unit 122 can generate a first probability model for each return bay using a discrete selection model, based on the total number of rental bays in the pre-discount usage history data, including rental bays and return bays, and the number of users for each return bay in the pre-discount usage history data.

[0075] When the first generation unit 122 generates the first probability model, the acquisition unit 121 then acquires the discounted usage history data (step S23). The acquisition unit 121 can acquire the discounted usage history data by checking the current discount amount data. After acquiring the discounted usage history data, the acquisition unit 121 acquires the current discount amount data (step S24).

[0076] When the acquisition unit 121 acquires the current discount amount data, the second generation unit 124 generates a second probability model (step S25). Based on the usage history data after the discount and the usage history data before the discount, the second generation unit 124 can generate information representing the change in the number of users of the lending bays due to the discount and information representing the change in the number of users of the return bays due to the discount. Based on these two pieces of information, the current discount amount data, and the discrete selection model, the second generation unit 124 can generate a second probability model for the return bays.

[0077] When the second generation unit 124 generates the second probability model, the acquisition unit 121 acquires the target value data (step S26). The acquisition unit 121 can acquire the target value data from the target value storage unit 114. Once the acquisition unit 121 has acquired the target value data, the first calculation unit 123, the second calculation unit 125, the third calculation unit 126, and the estimation unit 127 cooperate to execute the second estimation process (step S27). The second estimation process is the process of estimating the optimal discount amount. Details of the second estimation process will be described later. Once the optimal discount amount is estimated by the second estimation process, the output unit 128 outputs the optimal discount amount data for each bike bay (step S28), and the series of processes ends.

[0078] The second estimation process described above will be explained with reference to Figures 13 and 14.

[0079] First, as shown in Figure 13, the estimation unit 127 accepts initial values ​​(step S31). For example, the first calculation unit 123 displays a status confirmation screen on the terminal device 10, as shown in the upper part of Figure 14, based on the display instruction detected by the acquisition unit 121. The status confirmation screen includes the target values ​​for each bike bay included in the target value data. On the status confirmation screen, the discount amount for each bike bay, the number of shared bikes to be placed in each bike bay, and the number of users of each bike bay (indicated as "number of users" in Figure 14) are entered and set as initial values ​​by the user 11. Based on the user 11's operation, when the execution button BT1 on the status confirmation screen is pressed by the mouse pointer PT, the terminal device 10 sends the initial values ​​along with the total number of bike bays to the estimation server 100. As a result, the estimation unit 127 accepts the initial values ​​along with the total number of bike bays.

[0080] When the estimation unit 127 receives the initial values, the first calculation unit 123 calculates the number of rentals and returns using the first probability model (step S32). More specifically, the first calculation unit 123 calculates the number of rentals of shared bikes in each bike bay based on the total number of bike bays, the first probability model of the rental bays, and the number of users in each bike bay. Similarly, the first calculation unit 123 calculates the number of returns of shared bikes in each bike bay based on the total number of bike bays, the first probability model of the return bays, and the number of users in each bike bay.

[0081] After the first calculation unit 123 calculates the number of rentals and returns using the first probability model, the second calculation unit 125 then calculates the number of rentals and returns using the second probability model (step S33). More specifically, the second calculation unit 125 calculates the estimated number of rentals for each discounted bike bay based on the number of rentals of shared bikes in each bike bay, the second probability model for the return bay, and the discount amount for the return bay. Similarly, the second calculation unit 125 calculates the estimated number of returns for each discounted bike bay based on the number of returns of shared bikes in each bike bay, the second probability model for the return bay, and the discount amount for the return bay.

[0082] When the second calculation unit 125 calculates the number of loans and returns using the second probability model, the third calculation unit 126 calculates the number of bikes to be allocated (step S34). Based on the difference between the estimated number of loans and the estimated number of returns for each bike bay after discounts, the third calculation unit 126 can calculate the number of shared bikes allocated to each bike bay for each bike bay. The number of bikes allocated calculated by the third calculation unit 126 is an example of the estimated number of allocated bikes.

[0083] When the third calculation unit 126 calculates the number of bikes to be placed, the estimation unit 127 compares the number of bikes to be placed (step S35). More specifically, the estimation unit 127 compares the number of bikes to be placed in each bike bay with the target value for the number of bikes to be placed in each bike bay included in the target value data, for each bike bay. After comparing the number of bikes to be placed, the estimation unit 127 determines whether the difference between the number of bikes to be placed and the target value is within a threshold (step S36). In other words, the estimation unit 127 determines for each bike bay whether the difference between the number of bikes to be placed in each bike bay and the target value is within a threshold.

[0084] If the value is not within the threshold (step S36: NO), the estimation unit 127 calculates the discount gradient (step S37). The estimation unit 127 may calculate the discount gradient for all bike bays if the value is not within the threshold, or it may calculate the discount gradient for any one of the bike bays if the value is not within the threshold. When calculating the discount gradient, the estimation unit 127 calculates the gradient of the discount amount for each bike bay with respect to the difference between the number of bikes and the target value by automatic differentiation.

[0085] After calculating the gradient of the discount amount, the estimation unit 127 updates the discount amount using the gradient descent method (step S38). Once the estimation unit 127 updates the discount amount, it sends the updated discount amount as the current discount amount to the second calculation unit 125. As a result, in the process of step S33, the second calculation unit 125 calculates the estimated number of loans and estimated number of returns using the updated discount amount as the current discount amount. Then, in the process of step S34, the third calculation unit 126 recalculates the number of motorcycles to be deployed based on the number of loans and returns calculated by the second calculation unit 125. In the process of step S35, the estimation unit 127 determines whether the difference between the target value and the recalculated number of motorcycles to be deployed is within a threshold.

[0086] If the value is not within the threshold, the process from step S37 to step S38 is repeated. If the value is within the threshold (step S36: YES), the estimation unit 127 determines the current discount amount for each bike bay as the optimal discount amount, stores the optimal discount amount data, including the optimal discount amount for each bike bay, in the optimal discount amount storage unit 113, and terminates the second estimation process.

[0087] After the second estimation process is completed, the output unit 128 retrieves the optimal discount amount data from the optimal discount amount storage unit 113 and outputs the optimal discount amount for each bike bay and the number of users corresponding to the optimal discount amount for each bike bay to the status confirmation screen. As a result, as shown in the lower part of Figure 14, the optimal discount amount for each bike bay and the number of users for each bike bay appear on the status confirmation screen. In this way, even if a discount amount that would cause an imbalance in the number of bikes allocated is set for each bike bay, the estimation server 100 estimates an optimal discount amount that does not cause an imbalance in the number of bikes allocated. This allows mobility service providers to apply the optimal discount amount when shared bikes are returned, thereby suppressing the imbalance in the number of bikes allocated. Consequently, the revenue of mobility service providers can be maximized.

[0088] Although preferred embodiments of the present invention have been described in detail above, the present invention is not limited to specific embodiments, and various modifications and changes are possible within the scope of the gist of the invention as described in the claims.

[0089] Furthermore, the following additional information is disclosed regarding the above explanation. (Note 1) An estimation method in which a computer performs the following steps: generate a probability model to estimate the probability that a prospective buyer will change their purchase from the first product to the second product, based on the prices of the first product and the second product, the amount of the price change for the second product, and information indicating whether or not the buyer actually changed their purchase from the first product to the second product in response to the price change for the second product; and calculate the estimated number of purchases for the first product and the second product, respectively, based on the probability model. (Note 2) The estimation method according to Note 1, characterized in that the calculation process involves calculating the sales of the first product based on the multiplication of the estimated number of purchases of the first product and the price of the first product, and calculating the sales of the second product based on the multiplication of the estimated number of purchases of the second product and the price of the second product. (Note 3) The estimation method described in Note 2, characterized in that the calculation process involves calculating the total sales of the product group including the first product and the second product based on the sum of the sales of the first product and the sales of the second product. (Note 4) The estimation method according to Note 1 or 2, characterized in that the probability model is an automatically differentiated feasible model described by applying the Gumbel-Softmax method, and the calculation process calculates the gradient of the price change amount based on the automatic differentiation with respect to the automatically differentiated feasible model, and continuously updates the price change amount based on the gradient and the gradient method. (Appendix 5) The estimation method according to Appendix 1 or 2, characterized in that the generation process generates the probabilistic model based on each of the prices, the price change amount, the information, and the discrete selection model. (Note 6) The estimation method according to Note 1 or 2, characterized in that the first product and the second product are competing products for sale, and the estimated number of purchases is the estimated number of purchases of the first product and the second product, respectively. (Note 7) The estimation method according to Note 1 or 2, characterized in that the first product and the second product are competing products for sale, and the estimated number of purchases is the estimated number of units of the first product and the second product, respectively. (Appendix 8) An estimation method in which a computer performs the following steps: generate a probability model that estimates the probability that a prospective borrower of a rental product will change the return of the rental product from the first product to the second product, based on the number of rental products to be placed in the first product and the second product, the amount of change in the rental price of the rental product, and information indicating whether or not the borrower of the rental product actually changed the return of the rental product from the first product to the second product in response to the change in the rental price of the rental product; and calculate the estimated number of rental products to be placed in the first product and the second product, respectively, based on the probability model. (Note 9) The estimation method according to Note 8, characterized in that the probability model is an automatically differentiable model described by applying the Gumbel-Softmax method, and the calculation process calculates the gradient of the loan price change amount based on the automatic differentiation with respect to the automatically differentiable model, and continuously updates the loan price change amount based on the gradient and the gradient method until the estimated number of placements approaches the target value. (Note 10) The estimation method according to Note 8 or 9, characterized in that the first product and the second product are competing bicycle parking facilities. (Note 11) An estimation program for causing a computer to perform the following steps: generate a probability model that estimates the probability that a prospective buyer will change their purchase from the first product to the second product, based on the prices of the first product and the second product, the amount of the price change for the second product, and information indicating whether or not the buyer actually changed their purchase from the first product to the second product in response to the price change for the second product; and calculate the estimated number of purchases for the first product and the second product, respectively, based on the probability model. (Note 12) An estimation program for causing a computer to perform the following steps: generate a probability model that estimates the probability that a prospective borrower of a rental product will change the return of the rental product from the first product to the second product, based on the number of rental products to be placed in the first product and the second product, the amount of change in the rental price of the rental product, and information indicating whether or not the borrower of the rental product actually changed the return of the rental product from the first product to the second product in response to the change in the rental price of the rental product; and calculate the estimated number of rental products to be placed in the first product and the second product, respectively, based on the probability model. [Explanation of Symbols]

[0090] ST Estimation System 10 Terminal devices 11 users 100 Estimated Servers 121 Acquisition Department 122 1st generation part 123 First Calculation Unit 124 Second generation part 125 Second Calculation Unit 126 Third Calculation Section 127 Estimation Department 128 Output section

Claims

1. Based on the prices of the first and second products, the price change amount for the second product, and information indicating whether or not the buyer actually changed their purchase from the first product to the second product in response to the price change for the second product, a probabilistic model is generated to estimate the probability that a prospective buyer will change their purchase from the first product to the second product. Based on the aforementioned probability model, the estimated number of purchases for each of the first and second products is calculated. A method for estimating how much processing a computer will perform.

2. The calculation process involves calculating the sales of the first product based on the multiplication of the estimated number of purchases of the first product and the price of the first product, and calculating the sales of the second product based on the multiplication of the estimated number of purchases of the second product and the price of the second product. The estimation method according to feature 1.

3. The calculation process described above calculates the total sales of the product group including the first product and the second product based on the sum of the sales of the first product and the sales of the second product. The estimation method according to feature 2.

4. The aforementioned probability model is an automatically differentiable and executable model described by applying the Gumbel-Softmax method. The calculation process involves calculating the gradient of the price change amount based on automatic differentiation with respect to the automatic differentiation feasible model, and continuously updating the price change amount based on the gradient and the gradient method. The estimation method according to claim 1 or 2.

5. The above generation process generates the probabilistic model based on each of the above prices, the price change amount, the information, and the discrete selection model. The estimation method according to claim 1 or 2.

6. Based on the number of rental items allocated to each of the first and second items, the amount of change in the rental price of the rental items, and information indicating whether or not the borrower of the rental items actually changed the return of the rental items from the first item to the second item in response to the change in the rental price of the rental items, a probability model is generated to estimate the probability that a prospective borrower of the rental items will change the return of the rental items from the first item to the second item. Based on the aforementioned probability model, the estimated number of rental items to be placed in each of the first and second items is calculated. A method for estimating how much processing a computer will perform.

7. The aforementioned probability model is an automatically differentiable and executable model described by applying the Gumbel-Softmax method. The calculation process involves calculating the gradient of the loan price change amount based on the automatic differentiation of the automatic differentiation feasible model, and continuously updating the loan price change amount based on the gradient and the gradient method until the estimated number of placements approaches the target value. The estimation method according to feature 6.

8. Based on the prices of the first and second products, the price change amount for the second product, and information indicating whether or not the buyer actually changed their purchase from the first product to the second product in response to the price change for the second product, a probabilistic model is generated to estimate the probability that a prospective buyer will change their purchase from the first product to the second product. Based on the aforementioned probability model, the estimated number of purchases for each of the first and second products is calculated. An estimation program that causes a computer to perform a process.

9. Based on the number of rental items allocated to each of the first and second items, the amount of change in the rental price of the rental items, and information indicating whether or not the borrower of the rental items actually changed the return of the rental items from the first item to the second item in response to the change in the rental price of the rental items, a probability model is generated to estimate the probability that a prospective borrower of the rental items will change the return of the rental items from the first item to the second item. Based on the aforementioned probability model, the estimated number of rental items to be placed in each of the first and second items is calculated. An estimation program that causes a computer to perform a process.

Citation Information

Patent Citations

  • A discrete choice hotel room demand model

    JP2023547777A