Data processing device, data processing method, and program

A data processing device employs machine learning and mathematical optimization to address the automation of visit planning and product placement challenges, automating the creation of optimized visit planning and product configuration lists, automating the creation of optimized visit planning and product placement, automating the creation of optimized visit plans and product configurations, addressing labor shortages and improving efficiency.

JP2025177459AActive Publication Date: 2025-12-05SOFTBANK CORPORATION
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024084312
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-23
Publication Date
2025-12-05
Estimated Expiration
2044-05-23

AI Technical Summary

Technical Problem

Conventional vending machine operations rely heavily on individual experience and intuition, leading to high workloads due to labor shortages and complex business rules, necessitating the automation of visit planning and product configuration to improve efficiency and address labor shortages.

Method used

A data processing device that uses demand forecasting based on machine learning and mathematical optimization to automatically create optimal visit plans and product configuration lists, considering complex business rules, thereby reducing reliance on individual skills.

Benefits of technology

The device efficiently creates optimized visit plans and product configurations, enhancing business efficiency by minimizing labor requirements and improving operational time management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025177459000001_ABST
    Figure 2025177459000001_ABST
Patent Text Reader

Abstract

To provide a data processing device, a data processing method, and a program for creating a visit plan to a plurality of vending machines based on prediction results.SOLUTION: The data processing device comprises a demand prediction unit that predicts the future demand for a plurality of products of each of a plurality of vending machines 200 based on daily sales histories of the plurality of products of each vending machine, and a visit plan creation unit that creates a visit plan to the plurality of vending machines based on the prediction results from the demand prediction unit.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a data processing device, a data processing method, and a program. [Background technology]

[0002] Patent Document 1 describes a vending machine management system having a management server equipped with an information acquisition unit that acquires product information including product sales information, a memory unit that stores vending machine information, product information acquired by the information acquisition unit, information about workers who perform product management work, and product replenishment criteria for the vending machines, and a delivery management unit that extracts vending machines to be replenished and the number of products to be replenished in the vending machines based on the product information and replenishment criteria, and determines the assignment of vending machines to which workers will be responsible for replenishment based on the information about the vending machines to be replenished, the number of products to be replenished, and information about the workers who will perform product management work, and an operating device that has an input unit for inputting various conditions and an output unit that outputs information about vending machines to which the workers determined by the management server will be responsible for replenishment. [Prior art document] [Patent documents] [Patent Document 1] JP 2013-011990 A Summary of the Invention [Means for solving the problem]

[0003] According to one embodiment of the present invention, there is provided a data processing device. The data processing device may include a demand forecasting unit that forecasts future demand for multiple products from each of multiple vending machines based on daily sales histories of the multiple products from each of the multiple vending machines. The data processing device may also include a visit plan creation unit that creates a visit plan to the multiple vending machines based on the prediction results by the demand forecasting unit.

[0004] In the data processing device, the demand forecasting unit may predict future demand for the multiple products of each of the multiple vending machines using a learning model created by machine learning using attribute data of each of the multiple vending machines and daily sales history of the multiple products by each of the multiple vending machines.

[0005] In the data processing device, the visit schedule creation unit may include a visit equipment selection unit that selects multiple vending machines to visit for each of a plurality of future days based on the prediction results by the demand forecasting unit. The visit schedule creation unit may include an allocation unit that assigns multiple routemen to multiple vending machines to be visited, selected by the visit equipment selection unit, for each of the future days based on routeman data including work data for the multiple routemen. The visit schedule creation unit may include a visit route creation unit that creates, for each of the multiple routemen, a visit route to the multiple vending machines assigned by the allocation unit. The visit equipment selection unit may calculate, for each of the multiple vending machines, a value obtained by subtracting a cumulative sales opportunity loss from the start date from a cumulative profit from the start date for the plurality of days from a start date to an end date based on the prediction results by the demand forecasting unit, determine the day with the largest calculated value as a candidate visit date, and select multiple vending machines to visit for each of the plurality of days based on the determination result. The visiting equipment selection unit may select multiple vending machines to visit for each of the multiple days based further on rules indicating days on which the vending machines can be visited and days on which they cannot be visited for each of the multiple vending machines.

[0006] Any of the data processing devices may further include a configuration data creation unit that creates, for each of the multiple vending machines, product configuration data indicating a product configuration that maximizes profits based on the prediction results by the demand forecasting unit. The configuration data creation unit may include a candidate product identification unit that identifies, for each of the multiple vending machines, multiple candidate products to be allocated to the vending machine from the multiple products based on the prediction results of the multiple products by the demand forecasting unit. The configuration data creation unit may include a selection unit that selects, for each of the multiple vending machines, a combination of multiple products to be allocated to multiple columns of the vending machine from the multiple candidate products identified by the candidate product identification unit. The candidate product identification unit may identify the multiple candidate products based further on data on business-constrained products, including products designated to be allocated to the vending machine and products designated to be allocated at ratios to the multiple vending machines. The selection unit may select, for each of the vending machines, a combination of the candidate products identified by the candidate product identification unit to be assigned to the columns of the vending machine, such that a value obtained by subtracting the cost of visiting the vending machine when the combination is realized from a profit calculated from the selling price of each of the candidate products included in the combination and the predicted sales quantity identified from the prediction results by the demand forecasting unit for each of the candidate products is maximized. The combinations may include variations in which each of the candidate products is assigned to the columns of the vending machine. The combinations may include variations in which one type of product is assigned to multiple columns.

[0007] According to one embodiment of the present invention, there is provided a data processing method executed by a computer. The data processing method may include a demand forecasting step of forecasting future demand for a plurality of products from each of a plurality of vending machines based on a daily sales history of the plurality of products from each of the plurality of vending machines. The data processing method may also include a visit plan creation step of creating a visit plan to the plurality of vending machines based on a prediction result from the demand forecasting step.

[0008] According to one embodiment of the present invention, there is provided a program for causing a computer to execute the data processing method.

[0009] The above summary of the invention does not list all of the necessary features of the present invention, and subcombinations of these features may also constitute inventions. [Brief explanation of the drawings]

[0010] [Figure 1] 1 illustrates an example of a data processing device 100. [Figure 2] FIG. 2 is an explanatory diagram for roughly explaining the processing contents performed by the data processing device 100. [Figure 3] FIG. 10 is an explanatory diagram for explaining an overview of a visit schedule enhancement algorithm 130. [Figure 4] 10 shows an example of a profit-opportunity loss graph 132 for explaining a visiting equipment selection 131. FIG. [Figure 5] 10 shows an example of a visit count graph 142 for explaining the behavior management 141. [Figure 6] 10 shows an example of a visiting route 143 for explaining the movement management 141. [Figure 7] 10 shows an example of a processing flow of the visit planning enhancement algorithm 130. [Figure 8] FIG. 1 is an explanatory diagram for explaining the profit optimization algorithm 150 in brief. [Figure 9]FIG. 1 is an explanatory diagram for explaining a profit optimization algorithm 150. [Figure 10] 10 shows an example of a process flow of the profit optimization algorithm 150. [Figure 11] 1 shows an example of a functional configuration of a data processing device 100. [Figure 12] An example of the hardware configuration of a computer 1200 that functions as the data processing device 100 is shown in schematic form. DETAILED DESCRIPTION OF THE INVENTION

[0011] The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the scope of the invention according to the claims. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.

