Store-specific recommendation engine
AssigneeCloudtags, Inc.
InventorEric Carlyle
Life of this patent
Estimating the term…
Abstract
Systems herein allow a store to make store-specific product recommendations to customers who are in the store. The system builds a graph database of relationships between products based on sales data, such as invoices. The relationships are stored as edges with store-specific edge values. Store similarities are determined by a genetic algorithm that creates a candidate solution that includes an array of weights for each store, representing that store's similarity with the other stores. The system includes a recommendation engine that receives a recommendation request identifying a target store and a target product. Based on that, the corresponding edges are retrieved, the edge values are weighted based on the candidate solution, and the highest-weighted connected products are recommended.
Claims20
A non-transitory, computer-readable medium containing instructions executed by at least one processor to perform stages for configuring user devices in a classroom, the stages comprising:
- receiving sales data and a product feed;
- building a graph database with nodes that represent products and edges that represent relationships between the products, wherein different edges are created for different stores, and the edges include edge values that indicate the strength of relationship between two products for the respective stores, wherein the edges associate with store identifiers;
- determining a top candidate solution with a genetic algorithm, the top candidate solution including weights that represent sales commonality of a first store relative to a plurality of other stores;
- receiving a product recommendation request from a computing device, the product recommendation request specifying a target store identifier and a target product identifier, wherein the target store identifier corresponds to the first store;
- identifying a first node associate with the target product identifier and retrieving the edges associated with the first node, the edges being associated with connected products;
- manipulating the edge values of the retrieved edges based on the weights of the top candidate solution, wherein the weights are applied to the edge values based on common store identifiers between the edge values and the weights;
- removing at least one of the connected products based on availability at a first store associated with the store identifier;
- ranking the connected products based on manipulated edge values;
- and
- returning a result that includes the top-ranked remaining connected product.
A method for configuring user devices in a classroom, comprising:
- receiving sales data and a product feed;
- building a graph database with nodes that represent products and edges that represent relationships between the products, wherein different edges are created for different stores, and the edges include edge values that indicate the strength of relationship between two products for the respective stores, wherein the edges associate with store identifiers;
- determining a top candidate solution with a genetic algorithm, the top candidate solution including weights that represent sales commonality of a first store relative to a plurality of other stores;
- receiving a product recommendation request from a computing device, the product recommendation request specifying a target store identifier and a target product identifier, wherein the target store identifier corresponds to the first store;
- identifying a first node associate with the target product identifier and retrieving the edges associated with the first node, the edges being associated with connected products;
- manipulating the edge values of the retrieved edges based on the weights of the top candidate solution, wherein the weights are applied to the edge values based on common store identifiers between the edge values and the weights;
- removing at least one of the connected products based on availability at a first store associated with the store identifier;
- ranking the connected products based on manipulated edge values;
- and
- returning a result that includes the top-ranked remaining connected product.
A system for making store-specific product recommendations, comprising:
- a recommendation server that receives a product recommendation request from a computing device, the product recommendation request specifying a store identifier and a target product identifier, wherein the recommendation server comprises a processor;
- a graph database with nodes that represent products and separate edges for different stores, wherein the edges include weight values that indicate the strength of relationship between two products for the respective stores, wherein the edges associate with store identifiers;
- and
- a recommendation engine that executes on the recommendation server, the recommendation engine performing stages comprising:
- building the graph database based on sales data and a product feed received by the recommendation server;
- determining a top candidate solution with a genetic algorithm, the top candidate solution including weights that represent sales commonality of a first store relative to a plurality of other stores;
- receiving the product recommendation request from the computing device, the product recommendation request specifying a target store identifier and a target product identifier, wherein the target store identifier corresponds to the first store;
- identifying a first node associate with the target product identifier and retrieving the edges associated with the first node, the edges being associated with connected products;
- manipulating the edge values of the retrieved edges based on the weights of the top candidate solution, wherein the weights are applied to the edge values based on common store identifiers between the edge values and the weights;
- removing at least one of the connected products based on availability at a first store associated with the store identifier;
- ranking the connected products based on manipulated edge values;
- and
- returning a result that includes the top-ranked remaining connected product.
Dependencies are inferred from the claim text.