Aspects and embodiments of this application are depicted in the figures, wherein:
This disclosure is not limited to the particular systems, devices and methods described, as these may vary. The terminology used in the description is for the purpose of describing the particular versions or embodiments only and is not intended to limit the scope of the disclosure.
The following terms shall have, for the purposes of this application, the respective meanings set forth below. Unless otherwise defined, all technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art. Nothing in this disclosure is to be construed as an admission that the embodiments described in this disclosure are not entitled to antedate such disclosure by virtue of prior invention.
As used herein, the term “need state” refers to a group of items that represent a unique customer need. For example, a shopper may generally only purchase a single salty snack in a single shopping trip but may vary between potato chips, corn chips, and pretzels on varying trips. A “need state” may be based on a single customer or any plurality of customers (e.g., all shoppers at a given storefront or shoppers between the ages of 35 and 45). A “need state” may include one or more potential similar, or substitution, items. A customer may have a preferred choice item of the one or more substitution items.
As used herein, the term “shopping mission” means a singular trip to one or more stores or a single online checkout. A “shopping mission” may comprise one or more need states of an associated customer. For example, a first customer may plan a shopping mission to purchase milk and eggs, while a second customer plans a shopping mission to restock their entire pantry. Though many embodiments may reference a physical storefront, one of ordinary skill in the art will recognize that the systems and methods described herein may be similarly applicable to an online store.
As used herein, the term “basket” refers to shopping basket comprising the items purchased on a specific shopping mission.
As used herein, the singular forms “a,” “an,” “the,” and “said,” ect. include plural references unless the context clearly dictates otherwise. Thus, for example, reference to a “cell” is a reference to one or more cells and equivalents thereof known to those skilled in the art, and so forth.
As used herein, the term “about” means plus or minus 10% of the numerical value of the number with which it is being used. Therefore, about 50 mm means in the range of 45 mm to 55 mm.
As used herein, the term “consists of” or “consisting of” means that the device or method includes only the elements, steps, or ingredients specifically recited in the particular claimed embodiment or claim.
In embodiments or claims where the term “comprising” is used as the transition phrase, such embodiments can also be envisioned with replacement of the term “comprising” with the terms “consisting of” or “consisting essentially of.”
As will be understood by one skilled in the art, for any and all purposes, such as in terms of providing a written description, all ranges disclosed herein are intended as encompassing each intervening value between the upper and lower limit of that range and any other stated or intervening value in that stated range. All ranges disclosed herein also encompass any and all possible subranges and combinations of subranges thereof. Any listed range can be easily recognized as sufficiently describing and enabling the same range being broken down into at least equal halves, thirds, quarters, fifths, tenths, et cetera. As a non-limiting example, each range discussed herein can be readily broken down into a lower third, middle third and upper third, et cetera. As will also be understood by one skilled in the art, all language such as “up to,” “at least,” and the like include the number recited and refer to ranges that can be subsequently broken down into subranges as discussed above. Finally, as will be understood by one skilled in the art, a range includes each individual member. Thus, for example, a group having 1-3 components refers to groups having 1, 2, or 3 components as well as the range of values greater than or equal to 1 component and less than or equal to 3 components. Similarly, a group having 1-5 components refers to groups having 1, 2, 3, 4, or 5 components, as well as the range of values greater than or equal to 1 component and less than or equal to 5 components, and so forth.
In addition, even if a specific number is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the recited number (for example, the bare recitation of “two recitations,” without other modifiers, means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, et cetera” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (for example, “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, et cetera). In those instances where a convention analogous to “at least one of A, B, or C, et cetera” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (for example, “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, et cetera). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, sample embodiments, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.”
In addition, where features of the disclosure are described in terms of Markush groups, those skilled in the art will recognize that the disclosure is also thereby described in terms of any individual member or subgroup of members of the Markush group.
While the present disclosure has been illustrated by the description of exemplary embodiments thereof, and while the embodiments have been described in certain detail, the Applicant does not intend to restrict or in any way limit the scope of the appended claims to such detail. Additional advantages and modifications will readily appear to those skilled in the art. Therefore, the disclosure in its broader aspects is not limited to any of the specific details, representative devices and methods, and/or illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or scope of the Applicant's general inventive concept.
Typical methods of analyzing and presenting products, in a retail environment, rely on broad product categorization centered on branding. Branding, though important to the consumer, does not fully encapsulate the consumer decision-making process. Current methods for consumer-centric product categorization may only incorporate information generated from surveys. Surveys may suffer from issues of reliability and validity. Systems and methods are needed for capturing the consumer decision-making process and need states to better inform product presentation.
Referring to
In certain embodiments, the purchase history information may catalog one or more purchased items. In some embodiments, the purchased items may be encoded in the purchase history information. In further embodiments, the purchased items may be referenced via stock-keeping units (SKUs). An SKU is a number that may be used to differentiate products and/or track inventory. Products may be assigned different SKU numbers based on various characteristics such as, but not limited to: price, manufacturer, color, style, type, or size, or any combination thereof. An SKU may be generated using an SKU generator. An SKU may be read using a scanner (e.g., a barcode reader or RFID reader). In some embodiments, the purchase history information may associate each purchased item with a shopping episode. As an example, the information from each receipt may be stored in a database. In some embodiments, the purchase history information may associate each purchased item or shopping episode with a customer. In further embodiments, the information may include a customer identifier derived from a payment method (e.g., a credit or debit card) or a loyalty program. In some embodiments, the purchase history information may include demographic information associated with the customer. In some embodiments, the purchase history information may include additional information associated with the purchase, including at least one of a date, time, and purchase location. In some embodiments, the purchase information may include additional information associated with each of the purchased items including at least one of a price, a margin, or a discount status.
In certain embodiments, the method 100 may include transforming the purchase history information into a matrix of observed substitutions 102. Briefly referring to
In certain embodiments, multiple matrices 200 may be produced in batches. In some embodiments, a batch may include 32 entries. In some embodiments, positive parings may be prioritized for inclusion in a batch. In some embodiments, a sampling method may be employed to select negative parings. In further embodiments, the sampling method may be log uniform sampling such that more popular items are sampled more frequently. In some embodiments, multiple batches may be generated through the transformations described herein. In further embodiments, a specified number of batches may be generated.
In certain embodiments, the matrix 200 may be stored as a matrix. In other embodiments, the matrix 200 may be stored as a series of arrays representing the target items 201, context items 202, and labels 203. A person of ordinary skill in the art will recognize that the matrix could be stored and reduced in multiple manners.
In certain embodiments, the method 100 may include training a neural network to generate item embedding 103. Embeddings (e.g., vector representations of items) can transform something with a large number of dimensions (e.g., whether or not an item is one of many thousands of possibilities) to a smaller number (e.g., 100 numbers, where the similarity between items has real-world meaning). In some embodiments, the neural network is trained on the observed substitutions matrix 200. The neural network may be trained to predict the likelihood of a target item and a context item being substitutes. Briefly referring to
In certain embodiments, the machine learning algorithm 300 may converge the target embedding 304 and context embedding 305 to similar values when the items are positive pairs. In some embodiments, the machine learning algorithm 300 may diverge the target embedding 304 and context embedding 305 to distant values when the items are negative pairs. As an example, Customer A may frequently purchase one of a variety of healthy crackers, and one of a variety of potato chips together in a shopping episode. Customer B may frequency purchase just one of either a cracker or potato chip in a shopping episode. As a result, the neural network may closely converge the embedding values for each type of healthy cracker, and each type of potato chips, while less closely converging the embedding values for the healthy crackers and the potato chips.
In certain embodiments, training the machine learning algorithm 300 may include determining a similarity between the target embedding 304 and the context embedding 305. In some embodiments, determining a similarity may include calculating a cosine similarity 303 between the target embedding 304 and the context embedding 305. Embeddings which are very close may have a cosine similarly close to 1.
In certain embodiments, training the machine learning algorithm 300 may include classifying the context item 307 as a substitute of the target item 306. In some embodiments, the classifier may transform the similarity value into a probability that the context item 307 is a substitute of the target item 306. In further embodiments, the classifier may include a threshold or function for mapping the probability to a classification. In some embodiments, the classifier may be a sigmoid function 302.
In certain embodiments, the classified value may be compared to the label 301 to optimize the machine learning algorithm 300. In some embodiments, a loss function may be used to optimize the algorithm 300. In further embodiments, the loss function may be a binary cross entropy loss function. A person of ordinary skill in the art will recognize that alternative similarity metrics, classifiers, and/or optimization functions may define an embedding vector space with similar properties.
Referring to
Referring to
Referring to
In certain embodiments, clustering may be performed on a set of similarity data, such as a similarity matrix, to determine need states. As a need state defines a set of items fitting a specific customer need (e.g., the items are substitutions), a need state may cross brands and price points. In some embodiments, the clustering model may be hierarchical clustering.
In certain embodiments, a set of similarity data, such as a similarity matrix, may be used to generate a customer decision tree. A customer decision tree may depict the decisions an average customer makes in choosing an item from a set of similar items in a tiered manner based on the similarity of the items. In some embodiments, a customer decision tree may illustrate item similarity through a dendrogram. In some embodiments, need states may be derived from the customer decision tree. In further embodiments, deriving need states from the customer decision tree may include determining a threshold difference in similarity between items. In other embodiments, needs states may be derived by a clustering model. In some embodiments, need states may be derived from a hierarchal tier threshold in the customer decision tree.
The systems and methods described herein may provide useful metrics for managing one or more storefronts. As an example, need states may be used to optimize product placement and spacing in a store to aid in or promote certain customer decisions. In other examples, need states may be applied to improve the personalization and optimization of offers and promotions.
In most stores, items can be predominantly arranged by brand.
Need states may be used to improve offer personalization. A personalized offer may comprise generating a personalized digital marketing message. Digital marketing message may be transmitted through emails, SMS messages, webpages, applications, and phone calls. A system for generating marketing messaging is disclosed in U.S. Provisional Application No. 63/362,351. Such systems may filter or sort a series of items based on one or more attributes. A need state may be used as an attribute in said system. As a filter, need states may be used to automatically identify conflicting items in a message. For example, a customized message may be generated to market 10 products to a consumer. In the process of identifying the 10 items, the system may rank all items based on a set of rules. The system may then filter out any redundant items with the same need state. In other words, if the third and sixth highest ranked items were both in the need state “thin crust pizza,” the sixth ranked item may be omitted from the list. As a sorting element, need states may be able to identify substitutions to items a consumer generally buys. For example, for a consumer that buys a specific brand item in the “thin crust pizza” need state commonly, a message may be generated which highlights that an alternative “thin crust pizza” brand is on sale this week or simply offer an alternative with a higher margin to the retailer.
Additionally, need states may simplify the processing required to identify items. Instead of sorting each SKU in a database, a system may evaluate a smaller set of need states. The personalized message may either recommend the need state itself, or one or more items within the need state. Purchase information associated with a need state may be stored in a database or derived from information associated with individual items. For example, a system may track the time since a customer bought a product in a need state.
Needs states may be used to optimize promotions. Promotions may be scheduled and generated based on interaction with a brand and/or the consumer. An issue with current methods of generating promotions is cannibalization of sales market (i.e., multiple products in similar spaces competing in the same promotional window). For example, a store may choose to not feature promotions for multiple items of the same need state in a marketing message, like a flyer. The store may set a time interval before featuring another item of the same need state again. In another example, a retail chain may inform a brand of scheduled promotions in the same need state to aid in scheduling the brand's promotion.
The system can identify whether there are excessive and/or inadequate items in a range of items from the density of items within a need state. For example, the system can analyze if there many items within the need state or only a few and/or one item. If a need state features many items, market share can be spread between the similar items within the need state. For example, if an Asian market sells 25 different types of Korean noodles that are very similar, customers are likely buying a random type of noodle. Thus, the store could cut down from 25 to 2 or 3, and customers may not care. If a need state only features a few items, a store can add an additional item, such as a home brand, to the need state. The system can identify an average amount of items per need state across all need states to provide a threshold for excessive and/or inadequate items in a need state. The average can be normalized based on the number of sales and/or average margin of the need state.
The system can also identify exclusivity and/or market share of an item based on sales and the density of items within a need state.
The system can identify pricing optimizations for items within a need state. Changes to pricing of an item within a need state can affect sales of other items within the need state. For example, if item A within a need state is on sale, item A may sell more units, while item B, within the same need state sells less. The system can find the optimal price for an item (e.g., a home brand) to maximize margin and sales within a need state. It should be noted that an extensive price change may cause an item to change need states.
Referring to
Referring to
Example functions are provided for illustrative purposes. The definition of a function is provided which can transform purchase history information into training data:
A function is provided which can generate embeddings:
The definition of a function is provided which can determine similarity between items:
The definition of a function is provided which can generate a similarity matrix:
The definition of a function is provided which can generate need states and a customer decision tree:
In some aspects, the techniques described herein relate to a computer-implemented method of identifying item substitutions including: collecting purchase history information, wherein the purchase history information includes one or more shopping episodes from one or more customers, wherein each shopping episode includes one or more purchased items; transforming the purchase history information into a matrix of observed substitutions; training a neural network on the matrix of observed substitutions to generate item embeddings; receiving input including an item; identifying a substitution similarity between the item and another item based on the item embeddings.
In some aspects, the techniques described herein relate to a computer-implemented method, wherein each item embedding corresponds to an item transformed into a vector within an n-dimensional space.
In some aspects, the techniques described herein relate to a computer-implemented method, wherein the item embeddings define a vector space configured such that items that are closer in the vector space are observed substitutions.
In some aspects, the techniques described herein relate to a computer-implemented method, wherein transforming the purchase history information into a matrix of observed substitutions further includes: creating a set of paired items; and qualifying the paired items on whether the paired of items were both bought by one of the one or more customers in different shopping episodes.
In some aspects, the techniques described herein relate to a computer-implemented method, further including qualifying the paired items as never purchased in the same shopping episode.
In some aspects, the techniques described herein relate to a computer-implemented method, wherein the set includes samples of more popular items more frequently.
In some aspects, the techniques described herein relate to a computer-implemented method, wherein identifying a substitution similarly between the item and another item based on the item embeddings further includes calculating a cosine similarity between the item and a potential substitution.
In some aspects, the techniques described herein relate to a computer-implemented method, further including generating a similarity matrix including the similarity between all items.
In some aspects, the techniques described herein relate to a computer-implemented method, further including generating a dendrogram, based on the similarity matrix, configured to represent a categorization of items based on decisions made by the one or more customers.
In some aspects, the techniques described herein relate to a computer-implemented method, further including clustering the similarity matrix to generate one or more customer need states.
In some aspects, the techniques described herein relate to a computer-implemented method, further including: receiving information associated with one or more spacings of a store; and determining an optimal item allocation within the one or more spacings based on the customer need states.
In some aspects, the techniques described herein relate to a computer-implemented method, further including: receiving information associated with the layout of a store; and determining an optimal item arrangement within a layout based on the customer need states.
In some aspects, the techniques described herein relate to a computer-implemented method, wherein training on the neural network on the matrix of observed substitutions to generate item embeddings further includes: iteratively converging a first item embedding and a second item embedding, responsive to the second item being observed as a substitute for the first item.
In some aspects, the techniques described herein relate to a computer-implemented method, further including initializing the first item embedding and second item embedding as a random value.
In some aspects, the techniques described herein relate to a computer-implemented method, further including automatically generating a customized marketing message based on the purchase history information and the purchased items' need states.
In some aspects, the techniques described herein relate to a computer-implemented method, further including determining an item density within a need state and identifying a range of items to be sold based on the item density.
In some aspects, the techniques described herein relate to a computer-implemented method, wherein the one or more purchased items are identified via a Stock Keeping Unit (SKU).
In some aspects, the techniques described herein relate to a computer-implemented method, further comprising accepting SKU information using a scanner.
In some aspects, the techniques described herein relate to a computer-implemented method, further comprising accepting need state information associated with one or more products, and customer information associated with a customer and historical customers, transforming the need state information and customer information into standardized attribute information, wherein the standardized attribute information comprises attributes associated with each of the one or more need states, storing the standardized attribute information; defining a message recipe based on the presence of a subset of the one or more attributes, ranking the one or more need states based on subset of the one or more attributes, defining a message action based on message and a message template, selecting one or more products based on the ranking of the one more need states, automatically generating a message comprising the message action and at least one of the one or more products, and transmitting the message to the customer over the network.
A controller 1120 interfaces with one or more optional memory devices 1125 via the system bus 601. These memory devices 1125 may include, for example, an external or internal DVD drive, a CD ROM drive, a hard drive, flash memory, a USB drive or the like. As indicated previously, these various drives and controllers are optional devices. Additionally, the memory devices 1125 may be configured to include individual files for storing any software modules or instructions, data, common files, or one or more databases for storing data.
Program instructions, software or interactive modules for performing any of the functional steps described above may be stored in the ROM 1110 and/or the RAM 1115. Optionally, the program instructions may be stored on a tangible computer-readable medium such as a compact disk, a digital disk, flash memory, a memory card, a USB drive, an optical disc storage medium, such as a Blu-ray™ disc, and/or other recording medium.
An optional display interface 1130 can permit information from the bus 1101 to be displayed on the display 1135 in audio, visual, graphic or alphanumeric format. Communication with external devices can occur using various communication ports 1140. An exemplary communication port 1140 can be attached to a communications network, such as the Internet or a local area network.
The hardware can also include an interface 1145 which allows for receipt of data from input devices such as a keyboard 1150 or other input device 1155 such as a mouse, a joystick, a touch screen, a remote control, a pointing device, a video input device and/or an audio input device.
In the above detailed description, reference is made to the accompanying drawings, which form a part hereof. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the present disclosure are not meant to be limiting. Other embodiments may be used, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. It will be readily understood that various features of the present disclosure, as generally described herein, and illustrated in the Figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are explicitly contemplated herein.
The present disclosure is not to be limited in terms of the particular embodiments described in this application, which are intended as illustrations of various features.
Instead, this application is intended to cover any variations, uses, or adaptations of the present teachings and use its general principles. Further, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which these teachings pertain. Many modifications and variations can be made to the particular embodiments described without departing from the spirit and scope of the present disclosure as will be apparent to those skilled in the art. Functionally equivalent methods and apparatuses within the scope of the disclosure, in addition to those enumerated herein, will be apparent to those skilled in the art from the foregoing descriptions. It is to be understood that this disclosure is not limited to particular methods, reagents, compounds, compositions or biological systems, which can, of course, vary. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting.
While various embodiments have been described above, it should be understood that they have been presented by way of example and not limitation. It will be apparent to persons skilled in the relevant art(s) that various changes in form and detail can be made therein without departing from the spirit and scope. In fact, after reading the above description, it will be apparent to one skilled in the relevant art(s) how to implement alternative embodiments. For example, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other implementations are within the scope of the following claims.
Finally, it is the applicant's intent that only claims that include the express language “means for” or “step for” be interpreted under 35 U.S.C. 112(f). Claims that do not expressly include the phrase “means for” or “step for” are not to be interpreted under 35 U.S.C. 112(f).
This application is a continuation-in-part of U.S. patent application Ser. No. 17/514,434 filed Oct. 29, 2021, entitled “SYSTEMS AND METHODS FOR USING SKU VECTOR INFORMATION,” which is a continuation of U.S. patent application Ser. No. 17/015,863 filed Sep. 9, 2020, which claims priority to U.S. Provisional Application No. 63/003,527 filed Apr. 1, 2020. This application also claims priority to U.S. Provisional Application No. 63/362,351, filed Apr. 1, 2022, entitled “SYSTEMS FOR GENERATING INDIVIDUALIZED MESSAGING USING STOCK-KEEPING UNITS,” and U.S. Provisional Application No. 63/362,274, filed Mar. 31, 2022, entitled “METHODS FOR ANALYZING AND PREDICTING CUSTOMER BEHAVIOR.” The entirety of each is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
63003527 | Apr 2020 | US | |
63362351 | Apr 2022 | US | |
63362274 | Mar 2022 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17015863 | Sep 2020 | US |
Child | 17514434 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17514434 | Oct 2021 | US |
Child | 17806385 | US |