[0012] Conventional vending machine operations rely heavily on individual experience and intuition, resulting in high workloads due to labor shortages and complex business rules. For example, it is desirable to automatically create visit plans and product configuration lists in a short time, even when complex business rules are used. It is also desirable to reduce the time required for operations by, for example, creating efficient visit routes. Furthermore, it is desirable to simplify tasks that are easily personalized so that anyone can perform similar tasks, for example, to address labor shortages. The data processing device 100 according to this embodiment automatically and quickly creates optimal visit plans and product configuration lists by taking complex business rules into account, for example, using demand forecasting based on statistical and mathematical methods and mathematical optimization. This enables optimal output that is not dependent on individual skills, contributing to resolving labor shortages. Furthermore, visit plans and product configuration lists optimized by taking complex business rules into account can contribute to improving business efficiency.

[0013] FIG. 1 shows an example of a data processing device 100. The data processing device 100 predicts future demand for multiple products in each of the multiple vending machines 200 based on various data from the multiple vending machines 200, and creates data useful for managing the multiple vending machines 200. The vending machines 200 may sell any type of product. In this embodiment, the description will be centered on an example in which the vending machine 200 sells beverages. The vending machine 200 may also be referred to as equipment.

[0014] 1, data processing device 100 acquires sales data 210, vending machine data 220, and cost data 230. Data processing device 100 may acquire sales data 210, vending machine data 220, and cost data 230 from, for example, an operating entity that operates multiple vending machines 200.

[0015] The sales data 210 may include product data. The product data may include product names. The product data may include product categories. The product categories indicate the type of product. Examples of product types include water, tea, coffee, apple juice, and orange juice, but are not limited to these as long as the product can be sold in the vending machine 200. The product data may include hot / cold data indicating whether the product is for hot or cold use. The sales data 210 may include past sales of the product. The past sales include, for example, the number of sales of each product for each past day. The sales data 210 may include inventory data. The inventory data may include the number of inventory of each product for each past day.

[0016] Vending machine data 220 may include a vending machine master. The vending machine master may include vending machine identification data that can identify vending machine 200. The vending machine master may include data related to the location where vending machine 200 is installed. The vending machine master may include the category of the location where vending machine 200 is installed. Examples of location categories include, but are not limited to, hospitals, amusement facilities, and parks. Vending machine data 220 may include installation location contract conditions. The installation location contract conditions may include conditions regarding the days and times when the installation location can be visited.

[0017] The cost data 230 may include a visit cost. The visit cost may be the cost required for an operator to visit the vending machine 200 once. The visit cost may be set, for example, by the operator of the vending machine 200. For example, the visit cost may be set higher for a vending machine 200 that requires a longer travel distance from the source location, such as a warehouse where the product is stored, to the vending machine 200. For example, the visit cost may be set higher for a vending machine 200 that requires higher labor costs. For example, the visit cost may be set higher for a vending machine 200 that requires higher fuel costs for the transport vehicle. For example, the visit cost may be set by combining these examples. As an example, the sum of the monthly labor costs and the monthly fuel costs for the transport vehicle, divided by the number of monthly visits, may be set as the visit cost for the vending machine 200. The operator of the vending machine 200 may set the visit cost for each of multiple vending machines 200, for each group of multiple vending machines 200, or the like. The same cost may be set as the visit cost for all vending machines 200. The cost data 230 may include a product replacement cost. The product replacement cost may be the cost required to change the product in the vending machine 200. The product replacement cost is set, for example, by the operator of the vending machine 200. For example, the product replacement cost may be set higher for vending machines 200 that require higher labor costs. For example, the product replacement cost may be set higher the higher the hourly wage of the worker who will replace the product in the vending machine 200. In this case, the average hourly wage of the worker who will replace the product in each of the multiple vending machines 200 may be used. Alternatively, the average hourly wage of the worker who has previously replaced the product in each of the multiple vending machines 200 may be used. For example, the longer it takes to replace the product in the vending machine 200, the higher the product replacement cost may be set. In this case, the time required to replace the product in each of the multiple vending machines 200 may be estimated based on the model, size, and number of products that the vending machine 200 can accommodate, and the estimated result may be used. Alternatively, the time required for past product changes may be recorded for each of the multiple vending machines 200, and the average time may be used.The product replacement cost may be set using both the hourly wage of the worker who replaces the product in the vending machine 200 and the time required to replace the product. The operator of the vending machine 200 may set the product replacement cost for each of multiple vending machines 200, for each group of multiple vending machines 200, or for each product type. The operator of the vending machine 200 may set the cost required to replace the product for each product type. The same cost may also be set as the product replacement cost for all vending machines 200.

[0018] Output data 300 may include online calibration. Online calibration enables equipment information to be acquired remotely. Data processing device 100 may provide at least one of acquired sales data 210, vending machine data 220, and cost data 230 to a remote communication terminal or the like. Data processing device 100 may also provide data generated using at least one of sales data 210, vending machine data 220, and cost data 230 to a remote communication terminal or the like. Targets of online calibration may include sales, inventory management, balance shortages, malfunction detection, remote setting, and the like.

[0019] The output data 300 may include a visit plan. The visit plan may be a plan required for a worker to visit a vending machine 200. The visit plan may include visit dates for a plurality of vending machines 200. The visit plan may also include visit routes for a plurality of route workers to visit a plurality of vending machines 200. The visit plan may also include a plan for loading products onto a transport vehicle that transports the products. The visit plan may be set to maximize profits.

[0020] The output data 300 may include a product configuration list. The product configuration list may include information on the product lineup for each vending machine 200. The product configuration list may include information indicating the shelf allocation of products sold by each vending machine 200. The product configuration list may be set to maximize profits.

[0021] 2 is an explanatory diagram for outlining the processing performed by the data processing device 100. The data processing device 100 may use two algorithms based on the results of demand forecasting using statistical and mathematical techniques to output a visit plan 310 and a product configuration list 320. For example, the data processing device 100 uses two algorithms based on the results of demand forecasting using a machine learning-based demand forecasting AI 120 to output the visit plan 310 and the product configuration list 320.

[0022] The data processing device 100 may use the visiting plan enhancement algorithm 130 to output the visiting plan 310 based on the demand forecasting results using the demand forecasting AI 120. Taking into account the possibility that the visiting plan 310 may not be output due to a system failure or the like in the data processing device 100, the data processing device 100 may output, for example, visiting plans 310 for five days including the current day every day. The number of days' worth of visiting plans 310 to be output may be changeable by settings.

[0023] The data processing device 100 may output a product configuration list 320 using a profit optimization algorithm 150 based on the demand forecast result using the demand forecasting AI 120. The data processing device 100 outputs the product configuration list 320 that maximizes the profit for a specified month, for example, within a range of 0 to 6 months from now.

[0024] 3 is an explanatory diagram for providing an overview of the visit plan enhancement algorithm 130. The data processing device 100 may create a demand forecasting AI 120 that forecasts future demand for each of the multiple products for each of the multiple vending machines 200, using data acquired for each of the multiple vending machines 200 from a sales DB 112 that stores data on the number of units sold for each product per day, an inventory DB 114 that stores inventory data, and a master DB 116 that stores vending machine master data.

[0025] When creating the visiting plan 310, the data processing device 100 may input data acquired from the sales DB 112, inventory DB 114, and master DB 116 into the demand forecasting AI 120 to perform demand forecasting for up to n days in the future. The data processing device 100 inputs the forecast results into the visiting plan enhancement algorithm 130.

