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.