Customer personalization control unit, system, and method

A control unit in online shopping platforms uses customer purchase history and statistical models to categorize products and predict individual tendencies, addressing the lack of personalization in existing systems by displaying relevant products, thereby enhancing customer engagement.

JP7785658B2Active Publication Date: 2025-12-15OCADO INNOVATION LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2022210063
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2018-02-09
Filing Date
2022-12-27
Publication Date
2025-12-15
Estimated Expiration
2039-02-08

AI Technical Summary

Technical Problem

Existing online shopping platforms fail to personalize product displays effectively, often showing popular items rather than products relevant to individual customer preferences, leading to a suboptimal shopping experience.

Method used

A control unit that communicates with product and customer databases to categorize products based on purchase history and calculate probabilities of underbuying or overbuying specific categories, using statistical models to tailor product displays to individual customer tendencies.

Benefits of technology

Enhances personalization by displaying relevant products, improving customer engagement and satisfaction by aligning product recommendations with individual purchasing habits.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007785658000003
    Figure 0007785658000003
  • Figure 0007785658000004
    Figure 0007785658000004
  • Figure 0007785658000005
    Figure 0007785658000005
Patent Text Reader

Abstract

To provide an apparatus and method for a web shop in which products displayed to a customer are related to the customer's purchasing habits. [Solution] The control unit 100 communicates with a product information database 200, a product category database 300 and a customer purchase history database 400, and includes a product categorization unit that generates at least one product category based on product information in the product information database and stores the generated at least one product category in the product category database, and a calculation unit configured to calculate the probability that a customer is an underbuyer / overbuyer of a certain type of product based on the customer's purchase history stored in the customer purchase history database and at least one product category from the product category database.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001]

[0001] This application claims priority to UK Patent Application No. 1802110.5 filed on 9 February 2018, the entire contents of which are incorporated herein by reference.

[0002] FIELD OF THE INVENTION

[0002] The present invention relates generally to the field of electronic commerce, and more particularly to an apparatus and method for providing customers with a more personalized online experience. [Background technology]

[0003]

[0003] The use of the Internet to conduct electronic commerce is well known. Many retailers now advertise and sell products online. A wide variety of products are available for purchase online, including items electronically delivered to buyers via the Internet, such as music. Similarly, physical products, such as books, can be ordered online and delivered through traditional delivery means. Businesses typically set up an electronic version of a catalog listing available products, which is hosted on a server computer system. Customers can browse the catalog using an Internet browser and / or a mobile application on a smartphone and select various items for purchase. Once the customer has selected the items to purchase, the server computer system then prompts the customer for information to complete the product order. This buyer-specific order information may include the buyer's name, the buyer's credit card number, and the order's shipping address. The server computer system then typically confirms the order by sending a confirmation web page / mobile application page to the client computer system and schedules the product for shipment.

[0004]

[0004] The selection of various items from an electronic catalog is typically based on a virtual shopping basket model. When a buyer selects an item from the electronic catalog, a server computer system figuratively adds the item to a virtual shopping basket. Once the buyer has finished selecting the items, all items in the shopping basket are then "checked out" (i.e., ordered), at which point the buyer provides billing and shipping information. In some models, when the buyer selects any one item, the item is then "checked out" by automatically prompting the customer for billing and shipping information.

[0005]

[0005] It is common to prominently display in a catalog those products in the catalog that are most purchased by other customers, thereby encouraging customers currently visiting an online webshop to purchase the same products. However, this level of personalization, while tailoring the product display to a customer population, is poor at personalizing the product display to customers who are not interested in the products selected by the population. Summary of the Invention

[0006]

[0006] In view of the problems in known webshops, the present invention aims to provide an apparatus and method for a webshop in which the products displayed to a customer are relevant to the customer's purchasing habits.

[0007]

[0007] Generally speaking, the present invention introduces to each customer the equivalent of an ideal small-town, attentive store owner experience by displaying only or first the products that are relevant to the customer.

[0008]

[0008] According to the present invention, there is provided a control unit configured to communicate with a product information database, a product category database, and a customer purchase history database. The control unit includes a product categorization unit configured to generate at least one product category based on product information in the product information database and store the generated at least one product category in the product category database. The control unit further includes a calculation unit configured to calculate a probability that a customer is an underbuyer / overbuyer of a product in a certain category based on the customer's purchase history stored in the customer purchase history database and at least one product category from the product category database.

[0009]

[0009] There is also provided a system comprising a product information database, a product category database, a customer purchase history database, and the aforementioned control unit.

[0010]

[0010] A method for controlling a system configured to communicate with a product information database, a product category database, and a customer purchase history database is also provided. The method includes generating at least one product category based on product information in the product information database and storing the generated at least one product category in the product category database. The method further includes calculating a probability that a customer is an underbuyer / overbuyer of products in a category based on the customer's purchase history stored in the customer purchase history database and the product categories from the product category database.

[0011]

[0011] Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings in which like reference numerals designate the same or corresponding parts, and in which: [Brief explanation of the drawings]

[0012] [Figure 1]1 is a schematic diagram of a control unit and components of a larger system according to a first embodiment. [Figure 2] This is a graph showing how the choice of Prior affects the calculated probability. [Figure 3] 1 is a graph showing how the propensity to order a product relates to the number of orders, along with the determined threshold used to determine whether a customer is a purchaser / non-purchaser of the product. [Figure 4] 3 is a flow chart illustrating the steps employed in a method for controlling a control unit according to a first embodiment of the present invention; Detailed Description of the Embodiments