[0026] The visit plan enhancement algorithm 130 includes a visit equipment selection 131 that uses the prediction results of the demand prediction AI 120 to select, from among a plurality of vending machines 200, vending machines 200 that should be visited within n days.

[0027] The visit plan enhancement algorithm 130 includes a movement management 141 that creates visit routes for the multiple pieces of equipment selected by the visiting equipment selection 131 .

[0028] The visit plan enhancement algorithm 130 selects visiting equipment that can reduce visit costs while suppressing opportunity loss and creates an efficient visit route through visiting equipment selection 131 and movement management 141. Opportunity loss refers to a lost opportunity to purchase a product due to it being sold out.

[0029] Figure 4 shows an example of a profit-opportunity loss graph 132 for explaining the visiting equipment selection 131. For example, the visiting equipment selection 131 uses a demand forecast for up to n days ahead to select the date on which the "cumulative vending machine profit up to the visit - logistics costs" is maximized based on the latest inventory data as the recommended visiting date. This makes it possible to encourage a visit just before a vending machine sells out and sales slow down, which can contribute to maximizing profits while keeping logistics costs down.

[0030] In the profit-opportunity loss graph 132, the vertical axis indicates the amount of sales, and the horizontal axis indicates the date of sales. In the profit-opportunity loss graph 132, A represents the opportunity loss due to sold-out, and B represents the profit. B may be the value obtained by subtracting the logistics cost from the profit. The logistics cost may be a value set by the operator of the equipment, etc. The logistics cost may be different for each equipment, or may be the same.

[0031] As shown in Figure 4, profit B increases as the sales date progresses, but the rate of increase gradually decreases as products sell out. Sell-out opportunity loss A begins to increase once sell-outs begin to occur, and the rate of increase increases as the number of sold-out products increases.

[0032] The data processing device 100 may determine the day on which profit B - sold-out opportunity loss A is the largest as the recommended visit day. For example, as shown in Fig. 4, the data processing device 100 determines the day on which the amount in the B-A graph is the largest as the recommended visit day.

[0033] Note that if the data processing device 100 is set to execute a selection method different from the selection method shown in Fig. 4, the data processing device 100 may use the different selection method to select a visit date for each of a plurality of pieces of equipment. For example, if minimizing sellouts is prioritized over profits from a business perspective, the data processing device 100 selects, as the visit date, a day on which the predicted number of sold-out items will reach a set number.

[0034] 5 is a diagram showing an example of a visit count graph 142 for explaining the movement management 141. FIG. 6 is a diagram showing an example of a visit route 143 for explaining the movement management 141.

[0035] The movement management 141 creates visiting routes for a plurality of equipment based on the selection result of the visiting equipment selection 131 .

[0036] The movement management 141 may create visit routes for multiple pieces of equipment, taking into account predetermined traffic conditions. The predetermined traffic conditions may include, for example, the distance from the base, the required travel time from the base, whether toll roads are used, whether road construction is performed, whether traffic restrictions are in place, etc. The movement management 141 may create visit routes for multiple pieces of equipment, taking into account the work data of routemen. The work data of routemen may include work hours. The work data of routemen 1433 may include a shift schedule. The work data of routemen 1433 may include the equipment they can handle. The equipment that routemen 1433 can handle may be determined by the contract, the capabilities of routemen 1433, the work style of routemen 1433, etc.

[0037] The movement management 141 may create a visiting route in consideration of leveling out the number of visiting equipment items on a plurality of visiting routes. The movement management 141 may create a visiting route in consideration of leveling out the number of visiting equipment items on each day of the week in a week.

[0038] For example, the movement management 141 first averages the visit dates of multiple pieces of equipment selected by the visit equipment selection 131 on a weekly basis. It is assumed that the demand for visits varies depending on the day of the week. For example, there tends to be a large number of pieces of equipment that cannot be visited on Saturdays and Sundays within a week, and as a result, the number of visits tends to be high on Fridays and Mondays, which are before and after Saturdays and Sundays. If the number of visits of equipment is concentrated on a certain day of the week, the work efficiency of the route operator decreases. Therefore, when there is an imbalance in the visit dates of multiple pieces of equipment selected by the visit equipment selection 131 as shown by the solid line graph 1421 in FIG. 5, the movement management 141 averages the visit dates as shown by the dashed line graph 1422 in FIG. 5.

[0039] The movement management 141 assigns the multiple pieces of equipment selected by the visiting equipment selection 131 to multiple routemen 1433 using the base location 1431, equipment location 1432, and work data of the multiple routemen 1433, and creates visiting routes 1434 to the multiple pieces of equipment for each of the multiple routemen 1433.

[0040] The movement management 141 assigns multiple pieces of equipment to be visited to each of multiple routemen 1433. The movement management 141 may assign them in a leveled manner so as not to unevenly distribute the number of pieces of equipment to be visited. The movement management 141 creates a visiting route 1434 for each of the multiple routemen 1433 to the assigned pieces of equipment. The movement management 141 may use, for example, road information and traffic information to create a visiting route 1434 that minimizes the total travel time when visiting multiple pieces of equipment. The movement management 141 may also use road information and traffic information to create a visiting route 1434 that minimizes the total travel distance when visiting multiple pieces of equipment. The road information may include road configuration information and road map information indicating latitude and longitude of roads. The configuration information may include whether each road is a general road or an expressway, whether it is one-way or two-way, the number of lanes on each road, etc. The traffic information may include congestion information for each road.

[0041] FIG. 7 shows an example of the processing flow of the visiting schedule enhancement algorithm 130. The data processing device 100 performs demand forecasting using statistical and mathematical techniques, using data from the sales DB 112, inventory DB 114, and master DB 116. The data processing device 100 may perform demand forecasting using, for example, the demand forecasting AI 120. The data processing device 100 stores the forecast results in the forecast result DB 121. Note that the number of days for which demand forecasting is performed is not particularly limited. The fewer days for which demand forecasting is performed, the faster the processing can be. Furthermore, the more days for which demand forecasting is performed, the more accurate the selection of subsequent visiting equipment can be.

[0042] The data processing device 100 executes inventory calculation 122, which calculates the inventory quantity of the equipment after replenishing the products, based on the prediction result. The data processing device 100 stores the result of inventory calculation 122 in inventory DB 123. The data processing device 100 executes replenishment quantity calculation 124, which calculates the replenishment quantity of the products to be put into the equipment at the time of replenishment, using the inventory quantity stored in inventory DB 123.

[0043] The data processing device 100 executes visiting equipment selection 131, which selects visiting equipment, using the prediction results stored in the prediction result DB 121. For example, the data processing device 100 uses the demand prediction results for up to n days into the future to select recommended visiting equipment for each day up to N days into the future. The data processing device 100 stores the selection results in the visiting equipment DB 135. Note that the number of days for selecting visiting equipment is not particularly limited. The fewer the number of days for selecting visiting equipment, the faster the processing can be. Furthermore, the more days for selecting visiting equipment, the more the user can utilize the prediction results even if a situation arises where a new prediction cannot be made due to some kind of failure or the like. In other words, the risk can be reduced.

[0044] The data processing device 100 executes movement management 141 using the selection results stored in the visited equipment DB 135. The data processing device 100 creates a visiting plan 310 including multiple visiting routes 1434 using data stored in an equipment DB 145 that stores equipment data including the locations of the equipment, an attendance data DB 146 that stores work data of routemen 1433, and an equipment unit replenishment quantity DB 147 that stores the calculation results of replenishment amount calculation 124.

