0

We're starting to look into a problem at work that effectively boils down to the following problem:

Let's say I have red people and blue people arriving at a store. Red people are eligible to buy products A and B, and blue people are eligible to buy products B and C. Products A, B, and C have different prices associated with them (p_A, p_B, p_C) and I have different inventories of each product (i_A, i_B, i_C).

I'm trying to start looking into algorithms that can help me optimally decide, when a new red or blue person shows up, what product to show them. If the products that red people and blue people were eligible for were distinct (that is, they aren't eligible for any of the same products) then the problem would be simple, but the fact that they're both eligible for product B (in this very simplified example) complicates the setup a bit, and means that my likelihood to show a new person product B should depend on what consumers have previously come through the store and been shown.

I don't have much experience in any sort of operations research type algorithmic work. It may be that this problem is a variant of a multi-choice knapsack problem, but am hoping to get some input from folks more experienced with this kind of work on what a good approach might be. Thanks for any help.

Here's a picture of the setup for the more visually inclined. visual of the setup

Moderat
  • 1,462
  • 4
  • 17
  • 21
  • Recommendations for off-site resources like reading materials are explicitly off-topic per the [help]. – jonrsharpe Dec 06 '20 at 23:26
  • Will you be showing that blue person only one of B or C? If so, what is the criteria for your deciding which? Perhaps inventory? – Rick James Dec 07 '20 at 00:08
  • @RickJames yes, we will be showing the blue person only one of B or C. And I believe the criteria would depend on some combination of: the relative prices of A, B, and C and the inventory left of A, B, and C as well as forecasted number of blue and red visitors – Moderat Dec 07 '20 at 00:18
  • What is the metric that can be used to compare two algorithms? – Rick James Dec 07 '20 at 06:50
  • @RickJames total profit - under one routing algorithm, we would make $X from sales of products A, B, and C, and under another routing algorithm, we may make $Y from sales of products A, B, and C. Whichever routing algorithm results in a greater $ number aka more products sold would be the better algorithm. – Moderat Dec 10 '20 at 16:46
  • If the problem instance is not big (few customers and products), you could also consider to use simulation. Each time a customer arrives, calculate a metric by weighting price, inventory left, and forecast that you use to decide which product is displayed. Then run the simulation as long as you wish, check the results, and do it again for other weights and/or another forecast technique until you have a feeling what works well. – Christian Feb 08 '21 at 08:55

0 Answers0