[0013] First embodiment 1 shows a control unit 100 according to a first embodiment of the present invention. In this embodiment, the control unit 100 is configured to communicate with several databases. More specifically, the control unit 100 is configured to communicate with a product information database 200, a product category database 300, and a customer purchase history database 400. Optionally, the control unit 100 may be configured to communicate with a customer preference database 500.

[0014]

[0014] The product information database 200 is configured to store various data related to products sold in the online shop 600. For example, the product information database 200 may store at least one of product ingredients, product names, product information listed on product labels, tags / information assigned to products by product manufacturers, and tags / information assigned to products by product resellers and / or distributors.

[0015] For example, if the product is a food product, a list of ingredients listed on the product's label may be stored in the database. Additionally, the manufacturer / reseller / distributor may store other information related to the product, which may or may not be listed on the product's label, but with which the product is tagged. For example, whether the product is gluten-free, suitable for vegetarians, or kosher. As will be appreciated, various other types of product information may also be stored in product information database 200. Additionally or alternatively, product information database 200 may store information derived from past sales, such as the product's life expectancy, price, speed, performance, rating, etc.

[0016] The product category database 300 stores product categories that the control unit 100 determines from the information stored in the product information database 200. For example, the control unit may determine several categories that apply to a product, such as "meat," "pet," "baby," etc. Thus, the product category database 300 stores, for each product, any category assigned to that product. As described below, the control unit 100 uses the product information to determine the relevant category for the product. The inventors envision that several different categories will be determined depending on the customer and the product being sold, as well as depending on the reseller and / or distributor. For example, there may be further categories such as "gluten-free," "organic," "meat substitute," "baby," "alcohol," "premium," "vegan," etc.

[0017] The customer purchase history database 400 is configured to store information about each customer and the products they have purchased over a predetermined period of time, such as the past six months. As described below, the customer purchase history is used by the control unit 100 to determine the probability, relative to the customer population, that a customer will be an underbuyer / overbuyer of a particular category of product in an upcoming order.

[0018] Optionally, a customer preference database 500 is provided. The customer preference database 500 is configured to store information provided directly by the customers themselves regarding products in categories that the customers prefer. For example, the online shop 600 may directly ask questions of the customers via a web page and / or a mobile application screen, such as asking whether the customers consume meat. The answers provided by the customers are stored in the customer preference database 500 and can be used by the control unit 100 to refine the calculated probabilities.

[0019]

[0019] The online shop 600 provides a catalog of products that can be selected and / or purchased by customers visiting the online shop 600. The online shop 600 may utilize any number of different means to allow customers to browse and / or purchase products. A typical example includes a web page that can be visited from a web browser on a desktop / laptop computer. Additionally, the online shop 600 may provide a similar experience on a mobile device, such as a smartphone / tablet, either through a web page and / or a mobile application specifically designed for the mobile device. As will be appreciated, any number of other technologies (e.g., personal assistants, virtual personal assistants, voice-activated devices, etc.) may be utilized to enable customers to browse and / or purchase products from the catalog.

[0020]

[0020] With particular reference to the control unit 100, the control unit 100 of the first embodiment of the present invention is configured to categorize products based on product information stored in the product information database 200. The control unit 100 is further configured to calculate a probability as to whether a customer is an underbuyer / overbuyer of products in a particular category based on the product category together with the customer's purchase history stored in the customer purchase history database 400.

[0021]

[0021] More specifically, the control unit 100 includes a product categorization unit 101 and a calculation unit 102. Optionally, the control unit 100 may include a training unit 103 and a thresholding unit 104.

[0022] The product categorization unit 101 is configured to receive product information from the product information database 200, generate at least one product category for each product based on the product information, and then store the generated at least one product category in the product category database 300. More specifically, the product categorization unit 101 may utilize at least one of the product's ingredients, the product name, the product information listed on the product's label, tags / information assigned to the product by the product's manufacturer, and tags / information assigned to the product by the product's reseller and / or distributor in determining the product category. In this regard, the present inventors have found that tags / information assigned by manufacturers / resellers / distributors are typically not accurate enough to be used for product categorization. For example, a manufacturer / reseller / distributor may categorize a product as suitable for vegetarians even when the product contains a meat-derived gelatin product. Therefore, the present inventors utilize the product categorization unit 101 to more accurately categorize products, for example, by including ingredient information in the category determination.

[0023]

[0023] Furthermore, meat products, such as beef steak, do not necessarily include an ingredient list because such products are only one type of product. Thus, the product categorization unit 101 may utilize the name of the product in the category and, for example, categorize the product as "meat." For products that include more than one ingredient, such as meat pizza, the product categorization unit 101 may categorize the product as "meat" based on ingredients that list meat products, such as "ham" or "chicken," which the product categorization unit 101 uses as an indicator that a meat product is present and therefore categorizes the product as "meat." In a further example, a product may be categorized as "meat" if it is not categorized as "pet" or "baby" and if its ingredients include meat words such as "pork," "beef," and "chicken," but do not include "chicken-like."

[0024]

[0024] The above meat words or other words that indicate each category may be explicitly provided by a human / business expert, or may be learned automatically through the use of techniques such as natural language processing, such as by looking at the history of categories in the product category database 300 and product information database 200 and learning which keywords are over-indexing within those categories and therefore representative of the categories.