[0045] The data processing device 100 may use the data stored in the inventory DB 123 to generate a loading list 312 listing the products to be loaded onto the delivery vehicle departing from the base location 1431 for each of the multiple visiting routes 1434.

[0046] 8 is an explanatory diagram for providing an overview of the profit optimization algorithm 150. When creating the product configuration list 320, the data processing device 100 may input data acquired from the sales DB 112, inventory DB 114, and master DB 116 into the demand forecasting AI 120 to perform demand forecasting up to n months in advance. The data processing device 100 inputs the forecast results into the profit optimization algorithm 150.

[0047] The profit optimization algorithm 150 includes a candidate product selection 151 that uses the prediction results from the demand prediction AI 120 to select, for each of the multiple vending machines 200, candidate product lineups that maximize profits.

[0048] The profit optimization algorithm 150 includes an item optimization 158 that provides a product lineup to maximize profits using expected profits of candidate products, costs to realize the lineup, business constraints, and the like.

[0049] 9 is an explanatory diagram for explaining the profit optimization algorithm 150. The candidate product selection 151 of the profit optimization algorithm 150 picks out likely-selling products 154 from the prediction results of the demand prediction AI 120 for new products 152 and existing products 153, and creates candidate products 157 to be put into each vending machine 200 by mathematical optimization 156, taking into account business constraint products 155.

[0050] As described above, the demand forecasting AI 120 is created by machine learning using data including the product category and the location category of the vending machine 200, and is therefore able to predict demand even for newly deployed product 152. For example, according to the demand forecasting AI 120, if there are many sales of a relatively new bottle of water at hospitals nationwide, it is possible to predict that there will be high demand for the newly deployed water in vending machines 200 located at the hospital.

[0051] The data processing device 100 selects, for example, N products in descending order of demand from the demand forecast results as likely-to-sell products 154. The data processing device 100 then executes mathematical optimization 156 using the likely-to-sell products 154 and business constraint products 155. The business constraint products 155 include, for example, data on products that must be placed in a specific vending machine 200. The business constraint products 155 include, for example, a constraint that a certain percentage of a specific product must be placed in a predetermined range of vending machines 200. As a specific example, the business constraint products 155 include a constraint that a certain percentage of a specific product must be placed in vending machines 200 at each branch. The data processing device 100 determines a predetermined number of candidate products 157 for each of the multiple vending machines 200, which satisfy the business constraint products 155 and include products included in the likely-to-sell products 154. The predetermined number is set to be greater than the number of products actually placed in the vending machine 200. For example, if the number of items actually placed in the vending machine 200 is 30, a number greater than 30, such as 80, may be set.

[0052] For example, the data processing device 100 first determines the products to be placed in each of the multiple vending machines 200 based on the business constraint products 155. Then, the data processing device 100 adds products to the candidate products 157 in order of likely-to-sell products 154 to products predicted to be in higher demand, until a preset number is reached.

[0053] After executing candidate product selection 151, data processing device 100 executes item optimization 158. Data processing device 100 may assign each of multiple products included in candidate products 157 to a column of vending machine 200. For example, data processing device 100 may assign each of multiple products included in candidate products 157 to a column of vending machine 200 by SKU (Stock Keeping Unit) for each vending machine 200 in descending order of profit forecast. Note that SKUs may be by product and by hot / cold unit. In other words, even if the product is the same, hot and cold may be treated as different SKUs.

[0054] The data processing device 100 may create multiple candidates for the product lineup to be placed in the vending machine 200 from the candidate products 157. For example, the data processing device 100 may create multiple combinations of products from the candidate products 157, including variations in the placement of the products to be assigned to the columns of the vending machine 200. In other words, the data processing device 100 may create multiple combinations that differ in the products included and / or the placement of the columns of the included products.

[0055] The number of products that can be placed may differ depending on the position of the column. For example, a larger number of products may be placed in an upper column than in a lower column. The data processing device 100 may create combinations by, for example, prioritizing the placement of products with a large predicted number of sales in an upper column. The data processing device 100 may create combinations by, for example, prioritizing the placement of products with a large predicted number of sales in multiple columns.

[0056] Furthermore, the products that can be placed may differ depending on the size of the column. For example, the products that can be placed may differ depending on whether the width of the column is for PET bottles or cans.

[0057] Additionally, the products that can be placed in the columns may differ depending on the hot / cold function of the column. For example, cold drinks may be placed in a column set to the cold function, and hot drinks may be placed in a column set to the hot function.

[0058] The data processing device 100 may take these data into consideration when creating a combination of products to be placed in the vending machine 200 from the candidate products 157. Note that the data processing device 100 may perform calculations assuming that all SKU sizes are standard sizes, even if the number of products that can be placed in a column may differ depending on the size of the SKU. This can reduce the calculation load. The data processing device 100 may also perform calculations taking into account the size differences of the SKUs. This can create a more optimal combination.

[0059] The data processing device 100 may select a recommended product lineup from multiple combinations, taking profit into consideration. For example, the data processing device 100 may calculate profit for a predetermined period for each of multiple combinations based on the product sales price, the predicted number of units sold for the product during the predetermined period, and the cost required to realize the combination, and select the combination with the highest profit as the recommended product lineup. The predetermined period may be set to any period, such as a month. Here, an example of a method for calculating profit will be described. For example, the data processing device 100 may multiply the predicted number of units sold for multiple products included in the combination by the product sales price, and add the results of the multiple products. The data processing device 100 may then subtract the cost required to realize the combination from the sum to determine the profit.

[0060] The cost for realizing a combination in a specified period may include the cost of visits required in the specified period (sometimes referred to as "period visit cost"). The period visit cost may be, for example, the value obtained by multiplying the number of visits required in the specified period by the visit cost required for one visit. The period visit cost may be calculated from the allocation of products to columns, the number of units to be placed in the vending machine 200 based on the allocation to the columns, and the predicted number of units to be sold. For example, if a product with a high predicted number of units to be sold is allocated to multiple columns, the number of visits will be fewer and the period visit cost will be lower compared to allocating it to only one column.

[0061] The cost to realize a combination in a predetermined period may include the cost of product replacement required to realize the target product combination. For example, if product replacement is required to realize a certain combination, the product replacement cost will be higher compared to when product replacement is not required. Also, for example, the product replacement cost may be higher for a combination that requires more products to be replaced.

[0062] As a specific example, the data processing device 100 applies the following formula 1 to a plurality of combinations to identify the combination with the greatest profit.

[0063]

number

[0064] 10 schematically illustrates an example of the processing flow of the profit optimization algorithm 150. The data processing device 100 performs demand forecasting using statistical and mathematical techniques, using data from the sales DB 112, the inventory DB 114, and the master DB 116. The data processing device 100 may perform demand forecasting using, for example, the demand forecasting AI 120. The data processing device 100 stores the forecast results in the forecast result DB 121.

[0065] The data processing device 100 executes an optimum inventory calculation 125 for calculating the optimum inventory quantity of the equipment after the product replacement based on the prediction result. The data processing device 100 stores the result of the optimum inventory calculation 125 in the inventory DB 123.