[0025] As will be appreciated, any number of categories may be used depending on the type of customer and the online shop 600 being serviced. In this description, the categories of "meat," "pets," and "baby" are used merely as examples.

[0026] An example such as "baby" nicely illustrates the functionality of the product categorization unit 101. For example, baby food would not be nicely categorized as "baby" by just looking at the ingredients, because none of the ingredients specifically indicate that it is baby food. Therefore, in one advantageous example, the product categorization unit 101 may utilize at least two types of product information stored in the product information database 200. In this example, the baby food name may be "Tiny Tots." This allows the product categorization unit 101 to identify words in the name of the baby food that indicate baby food, more specifically "Tiny Tots," as being indicative of the baby category.

[0027] The inventors have advantageously found that the operations performed by the product categorization unit 101 can be performed “offline,” i.e., separately from the particular customer placing the order. In this way, regardless of the product ordered by the customer, the categories in the product category database 300 can be stored without requiring customer interaction. Furthermore, once the list of categories in the product category database 300 is formed, the categories do not need to be changed unless the product or category changes. The inventors envision an online retailer having the product categorization unit 101 categorize all products based on the product information stored in the product information database 200. Thereafter, the product categorization unit 101 only needs to recategorize products that change in some way, for example, by changing ingredients. Furthermore, the product category unit 101 categorizes new products that have recently been added to the product information database 200.

[0028]

[0028] The control unit 100 also includes a calculation unit 102 configured to use at least one category generated by the product categorization unit 101 and the customer purchase history to calculate the probability that a customer is an underbuyer / overbuyer of a product in a certain category. Alternatively, the probability may represent that the customer is a purchaser / non-purchaser of a product in a certain category. To achieve this, the calculation unit 102 may utilize a statistical probability distribution. The inventors have found it advantageous to calculate the probability using a Beta Negative Binomial distribution. As an example, when determining the probability that a customer is an underbuyer of a product in a certain category, the Beta Negative Binomial distribution is calculated based on a given prior and the number of successes (in this case, orders that do not have any of the target products) and failures (orders that have the target product) in customer orders for a predetermined period stored in the customer purchase history 400, thereby calculating the probability that there will be no failures in the next n orders, where n is a predetermined number of future orders. Thus, the probability indicates that the customer will underbuy the product in the next n orders. This allows a range of customers with different probabilities to be calculated.

[0029]

[0029] Given the Prior settings for each category and the sequence of all orders for each customer over time period p, the probability that the customer will underbuy / overbuy from each category in the next n orders is calculated.

[0030]

[0030] The terminology relied upon is as follows: Prior, which is related to the initial probability and learning rate. The probability of being an underbuyer / overbuyer for a new customer with no ordering history is given by this prior. For example, initially, a new customer will be considered a "meat" buyer, and as the customer places further orders, if they purchase meat at least once in every five orders, then they are a meat buyer. p, the time period considered as history. It is important to tune the system to avoid overfitting attributes for very frequent customers and fast-changing attributes (such as the "baby" category). An example could be all orders from the past six months. ·n relates to the number of future orders to predict, e.g. predict the next 4 orders.

[0031] The mathematics of this calculation in this example relies on P(No Buy|Prior, n) and is as follows:

[0032]

number

[0033]

[0032] The inventors have found an advantageous approach when a customer has m orders in a given number of months of customer orders stored in the customer purchase history 400. In other words, m is the minimum number of orders in a given time period for the probability to be an accurate representation of the customer's purchasing preferences. Thus, if a customer does not have m orders in a given time period, the customer can be considered a purchaser of products in that category with the same probability as the population of customers. In this way, new customers or customers who do not order regularly are treated like the population when there is not enough information to categorize the customer as an underbuyer / overbuyer.

[0034]

[0033] The calculated probability depends on the Prior used. Prior is the initial probability and the learning rate. The probability of not purchasing for a new customer (without history) is given by this prior. For example, initially, a new customer will be considered a "meat" buyer, and when the customer places further orders, if the customer purchases meat at least once in every five orders, the Prior setting the learning rate will cause the customer to be categorized as a meat buyer. In particular, new customers (e.g., customers with less than five orders) are considered meat buyers because there is not enough information available to determine whether the customer is not a meat buyer or whether the customer simply does not intend to purchase meat from the online shop 600. Therefore, the initial probability of not purchasing should be very small. Intuitively, customers who purchase meat less than once in every five orders should be considered "underbuyers," which can be represented as "Prior(1,5)."

[0035]

[0034] The inventors also considered other priors besides the aforementioned Prior(1,5). In particular, Figure 2 shows how the probability of not purchasing meat in the next four orders, for example, varies with the number of orders with meat and the selected Prior. The inventors considered different priors and found that "Prior(1,10)" resulted in roughly half the learning speed of "Prior(1,5)" (approximately 1 / 10 vs. approximately 1 / 5). "Prior(1,1)" provides an initial probability of about 50% for new customers with a fast learning rate. "Prior(8.56,89.84)" was tested, and since customer data showed that about 4% of established customers did not purchase meat within six months, as well as about 15% of new customers, the estimated parameters of the model can be selected so that the probability of being an underbuyer is between 4 and 15%. However, Prior(8.56,89.84) learns too slowly (a customer who places 30 orders, all without meat, only has about a 5% chance of being an underbuyer), while Prior(1,1) learns faster (a customer who places 10 orders without meat already has about an 80% chance of not buying meat in the next 4 orders). All probabilities (except the last one) decrease relatively quickly once the customer buys meat. Other examples of Prior are Bayes: Beta(1,1), Jefferies: Beta(0.5,0.5) and Beta(1,2).

[0036]

[0035] Furthermore, relying on customer purchase history information from a predetermined time period allows the calculated probabilities to react to changing customer behavior; for example, a customer labeled as an overbuyer of baby products is expected not to have always been an overbuyer of such products, and is also expected to cease to be an overbuyer as their infant grows.

[0037]

[0036] The above calculation of probability may also include information from the customer preference database 500, which is information provided by customers of their particular preferences regarding being underbuyers / overbuyers of products in the category. In this way, customer preferences can be incorporated into the probability calculation.

[0038]

[0037] The inventors envision that the probabilities may be calculated "offline," for example, once a week, to accurately reflect the changing purchasing habits of customers. Alternatively, the probabilities may be calculated during the customer's shopping experience at the online shop 600.

[0039] 1 , the control unit 100 may optionally further comprise a training unit 103. The training unit 103 is configured to receive the calculated probabilities for each customer from the calculation unit 102. The training unit 103 is further configured to train a model based on the calculated probabilities. In one non-limiting example, the model is a logistic regression model. Alternatively, other models, such as random forests, may be used. Furthermore, the training unit 103 is configured to use the model, once trained, to calculate a tendency for a customer to be an underbuyer / overbuyer of products in a certain category based on the calculated probabilities of the calculation unit 102. In this way, a wider range of tendency between 0 and 1 is calculated.

[0040]

[0039] Advantageously, the use of a model allows more than one feature to be used as input to the model. For example, the probability that a customer will not purchase a product of a particular category can be one of many features input to the model, such as customer information such as the total number of orders in the customer purchase history database 400, how long the customer has been shopping at the online shop 600, and even trends for other attributes can be incorporated into the model. Furthermore, the calculated probabilities for all customers typically span a short range through the use of a model, and a well-distributed range of values ​​between 0 and 1 can be generated to provide further resolution on the customer's likely tendency to be an underbuyer / overbuyer of a product of a certain category.

[0041]

[0040] The training unit 103, in this example, can be configured to train a model using the calculated probability of a customer not purchasing a product of a particular category. To achieve this, the training unit 103 is configured to have the calculation unit 102 calculate the probability that, given a customer's purchase history over a time period p, the customer will not purchase a particular product in n subsequent orders after that time period, where p and n are predetermined numbers. The actual products purchased in the n subsequent orders are then compared with the calculated probability to check whether the customer purchased the product. This is called ground truth, which does not directly relate to the truth, as the customer may have purchased this once or by mistake, but relates to the actual event as it happened.

[0042]

[0041] A model is then trained based on the ground truth and, in a non-limiting example, the calculated probabilities. The model is thereby trained to distinguish between the ground truth and the probability that a customer will not purchase a product in that category, and optionally other features. In a further non-limiting example, different types of models are trained using different prior events, different n, and different time windows, thereby comparing the performance of each model.

[0043] In this manner, the training unit 103 may be configured to select the best model to use, where selecting may comprise selecting the best prior event, the best value of n, and / or the best value for the time window, whereby the training unit 103 may be configured to automatically select the best model based on the category and the needs of the manufacturer / retailer.

[0044]

[0043] Thus, the training unit 103 is configured to calculate the tendency of a customer to be an underbuyer / overbuyer of products in a certain category using the model, the probability that the customer is an underbuyer / overbuyer of products in a certain category, and optionally other features.

[0045]

[0044] Optionally, the control unit 100 may further comprise a thresholding unit 104 configured to determine a threshold to be applied to the model to determine whether a customer is a purchaser / non-purchaser of a product of a certain category.

[0046]

[0045] In particular, in one non-limiting example, the thresholding unit 104 is configured to examine the information applied to the model and calculate a measure for all possible thresholds. In particular, in this example, the measure is a balance between correctly detecting underbuyers (precision) and detecting all customers who did not purchase (recall), with the first being twice as important as the second. The inventors have found it advantageous to use a measure named "F0.5", which is calculated as follows:

[0047]

number

[0048] In one example, the best threshold is the one that separates purchasers from non-purchasers and maximizes F0.5, however, other measures may be used depending on the attribute and / or retailer and / or application.

[0049]

[0047] The model trained as described above is used on an independent test group of customers to automatically categorize customers into buyers and non-buyers based on probability and optionally other features. The predictions are then compared to the ground truth for that test.

[0050]

[0048] A probability threshold is then automatically selected as the one that results in the best separation of customers (best balance between precision and recall). For example, if B and NB are "purchasers" and "non-purchasers" respectively, the threshold can be tested against the following factors: Accuracy - overall correct predictions Precision - is what is predicted to be NB actually NB? Recall - were all actual NBs predicted? False NB rate - how many real Bs were miscategorized? · Predicted NB% - What percentage of customers will be categorized as NB?