[0066] The data processing device 100 uses the prediction results stored in the prediction result DB 121 to select products 154 that are likely to sell. The data processing device 100 stores the selection results in the candidate product DB 136. The data processing device 100 executes candidate product optimization 137, which optimizes candidate products, using data on business-constrained products stored in the business rule DB 133. The data processing device 100 stores the candidate products optimized by the candidate product optimization 137 in the post-optimization candidate product DB 138.

[0067] The data processing device 100 executes item optimization 158 for the candidate products stored in the post-optimization candidate product DB 138. The data processing device 100 uses the visit costs and product replacement costs stored in the cost DB 148 and the column data for each piece of equipment stored in the equipment DB 145 to create a product configuration list 320 including a product lineup that maximizes profits.

[0068] 11 shows an example of the functional configuration of the data processing device 100. The data processing device 100 includes a storage unit 110, an acquisition unit 162, a learning execution unit 164, a demand forecasting unit 166, a visit schedule creation unit 170, a configuration data creation unit 180, and an output control unit 190. It is not essential that the data processing device 100 include all of these units.

[0069] The acquisition unit 162 acquires various data and stores the acquired data in the storage unit 110.

[0070] For example, the acquisition unit 162 acquires the sales data 210. The acquisition unit 162 may acquire the sales data 210 from an operator of the vending machine 200. The acquisition unit 162 may receive the sales data 210 from a communication terminal used by the operator. The acquisition unit 162 may acquire the sales data 210 input by the operator. The acquisition unit 162 may receive the sales data 210 from a management device that manages multiple vending machines 200.

[0071] For example, the acquisition unit 162 acquires the vending machine data 220. The acquisition unit 162 may acquire the vending machine data 220 from an operator of the vending machine 200. The acquisition unit 162 may receive the vending machine data 220 from a communication terminal used by the operator. The acquisition unit 162 may acquire the vending machine data 220 entered by the operator. The acquisition unit 162 may receive the vending machine data 220 from a management device that manages multiple vending machines 200.

[0072] For example, the acquisition unit 162 acquires the cost data 230. The acquisition unit 162 may acquire the cost data 230 from an operator of the vending machine 200. The acquisition unit 162 may receive the cost data 230 from a communication terminal used by the operator. The acquisition unit 162 may acquire the cost data 230 input by the operator. The acquisition unit 162 may receive the cost data 230 from a management device that manages multiple vending machines 200.

[0073] For example, the acquisition unit 162 acquires work data of a route man. The acquisition unit 162 may acquire the work data of the route man from the operator of the vending machine 200. The acquisition unit 162 may receive the work data of the route man from a communication terminal used by the operator. The acquisition unit 162 may acquire the work data of the route man entered by the operator. The acquisition unit 162 may receive the work data of the route man from a management device that manages the work data of the route man.

[0074] For example, the acquisition unit 162 acquires business rules. The business rules may include rules that should be prioritized in consideration of business. The business rules may include matters that should be prioritized when visiting the vending machine 200. For example, the business rules include days that should be prioritized as days of the week for visiting the vending machine 200. For example, the business rules include times that should be prioritized as times of day for visiting the vending machine 200. The business rules may include business constraints. The business constraints may include constraints on visits to the vending machine 200. For example, the business constraints include days of the week and times when the vending machine 200 can be visited. The business constraints may include business constraint products 155.

[0075] The memory unit 110 may include a sales DB 112. The memory unit 110 may include an inventory DB 114. The memory unit 110 may include a master DB 116. The memory unit 110 may include an inventory DB 123. The memory unit 110 may include a business rule DB 133. The memory unit 110 may include a product DB 134. The memory unit 110 may include a visited equipment DB 135. The memory unit 110 may include a candidate product DB 136. The memory unit 110 may include a post-optimization candidate product DB 138. The memory unit 110 may include an equipment DB 145. The memory unit 110 may include an attendance data DB 146. The memory unit 110 may include an equipment unit replenishment quantity DB 147. The memory unit 110 may include a cost DB 148.

[0076] The learning execution unit 164 performs machine learning using the data stored in the memory unit 110. The learning execution unit 164 may create the demand prediction AI 120. The learning execution unit 164 may create the demand prediction AI 120 by performing machine learning using the daily sales history of multiple products from each of the multiple vending machines 200. The learning execution unit 164 may create the demand prediction AI 120 by performing machine learning using the attribute data of each of the multiple vending machines 200 and the daily sales history of multiple products from each of the multiple vending machines 200. The attribute data of the vending machine 200 may include a vending machine master of the vending machine 200. The attribute data of the vending machine 200 may include vending machine identification data. The attribute data of the vending machine 200 may include data regarding the location where the vending machine 200 is installed. The attribute data of the vending machine 200 may include the category of the location where the vending machine 200 is installed. The learning execution unit 164 stores the created demand forecast AI 120 in the storage unit 110. Note that the acquisition unit 162 may externally acquire the demand forecast AI 120 generated by another device and store it in the storage unit 110.

[0077] The learning execution unit 164 may create a demand prediction AI 120 that predicts future demand for products in the vending machine 200 through machine learning using multiple types of data stored in the memory unit 110. The learning execution unit 164 may use past sales of products. By performing learning using the sales volume of each product for each past day, it is possible to create a demand prediction AI 120 that can output the predicted sales volume of each product for an input date. The learning execution unit 164 may use the product category. The learning execution unit 164 may use the vending machine master. By using the product category and the vending machine master, it is possible to create a demand prediction AI 120 that can predict future sales volumes for newly deployed products, for example, based on the past sales volumes of products in the same category in vending machines 200 located in the same category.

[0078] The demand forecasting unit 166 predicts future demand for the multiple products in each of the multiple vending machines 200. The demand forecasting unit 166 may predict future demand for the multiple products in each of the multiple vending machines 200 by executing statistical and mathematical methods using data stored in the storage unit 110. The demand forecasting unit 166 may predict demand for the multiple products in each of the multiple vending machines 200 for each day within a specified period. The demand forecasting unit 166 stores the prediction results in the storage unit 110.

[0079] The demand forecasting unit 166 may forecast future demand for the multiple products for each of the multiple vending machines 200 based on the daily sales history of the multiple products for each of the multiple vending machines 200. The demand forecasting unit 166 may forecast future demand for the multiple products for each of the multiple vending machines 200 by executing statistical and mathematical methods using the daily sales history of the multiple products for each of the multiple vending machines 200. For example, the demand forecasting unit 166 may input the period to be subject to demand forecasting into the demand forecasting AI 120 created by the learning execution unit 164 using the daily sales history of the multiple products for each of the multiple vending machines 200, and obtain the forecasted sales volume of each product for each day during that period as the result of the demand forecast.

[0080] The demand forecasting unit 166 may perform a prediction that further uses the attribute data of each of the multiple vending machines 200. The demand forecasting unit 166 may predict future demand for each of the multiple products in each of the multiple vending machines 200 by executing statistical and mathematical methods using the attribute data of each of the multiple vending machines 200 and the daily sales history of the multiple products from each of the multiple vending machines 200. For example, the demand forecasting unit 166 may input the period covered by the demand forecast and the attribute data of the vending machines 200 into the demand forecast AI 120 created by the learning execution unit 164 using the attribute data of each of the multiple vending machines 200 and the daily sales history of the multiple products from each of the multiple vending machines 200, and thereby obtain the predicted sales volume of each product for each day in the period as the result of the demand forecast.

[0081] The visit plan creation unit 170 creates a visit plan to visit multiple vending machines 200 based on the prediction results by the demand prediction unit 166. The visit plan creation unit 170 may create a visit plan for replenishing products in multiple vending machines 200 based on the prediction results by the demand prediction unit 166. The visit plan creation unit 170 may include a visit equipment selection unit 172, an allocation unit 174, and a visit route creation unit 176.

[0082] The visiting equipment selection unit 172 selects multiple vending machines 200 to visit for each of multiple future days based on the prediction results from the demand prediction unit 166. For each of the multiple vending machines 200, the visiting equipment selection unit 172 may calculate a value for multiple days from the start date to the end date by subtracting the cumulative sales opportunity loss from the start date from the cumulative profit from the start date based on the prediction results from the demand prediction unit 166, determine the day with the largest calculated value as the candidate visit date, and select multiple vending machines 200 to visit for each of the multiple days based on the determination result. The start date and end date may be set arbitrarily. For example, the date of the previous visit is set as the start date, and a day a predetermined number of days after the start date is set as the end date. The visiting equipment selection unit 172 may select multiple vending machines 200 to visit for each of the multiple days using the profit-opportunity loss graph 132.

[0083] The visit equipment selection unit 172 may select multiple vending machines 200 to visit for each of multiple days based on rules that indicate visitable and unavailable days for each of the multiple vending machines 200. The rules may be business rules stored in the storage unit 110. For example, the visit equipment selection unit 172 calculates a value obtained by subtracting the cumulative sales opportunity loss since the start date from the cumulative profit since the start date, and determines the day on which this calculated value is greatest as the candidate visit date. If there is a vending machine 200 for which the candidate visit date is unavailable, the visit equipment selection unit 172 determines the latest visitable date that is before the candidate visit date as the candidate visit date.

[0084] The allocation unit 174 allocates multiple routemen to multiple vending machines 200 to be visited, selected by the visiting equipment selection unit 172, for each of multiple days, based on routeman data including work data of multiple routemen.

[0085] If there is a bias in the number of vending machines 200 for multiple days selected by the visit equipment selection unit 172, the allocation unit 174 may perform a process to smooth out the bias. The allocation unit 174 may perform the smoothing in units of a predetermined period. For example, the allocation unit 174 may perform the smoothing in units of one week. The allocation unit 174 smooths the number of vending machines 200 between days of the week in the selection result by the visit equipment selection unit 172. For example, if the number of vending machines 200 on Monday and Friday is greater than the number of vending machines 200 on Tuesday, Wednesday, and Thursday among Monday, Tuesday, Wednesday, Thursday, and Friday, the allocation unit 174 changes the candidate visit days for the vending machines 200 for which Monday and Friday are the candidate visit days to Tuesday, Wednesday, or Thursday. The allocation unit 174 may perform such a smoothing process so that the variation between days of the week falls within a predetermined range.

[0086] When the leveling process is not performed, the allocation unit 174 uses the selection results of the multiple vending machines 200 to be visited on each of the multiple days selected by the visit equipment selection unit 172. When the leveling process is performed, the allocation unit 174 uses the selection results of the multiple vending machines 200 to be visited on each of the multiple days after the leveling process to assign multiple route men to the multiple vending machines 200 to be visited for each of the multiple days. The allocation unit 174 uses the route man data of the multiple route men to distribute the multiple vending machines 200 to be visited among the multiple route men. The allocation unit 174 may level the number of vending machines 200 assigned to each of the multiple route men. The allocation unit 174 may evenly allocate the multiple vending machines 200 to the multiple route men. For example, if there are 20 vending machines 200 to be visited and there are four route men available to visit them, the allocation unit 174 assigns five vending machines 200 to each of the four route men.

[0087] The visiting route creation unit 176 creates a visiting route to the multiple vending machines 200 assigned by the allocation unit 174 for each of the multiple route men. The visiting route creation unit 176 may create a visiting route using data on the distance from the base, the time, and whether or not a highway is used. The visiting route creation unit 176 may create an efficient visiting route to the multiple vending machines 200 assigned to each of the multiple route men. For example, when visiting multiple vending machines 200, the visiting route creation unit 176 uses road information to create a visiting route that minimizes the total travel distance. For example, when visiting multiple vending machines 200, the visiting route creation unit 176 uses road information and traffic information to create a visiting route that minimizes the total travel time.

[0088] The configuration data creation unit 180 creates product configuration data indicating the product configuration for maximizing profits for each of the multiple vending machines 200 based on the prediction results by the demand prediction unit 166. The product configuration list 320 may be an example of product configuration data. The configuration data creation unit 180 may include a candidate product identification unit 182 and a selection unit 184.

[0089] The candidate product identification unit 182 identifies, for each of the multiple vending machines 200, multiple candidate products to be allocated to the vending machine 200 from the multiple products based on the prediction results for the multiple products by the demand prediction unit 166. The candidate product identification unit 182 picks out products that are likely to sell based on the prediction results by the demand prediction unit 166 for multiple products including newly deployed products and existing products. For example, the candidate product identification unit 182 picks out a predetermined number of products in descending order of predicted demand. The candidate product identification unit 182 may identify the picked out products as candidate products.

[0090] The candidate product identification unit 182 may identify multiple candidate products based on data on business-restricted products, including products designated to be allocated to the vending machine 200 and products designated as allocation ratios to multiple vending machines. For example, the candidate product identification unit 182 selects products likely to sell from the prediction results of the demand forecasting unit 166 for multiple products, including newly deployed products and existing products, and identifies multiple candidate products by taking into account the business-restricted products. As a specific example, the candidate product identification unit 182 first determines products to be placed in each of the multiple vending machines 200 using the demand forecasting unit 166. If a product that must be placed in the target vending machine 200 has been designated, the candidate product identification unit 182 first identifies that product as a candidate product for that vending machine 200. When there is a constraint that a certain percentage of a specific product must be stocked in vending machines 200 within a predetermined range, the candidate product identification unit 182 first assigns the specific product as a candidate product to the vending machines 200 within that predetermined range so that the certain percentage of the specific product is stocked in the vending machines 200 within that predetermined range. Then, the candidate product identification unit 182 adds the specific product to the candidate products in order from highest to lowest predicted demand for each of the multiple vending machines 200 until it reaches the preset number as the number of candidate products for each of the multiple vending machines 200. In this way, multiple candidate products are identified for each of the multiple vending machines 200.

[0091] The selection unit 184 selects, for each of the multiple vending machines 200, a combination of multiple products to be allocated to multiple columns of the vending machine 200 from the multiple candidate products identified by the candidate product identification unit 182.

[0092] The selection unit 184 may select, for each of the multiple vending machines 200, for each of the multiple combinations of multiple products to be assigned to multiple columns of the vending machine 200, of the multiple candidate products identified by the candidate product identification unit 182, the combination that maximizes the value obtained by subtracting the cost of visiting the vending machine 200 if the combination is realized from the profit calculated from the selling price of each of the multiple products included in the combination and the predicted number of sales identified from the prediction results by the demand prediction unit 166 for each of the multiple products.

[0093] The multiple combinations include variations in allocating each of the multiple products to multiple columns of the vending machine 200. When selecting a portion of the multiple candidate products and allocating them to multiple columns, the selection unit 184 may generate various allocation variations. For example, if there are 80 candidate products and 30 columns, the selection unit 184 may allocate 30 products selected from the 80 candidate products to the 30 columns in multiple ways, and the multiple combinations may include all of these allocation methods.