[0051] Optionally, the thresholding unit 104 may be further configured to compare the models, thresholds, etc. by using the models and the calculated thresholds, thereby testing the models on the test data. Thereafter, the thresholding unit 104 may be configured to select the model having the Prior, n, time window, and threshold that gives the best result. Thus, the thresholding unit 104 is configured to determine whether a customer is a purchaser / non-purchaser of a product of a certain category by applying the determined threshold to the model trained in the training unit 103.

[0052] FIG. 3 illustrates one example of the use of a threshold by the thresholding unit 104. The graph in FIG. 3 shows the relationship between the number of orders N and a customer's propensity to purchase / not purchase a product of a certain category. The example shown in FIG. 3 is calculated using Prior(1,1) to predict a customer's next four orders (n=4), where the minimum number of orders over a six-month time window (p=6 months) is six orders (m=6). The threshold determined by the thresholding unit 104 is a propensity of 25.86%, shown by the dashed line on the graph. Therefore, customers with a propensity lower than this threshold are determined to be non-purchasers of meat in this example. Conversely, customers with a propensity of 25.86% or higher are determined to be purchasers of meat. It should be understood that the use of "meat" is an example, and any of the attributes disclosed above may be used instead. Furthermore, in this example, values ​​lower than the threshold are determined to be non-purchasers. It should be understood that customers with a propensity lower than the threshold may be determined to be purchasers of a product of a certain category. Similarly, customers with propensities above a threshold may instead be determined to be non-buyers of a category of products. There may also be multiple thresholds, depending on business needs and judgment, for example, to distinguish customers who are underbuyers from prospective purchasers and overbuyers.

[0053]

[0051] Therefore, the training unit 103 and the thresholding unit 104 are optionally provided to train the model and determine an appropriate threshold for the model. Once the model is trained with the determined threshold, the training unit 103 can utilize the model to calculate a customer's tendency to purchase fewer / more products of a certain category. The threshold unit 104 can determine whether a customer is a purchaser / non-purchaser of a certain category of products. Therefore, the model and threshold are typically determined only once for a certain category of products. The model can be used to generate a customer tendency for the products of the category; for example, the customer tendency can be calculated every time a customer shops at the online store 600 or can be automatically generated offline once a week. The threshold can then be used to separate purchasers from non-purchasers.

[0054] However, the model and thresholds may be redetermined after a predetermined period of time (e.g., after two years) to better reflect any changes in the purchasing habits of the customer population. For example, if it is known that the population is shifting toward healthier foods, customer purchasing habits may change.

[0055]

[0053] Thus, the control unit 100 provides, based on the customer's product purchasing history, at least one category applied to at least one product, whether the customer is likely to purchase less / more of the product in that category. Optionally, as described above, probabilities may be used in the model, thereby providing more resolution of the customer's purchasing habits. Optionally, the model is thresholded to provide distinct categories for whether the customer will or will not purchase products in a certain category.

[0056] The online shop 600 is configured to receive the output of the control unit 100 and use the information to sort / add / remove products from the catalog of products provided to the customer. For example, if the output of the control unit 100 is a thresholded result indicating that the customer is a non-purchaser of meat products, the online shop 600 may be configured to remove or demote products that are meat and / or contain meat from the catalog displayed to the customer. Similarly, if the customer is indicated as a meat purchaser, the online shop 600 may be configured to add more meat products to the catalog than would normally be displayed. Similarly, if the online shop 600 receives a probability and / or tendency for the customer to purchase fewer / more meat products, the online shop 600 may be configured to sort products in the catalog based on the probability / proneness. In this way, meat products are displayed more prominently to customers who are more likely to purchase meat products, while meat products are less likely to be displayed to customers with a lower probability / proneness.

[0057]

[0055] Furthermore, the inventors envision other uses for the calculated probabilities / trends. For example, the probabilities / trends can be used by the online shop 600 to determine which advertisements / banners should be displayed to particular customers. In this way, the customer's experience is improved because the advertisements / banners are more relevant to the customer, and their effectiveness is improved because the advertisements / banners are more targeted. Additionally or alternatively, the probabilities / trends may be used when sending advertising communications with promotions to customers (e.g., promotional emails), since the promotions can be automatically targeted to relevant customers.

[0058] In this way, the majority of customers who purchase more or less of a particular category of products than the typical customer are better served. For example, customers who purchase baby products or customers who do not purchase meat. Displaying these products or media related to these products to customers who are not interested in these products alienates the customer, wastes the opportunity to display related products, and generally fails to live up to the ideal of a small-town, attentive store owner experience. Furthermore, as customer preferences change, the control unit 100 described above is configured to learn / unlearn the customer's changing preferences at an appropriate rate.

[0059] 4 is a flowchart of a method S400 according to a first embodiment of the present invention for controlling a system configured to communicate with a product information database, a product category database, and a customer purchase history database.

[0060] In step S401, method S400 generates at least one product category based on the product information in the product information database. In this regard, step S401 is configured to utilize the product information to determine an appropriate category for the product. A range of information, such as information provided on the product label or in documentation provided (physically or electronically) with the product, may be used in this determination. Furthermore, step S401 may rely on category notification provided by at least one of the manufacturer, reseller, or distributor. For example, for a bottle of whiskey, the category generated may be "alcohol." To generate such a category, step S401 may rely on ingredients listed on the bottle, which may indicate the alcohol content of the whiskey bottle. Additionally or alternatively, the product name on the label may indicate a well-known whiskey brand, and thus the product may be categorized based solely on the product name. Additionally or alternatively, the manufacturer / reseller / distributor may include, with the whiskey bottle, a data sheet indicating the nature of the alcohol, which may be used to categorize the product. As will be appreciated, "alcohol" can be one of many different categories of products that are used to categorize it.