[0094] The multiple combinations may include variations in which one type of product is assigned to multiple columns. When selecting a portion of multiple candidate products and assigning them to multiple columns, the selection unit 184 may generate variations in which one type of product is assigned to multiple columns. For example, when there are 80 candidate products and 30 columns, the selection unit 184 selects 29 products from the 80 candidate products and assigns one of the 29 products to two columns. The selection unit 184 assigns, for example, the product with the highest demand among the 29 products to two columns. The number of products assigned to multiple columns is not limited to one, and may be multiple. Furthermore, the number of columns to which one product is assigned is not limited to two, and may be three or more.

[0095] When the candidate products include the business constraint product 155, each of the multiple combinations may include the business constraint product 155. When the candidate products include the business constraint product 155, the selection unit 184 may determine multiple combinations such that all of the multiple combinations include the business constraint product 155. This ensures that the business constraint product 155 is always assigned to a column.

[0096] The selection unit 184 generates various combinations and selects the combination that maximizes the value obtained by subtracting the cost of visiting the vending machine 200 if the combination is realized from the profit calculated from the selling price of each of the multiple products included in the combination and the predicted number of products sold identified from the prediction results by the demand prediction unit 166 for each of the multiple products, thereby making it possible to identify the pattern that maximizes profits from all patterns.

[0097] The configuration data creation unit 180 may generate product configuration data including a combination of multiple products selected by the selection unit 184 for each of the multiple vending machines 200.

[0098] 12 schematically illustrates an example of the hardware configuration of a computer 1200 functioning as the data processing device 100. A program installed on the computer 1200 can cause the computer 1200 to function as one or more "parts" of the device according to the present embodiment, or can cause the computer 1200 to perform operations associated with the device according to the present embodiment or one or more "parts" thereof, and / or can cause the computer 1200 to perform a process according to the present embodiment or steps of the process. Such a program can be executed by the CPU 1212 to cause the computer 1200 to perform specific operations associated with some or all of the blocks in the flowcharts and block diagrams described herein.

[0099] The computer 1200 according to this embodiment includes a CPU 1212, a RAM 1214, and a graphics controller 1216, which are interconnected by a host controller 1210. The computer 1200 also includes input / output units such as a communications interface 1222, a storage device 1224, a DVD drive, and an IC card drive, which are connected to the host controller 1210 via an input / output controller 1220. The DVD drive may be a DVD-ROM drive, a DVD-RAM drive, or the like. The storage device 1224 may be a hard disk drive, a solid-state drive, or the like. The computer 1200 also includes a ROM 1230 and legacy input / output units such as a keyboard, which are connected to the input / output controller 1220 via an input / output chip 1240.

[0100] The CPU 1212 operates according to programs stored in the ROM 1230 and RAM 1214, thereby controlling each unit. The graphics controller 1216 acquires image data created by the CPU 1212 into a frame buffer or the like provided in the RAM 1214 or into the graphics controller itself, and causes the image data to be displayed on the display device 1218.

[0101] The communication interface 1222 communicates with other electronic devices via a network. The storage device 1224 stores programs and data used by the CPU 1212 in the computer 1200. The DVD drive reads programs or data from a DVD-ROM or the like and provides them to the storage device 1224. The IC card drive reads programs and data from an IC card and / or writes programs and data to an IC card.

[0102] The ROM 1230 stores therein a boot program or the like that is executed by the computer 1200 upon activation, and / or programs that depend on the hardware of the computer 1200. The input / output chip 1240 may also connect various input / output units to the input / output controller 1220 via a USB port, a parallel port, a serial port, a keyboard port, a mouse port, etc.

[0103] The programs are provided by a computer-readable storage medium such as a DVD-ROM or an IC card. The programs are read from the computer-readable storage medium, installed in the storage device 1224, RAM 1214, or ROM 1230, which are also examples of computer-readable storage media, and executed by the CPU 1212. Information processing described in these programs is read by the computer 1200, and causes cooperation between the programs and the various types of hardware resources described above. An apparatus or method may be configured by implementing operations or processing of information in accordance with the use of the computer 1200.

[0104] For example, when communication is performed between the computer 1200 and an external device, the CPU 1212 may execute a communication program loaded into the RAM 1214 and instruct the communication interface 1222 to perform communication processing based on the processing described in the communication program. Under the control of the CPU 1212, the communication interface 1222 reads transmission data stored in a transmission buffer area provided in the RAM 1214, the storage device 1224, a DVD-ROM, or a recording medium such as an IC card, and transmits the read transmission data to the network, or writes reception data received from the network to a reception buffer area or the like provided on the recording medium.

[0105] Furthermore, the CPU 1212 may cause all or a necessary portion of a file or database stored in an external recording medium such as the storage device 1224, a DVD drive (DVD-ROM), an IC card, etc. to be read into the RAM 1214, and may perform various types of processing on the data on the RAM 1214. The CPU 1212 may then write back the processed data to the external recording medium.

[0106] Various types of information, such as various types of programs, data, tables, and databases, may be stored on the recording medium and may undergo information processing. The CPU 1212 may perform various types of processing on data read from the RAM 1214, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search / replacement, etc., as described throughout this disclosure and specified by the instruction sequences of the programs, and write the results back to the RAM 1214. The CPU 1212 may also search for information in a file, database, etc. on the recording medium. For example, if multiple entries, each having an attribute value of a first attribute associated with an attribute value of a second attribute, are stored on the recording medium, the CPU 1212 may search for an entry whose attribute value of the first attribute matches a specified condition from among the multiple entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.

[0107] The above-described programs or software modules may be stored in a computer-readable storage medium on or near the computer 1200. A recording medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can also be used as a computer-readable storage medium, thereby providing the programs to the computer 1200 via the network.

[0108] The blocks in the flowcharts and block diagrams in the present embodiments may represent stages of a process in which an operation is performed or "parts" of an apparatus responsible for performing the operation. Particular stages and "parts" may be implemented by dedicated circuitry, programmable circuitry provided with computer-readable instructions stored on a computer-readable storage medium, and / or a processor provided with computer-readable instructions stored on a computer-readable storage medium. The dedicated circuitry may include digital and / or analog hardware circuits, including integrated circuits (ICs) and / or discrete circuits. The programmable circuitry may include reconfigurable hardware circuits, such as field programmable gate arrays (FPGAs) and programmable logic arrays (PLAs), including AND, OR, XOR, NAND, NOR, and other logical operations, flip-flops, registers, and memory elements.

[0109] A computer-readable storage medium may include any tangible device capable of storing instructions that are executed by an appropriate device, such that a computer-readable storage medium having instructions stored thereon comprises an article of manufacture, including instructions that can be executed to create means for performing the operations specified in the flowcharts or block diagrams. Examples of computer-readable storage media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, etc. More specific examples of computer-readable storage media may include floppy disks, diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), electrically erasable programmable read-only memory (EEPROM), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disc (DVD), Blu-ray disc, memory stick, integrated circuit card, etc.

[0110] The computer readable instructions may include either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk®, JAVA®, C++, etc., and conventional procedural programming languages ​​such as the “C” programming language or similar programming languages.