[0061]

[0059] In step S402, the generated at least one product category is stored in the product category database 300. In this step, the product category is stored in the product category database 300 together with a product indication for cross-referencing with products purchased by the customer, and recorded in the customer purchase history database 400. In this way, the categories of products purchased by the customer over a predetermined time period can be ascertained based on the categories stored in the product category database 300.

[0062] In step S403, the probability that the customer is an underbuyer / overbuyer of a product in a certain category is calculated. The probability is calculated based on the customer's purchase history stored in the customer purchase history database and the product category from the product category database. This step S403 calculates the probability that the customer is an underbuyer / overbuyer of a product in a certain category by cross-referencing the products purchased by the customer over a predetermined time period with the product's category stored in the product category database 300. More specifically, step S403 may use a probability distribution such as a beta negative binomial distribution to calculate the probability that the customer is an underbuyer / overbuyer of a product in a certain category. Furthermore, the probability calculation is performed for each category used by the method. For example, if the categories "alcohol," "baby," and "meat" are used to categorize customers, the customer's purchase history is used for each category to determine whether the customer is an underbuyer / overbuyer of each product in the categories represented by "alcohol," "baby," and "meat."

[0063]

[0061] The calculation of the probability depends on the selected prior event and information from the customer purchase history regarding the number of times orders have been placed for products in the category and the number of times orders have been placed without products in the category. The probability is calculated as a prediction for the next predetermined number of orders, for example the next four orders. New customers do not have enough order history to provide accurate probability results, so we assume that the probability for new customers without the minimum number of orders is set to an underbuyer / overbuyer level according to the normal probability for the customer population.

[0064] Optionally, the method S400 may further comprise communicating with a customer preference database 500 and calculating the probability based on the customer's purchase history stored in the customer purchase history database, the customer's product preferences stored in the customer preference database, and the product categories from the product category database. In this way, the customer preferences explicitly set by the customer are used in calculating the probability.

[0065] Optionally, method S400 may further comprise a training step, in which a model is trained based on the calculated probabilities. For example, the model may be a logistic regression model, which is used to generate a more uniform distribution between 0 and 1 of customers' propensity to purchase products of a particular category. Furthermore, other factors besides the probability that a customer is an underbuyer / overbuyer can be utilized in the model. Furthermore, the training step may further comprise calculating, based on the trained model and the calculated probabilities, the propensity of a customer to be an underbuyer / overbuyer of products of a certain category.

[0066] Optionally, the method S400 may further comprise a thresholding step configured to determine a threshold to be applied to the model to determine whether a customer is an underbuyer / overbuyer and / or a purchaser / non-purchaser of a product of a certain category. In this way, by having the thresholding step apply a threshold to the model, distinct categories can be applied to customers, which may be useful in the webshop 600 to select whether to include / exclude products from display in a catalog of products.

[0067]

[0065] Based on at least one of the probability / tendency of the customer to be an underbuyer / overbuyer of products in a certain category and / or whether the customer is a purchaser / non-purchaser of products in a certain category, the online shop 600 may be configured to add / remove / sort products for display to the customer.

[0068] Modifications and Variations

[0066] Many modifications and variations can be made to the above-described embodiments without departing from the scope of the present invention.

[0069] Although the first embodiment is provided with a product category database 300, such a feature is not always necessary. Instead, the control unit 100 may comprise a storage unit configured to store product categories based on product information. In this way, storage in a device external to the control unit 100 is avoided. Instead, the product categorization unit 101 may be configured to categorize products based on product information stored in the product information database 200 and communicate the product categories directly to the calculation unit 102.

[0070]

[0068] In a further non-limiting example, the control unit 100 may further comprise a refinement unit. The refinement unit is configured to use information in the customer purchase history database 400 to refine the list of products to be categorized by the product categorization unit 101. In particular, the inventors have found that products that are purchased in equal proportions by both underbuyers / non-purchasers and overbuyers / purchasers are best excluded from categorization by the product categorization unit 101. For example, the inventors have found that underbuyers and overbuyers of products categorized as "meat substitutes" are equally likely to purchase the product "miso soup" (the product "miso soup" is likely to be categorized as a "meat substitute"). Similarly, the product "yogurt" (likely to be categorized as "organic") was equally likely to be purchased by underbuyers and overbuyers of products categorized as "organic". Similarly, the product "baby wipes" (likely categorized as "baby") is purchased by all customers, not just those who are overbuyers of the category "baby."

[0071]

[0069] Furthermore, the control unit 100 may further comprise a correlation unit configured to correlate products. For example, given some products having a certain category, the correlation unit is configured to find other products that are purchased by overbuyers of the certain category and not purchased by underbuyers of the certain category, and add the other products to the category.

[0072] For example, the product "tofu" may not be categorized as a "meat substitute." However, the correlation unit may utilize the customer purchase history stored in the customer purchase history database 400 to identify a proportion of customers who have a relatively high probability / propensity for "meat substitute" products (and are therefore overbuyers) who also purchase "tofu" with a substantially higher probability / propensity than the proportion of underbuyers who purchase "tofu." In this example, the "meat substitute" product correlates with the product "tofu" because overbuyers of "meat substitute" products also purchase "tofu." Therefore, the correlation unit is configured to add the product "tofu" to the "meat substitute" category.