[0111] The computer-readable instructions may be provided to a general-purpose computer, a special-purpose computer, or another programmable data processing device processor or programmable circuit locally or via a local area network (LAN) or a wide area network (WAN) such as the Internet, so that the processor or programmable circuit of the programmable data processing device, such as a computer, executes the computer-readable instructions to create means for performing the operations specified in the flowcharts or block diagrams. Here, the computer may be a personal computer (PC), a tablet computer, a smartphone, a workstation, a server computer, a general-purpose computer, a special-purpose computer, or the like, or may be a computer system in which multiple computers are connected. Such a computer system in which multiple computers are connected is also called a distributed computing system, and is a broad definition of computers. In a distributed computing system, multiple computers collectively execute a program by each executing a portion of the program and passing data between computers as needed during program execution.

[0112] Examples of processors include computer processors, central processing units, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc. A computer may have one or more processors. In a multiprocessor system with multiple processors, each processor executes a portion of a program and passes data between processors as needed during program execution, allowing the multiple processors to collectively execute the program. For example, in multitasking, each of the multiple processors may execute a portion of each task in small chunks by switching tasks at time slice intervals. In this case, which portion of a program each processor executes changes dynamically. Which portion of a program each of the multiple processors executes may also be statically determined by multiprocessor-aware programming.

[0113] Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the claims that such modifications and improvements can also be included within the technical scope of the present invention.

[0114] It should be noted that the execution order of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before," "prior to," etc., and that the processes can be performed in any order unless the output of a previous process is used in a later process. Even if the operational flow in the claims, specifications, and drawings is described using "first," "next," etc. for convenience, this does not mean that the processes must be performed in this order. [Explanation of symbols]

[0115] 100 Data processing device, 110 Memory unit, 112 Sales DB, 114 Inventory DB, 116 Master DB, 120 Demand forecasting AI, 121 Forecast result DB, 122 Inventory calculation, 123 Inventory DB, 124 Replenishment amount calculation, 125 Optimal inventory calculation, 130 Visit planning advanced algorithm, 131 Visit equipment selection, 132 Profit-opportunity loss graph, 133 Business rule DB, 134 Product DB, 135 Visit equipment DB, 136 Candidate product DB, 137 Candidate product optimization, 138 Optimized candidate product DB, 141 Movement management, 142 Visit number graph, 143 Visit route, 145 Equipment DB, 146 Attendance data DB, 147 Equipment unit replenishment number DB, 148 Cost DB, 150 Profit optimization algorithm, 151 Candidate product selection, 152 Newly deployed product, 153 Existing products, 154 likely-to-sell products, 155 business-constrained products, 156 mathematical optimization, 157 candidate products, 158 item optimization, 162 acquisition unit, 164 learning execution unit, 166 demand forecasting unit, 170 visit plan creation unit, 172 visit equipment selection unit, 174 allocation unit, 176 visit route creation unit, 180 configuration data creation unit, 182 candidate product identification unit, 184 selection unit, 190 output control unit, 200 vending machine, 210 sales data, 220 vending machine data, 230 cost data, 300 output data, 310 visit plan, 312 loading list, 320 product configuration list, 1200 computer, 1210 host controller, 1212 CPU, 1214 RAM, 1216 graphics controller, 1218 display device, 1220 input / output controller, 1222 Communication interface, 1224 storage device, 1230 ROM, 1240 input / output chip, 1421 solid line graph, 1422 dashed line graph, 1431 base location, 1432 equipment location, 1433 routeman, 1434 visiting route

Claims

1. a demand forecasting unit that forecasts future demand for each of the plurality of products from each of the plurality of vending machines based on daily sales history of the plurality of products from each of the plurality of vending machines; a visit schedule creation unit that creates a visit schedule to the plurality of vending machines based on the prediction results by the demand prediction unit; A data processing device comprising:

2. 2. The data processing device according to claim 1, wherein the demand forecasting unit forecasts future demand for the plurality of products from each of the plurality of vending machines using a learning model created by machine learning using attribute data of each of the plurality of vending machines and daily sales histories of the plurality of products from each of the plurality of vending machines.

3. The visit schedule creation unit a visiting equipment selection unit that selects a plurality of vending machines to visit for each of a plurality of future days based on the prediction results by the demand prediction unit; an allocation unit that allocates the plurality of routemen to the plurality of vending machines to be visited, selected by the visit equipment selection unit, based on routeman data including work data of the plurality of routemen for each of the plurality of future days; a visiting route creation unit that creates a visiting route to the plurality of vending machines assigned by the assignment unit for each of the plurality of route men; 2. The data processing apparatus of claim 1, comprising:

4. 4. The data processing device according to claim 3, wherein the visiting equipment selection unit calculates, for each of the plurality of vending machines, a value obtained by subtracting a cumulative sales opportunity loss from the start date from a cumulative profit from the start date for the plurality of days from the start date to the end date based on the prediction results by the demand prediction unit, determines the day on which the calculated value is greatest as a candidate visiting date, and selects a plurality of vending machines to visit for each of the plurality of days based on the determination results.

5. 5. The data processing device according to claim 4, wherein the visiting equipment selection unit selects a plurality of vending machines to visit for each of the plurality of days further based on rules indicating days on which the vending machines can be visited and days on which the vending machines cannot be visited.

6. a configuration data creation unit that creates, based on the prediction results by the demand prediction unit, product configuration data that indicates a product configuration for maximizing profits for each of the plurality of vending machines; The data processing apparatus according to claim 1 , further comprising:

7. The configuration data creation unit a candidate product identification unit that identifies, for each of the plurality of vending machines, a plurality of candidate products to be allocated to the vending machine from the plurality of products based on the prediction results of the plurality of products by the demand prediction unit; a selection unit that selects, for each of the plurality of vending machines, a combination of a plurality of products to be allocated to a plurality of columns of the vending machine from the plurality of candidate products identified by the candidate product identification unit; 7. The data processing apparatus of claim 6, comprising:

8. 8. The data processing device according to claim 7, wherein the candidate product identification unit identifies the plurality of candidate products further based on data on business-restricted products, including products designated to be allocated to the vending machine and products designated as allocation ratios to a plurality of vending machines.

9. 8. The data processing device according to claim 7, wherein the selection unit selects, for each of the plurality of vending machines, for each of a plurality of combinations of a plurality of products to be assigned to the plurality of columns of the vending machine, of the plurality of candidate products identified by the candidate product identification unit, a combination that maximizes a value obtained by subtracting the cost of visiting the vending machine if the combination is realized from the selling price of each of the plurality of products included in the combination and the profit calculated from the predicted sales number identified from the prediction result by the demand forecasting unit for each of the plurality of products.

10. The data processing device according to claim 9 , wherein the plurality of combinations include variations in which each of the plurality of products is assigned to the plurality of columns of the vending machine.

11. The data processing device according to claim 9 , wherein the plurality of combinations includes a variation in which one type of product is assigned to a plurality of columns.

12. 1. A computer-implemented data processing method comprising: a demand forecasting step of forecasting future demand for each of the plurality of products from each of the plurality of vending machines based on daily sales history of the plurality of products from each of the plurality of vending machines; a visit plan creation step of creating a visit plan to the plurality of vending machines based on the prediction results in the demand prediction step; A data processing method comprising:

13. A program for causing a computer to execute the data processing method according to claim 12.

Citation Information

Patent Citations

  • Apparatus and method for supporting operation of vending machine, and program

    JP2010128816A

  • Support system, support program and control method

    JP2022055828A

  • Information processing device, information processing method, and program

    JP2022148344A

  • Vending machine operation assistance method, device and system using vending machine sales data analysis

    KR102614789B1