[0073]

[0071] Advantageously, the operations of the refinement unit and correlation unit can be performed offline and only once for a particular manufacturer / retailer.

[0074] Additionally, the inventors envision that real-time calculation of categories may be advantageous. For example, a short-term category of a customer's probability / tendency to be an underbuyer / overbuyer may recognize short periods of being an underbuyer / overbuyer. For example, a customer who is indicated as an underbuyer of baby products may also be shopping for baby shower gifts. Thus, it is envisioned that the first embodiment may be modified to notice otherwise anomalous shopping behavior (e.g., searching for baby products) and treat the customer at least to some extent as if they were an overbuyer of baby products during that shopping session.

[0075] Additionally or alternatively, the first embodiment described above may use “embeddings” (also called “word embeddings”) to determine product similarity. In this regard, “embeddings” may be referred to as “product embeddings” in this context. Product embeddings assign each product a mathematical vector of a predetermined length; for example, a cucumber may be represented as [1.0, -0.9, 7.0], i.e., a vector of real numbers. Such representations have many advantages, especially when used in machine learning. In particular, product embeddings enable easier definition of similar and complementary products, which helps better discover relationships between products. Furthermore, they enable the discovery of patterns in customer behavior and understanding the contents of customers' shopping baskets. In this way, products are mathematically embedded from a space with one dimension per product into a continuous vector space with lower dimensions.

[0076]

[0074] In particular, the product categorization unit may be configured to determine at least one similarity between information about a product stored in the product information database and information about at least one other product stored in the product information database based on the product embedding. For example, each product may be assigned a mathematical vector (the mathematical vector is stored in the product information database), and the similarity between the products may be determined based on the stored mathematical vector. In this way, the products may be grouped into categories based on the product embedding.

[0077] Examples of software that can be used for product embedding are "word2vec" and / or "doc2vec." Word2vec provides efficient estimation of working representations in vector space, while doc2vec provides distributed representations of sentences and documents.

[0078] The foregoing description of embodiments of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations can be made without departing from the spirit and scope of the invention. The inventions described in the claims of the present application as originally filed are set forth below. [C1] a control unit configured to communicate with a product information database, a product category database, and a customer purchase history database; a product categorization unit configured to generate at least one product category based on product information in the product information database and store the generated at least one product category in the product category database; a calculation unit configured to calculate a probability that the customer is an underbuyer / overbuyer of a product of a certain category based on the customer's purchase history stored in the customer purchase history database and the at least one product category from the product category database; and A control unit comprising: [C2] The product categorization unit is stored in the product information database. The product ingredients and Product name and product information listed on the label of said product; information about the product provided by the manufacturer of the product; and Information about such products provided by resellers and / or distributors of such products The control unit of C1, configured to generate at least one product category based on at least one of: [C3] 3. The control unit of claim 1 or 2, wherein the customer purchase history database is configured to store a customer's purchase history over a predetermined period of time. [C4] The control unit of any one of claims C1 to C3, wherein the control unit is further configured to communicate with a customer preference database, and the calculation unit is configured to calculate a probability that the customer is an underbuyer / overbuyer of a product based on the customer's purchase history stored in the customer purchase history database, the customer's preferences stored in the customer preference database, and the at least one product category from the product category database. [C5] The control unit of any one of claims C1 to C4, wherein the calculation unit is configured to calculate the probability when predicting customer behavior over a predetermined time period using a beta negative binomial distribution based on predetermined prior events and the number of successes and failures. [C6] The control unit of any one of C1 to C5, wherein the calculated probabilities are configured to predict customer behavior for a predetermined time period. [C7] The control unit of any one of C1 to C6, further comprising a training unit configured to train a model based on the calculated probability and to calculate a tendency of a customer to be an underbuyer / overbuyer of a product of a certain category based on the model. [C8] The control unit of C7, wherein the model is a logistic regression model. [C9] The control unit of C7 or 8, further comprising a thresholding unit configured to determine a threshold to be applied to the model, and to determine whether the customer is a purchaser / non-purchaser of a product of a certain category based on the threshold and the model. [C10] A product information database and Product category database and a customer purchase history database; A control unit according to any one of C1 to C9, A system comprising: [C11] Further equipped with a customer preference database, The system, wherein the control unit is as described in C4. [C12] The system further comprises an online shop configured to add / remove / sort products for the customer based on the output of the control unit. [C13] 1. A method for controlling a system configured to communicate with a product information database, a product category database, and a customer purchase history database, comprising: generating at least one product category based on the product information in the product information database; storing the generated at least one product category in the product category database; calculating a probability that the customer is an underbuyer / overbuyer of a product in a certain category based on the customer's purchase history stored in the customer purchase history database and the at least one product category from the product category database; A method comprising the step of: [C14] The generating step includes: The product ingredients and Product name and product information listed on the label of said product; information about the product provided by the manufacturer of the product; and Information about such products provided by resellers and / or distributors of such products The method according to C13, wherein the method is carried out based on at least one of the following: [C15] The method of any one of C13 and C14, wherein the customer purchase history database is configured to store a customer's purchase history over a predetermined period of time. [C16] The method comprises: communicating with a customer preference database; calculating a probability that the customer is an underbuyer / overbuyer of a product in a certain category based on the customer's purchase history stored in the customer purchase history database, the customer's preferences stored in the customer preference database, and the at least one product category from the product category database; The method according to any one of C13 to C15, further comprising the step of: [C17] The method comprises: Calculating the probability of predicting customer behavior over a predetermined time period using a beta negative binomial distribution based on predetermined prior events and the number of successes and failures. The method according to any one of C13 to C16, further comprising the step of: [C18] The method of any one of C13 to C17, wherein the calculated probabilities are configured to predict customer behavior for a predetermined time period. [C19] The method comprises: training a model based on the calculated probabilities; Calculating the tendency of a customer to be an underbuyer / overbuyer of a product category based on the model; The method according to any one of C13 to C18, further comprising the step of: [C20] The method of C19, wherein the model is a logistic regression model. [C21] The method comprises: determining a threshold to be applied to the model; determining whether the customer is a purchaser / non-purchaser of a product of a certain category based on the threshold value and the model; The method of C19 or 20, further comprising the step of: [C22] Adding / removing / sorting products for customers in an online shop based on the output of the control unit The method according to any one of C13 to C21, further comprising the step of:

Claims

1. a control unit configured to communicate with a product information database, a product category database, and a customer purchase history database; a product categorization unit configured to generate at least one product category based on product information from the product information database and store the generated at least one product category in the product category database; a calculation unit configured to calculate a probability that the customer is an underbuyer / overbuyer of products in a certain category based on the customer's purchase history stored in the customer purchase history database and the at least one product category from the product category database, wherein the calculation unit calculates the probability that the customer is an underbuyer / overbuyer of products in the category by cross-referencing products purchased by the customer over a predetermined time period with the categories of the products stored in the product category database; A control unit comprising:

2. The product categorization unit is stored in the product information database. The product ingredients and Product name and product information listed on the label of said product; Information about the product provided by the manufacturer of the product; or Information about such products provided by resellers and / or distributors of such products The control unit of claim 1 , configured to generate at least one product category based on at least one or more of:

3. 10. The control unit of claim 1 in combination with the customer purchase history database configured to store a customer's purchase history over a predetermined period of time.

4. 2. The control unit of claim 1, wherein the control unit is configured in combination with a customer preference database to communicate with the customer preference database, and the calculation unit is configured to calculate a probability that the customer is an underbuyer / overbuyer of a product based on the customer's purchase history stored in the customer purchase history database, the customer's preferences stored in the customer preference database, and at least one product category from a product category database.

5. 2. The control unit of claim 1, wherein the calculation unit is configured to calculate the probability using a beta negative binomial distribution based on predetermined prior events and a number of successes and failures when predicting customer behavior over a predetermined time period.

6. The control unit of claim 1 , wherein the calculated probabilities are configured to predict customer behavior for a predetermined time period.

7. A product information database and Product category database and a customer purchase history database; The control unit according to claim 1; A system that combines the above.

8. Equipped with a customer preference database, 8. The system of claim 7, wherein the control unit is configured to communicate with the customer preference database, and the calculation unit is configured to calculate a probability that the customer is an underbuyer / overbuyer of a product based on the customer's purchase history stored in the customer purchase history database, the customer's preferences stored in the customer preference database, and at least one product category from the product category database.

9. 10. The system of claim 7, comprising an online shop configured to add / remove / sort products for a customer based on the output of the control unit.

10. 1. A method for controlling a system configured to communicate with a product information database, a product category database, and a customer purchase history database, comprising: generating at least one product category based on the product information in the product information database; storing the generated at least one product category in the product category database; calculating a probability that the customer is an underbuyer / overbuyer of products in a category based on the customer's purchase history stored in the customer purchase history database and the at least one product category from the product category database, wherein said calculating comprises calculating a probability that the customer is an underbuyer / overbuyer of products in the category by cross-referencing products purchased by the customer over a predetermined time period with the categories of the products stored in the product category database; A method comprising:

11. The generating step includes storing the product information in the product information database. The product ingredients and Product name and product information listed on the label of said product; Information about the product provided by the manufacturer of the product; or Information about such products provided by resellers and / or distributors of such products The method of claim 10 , wherein the method is performed based on at least one of the following:

12. The method of claim 10, comprising storing a customer's purchase history over a predetermined period of time in the customer purchase history database.

13. communicating with a customer preference database; 11. The method of claim 10, further comprising: calculating a probability that the customer is an underbuyer / overbuyer of products in a category based on the customer's purchase history stored in the customer purchase history database, the customer's preferences stored in the customer preference database, and the at least one product category from the product category database.

14. 11. The method of claim 10, comprising calculating the probability using a beta negative binomial distribution based on predetermined prior events and a number of successes and failures in predicting customer behavior over a predetermined time period.

15. The method of claim 10 , wherein the calculated probabilities are configured to predict customer behavior for a predetermined time period.

16. 11. The method of claim 10, comprising adding / removing / sorting products for the customer in the online shop based on the output of the control unit.

Citation Information

Patent Citations

  • Information determination method and information determination device

    CN107437200A

  • Improvement of targeted incentives based upon predicted behavior

    JP2008077662A

  • Sales forecast system and sales forecast method

    JP2015041121A

  • Information processing device, information processing method, and program

    JP2016045642A

  • Method, program, and server device for transmitting product related information

    JP2017107569A