Tips on this learning to rank type problem?

I feel like there is a method to do this, and I’m failing to find it; let me give you an example (it’s not my real case by an example that’s quite similar).

Let’s say I own a shop and sell 100 different kinds of watches, and I want to rank them from best to worst based on customer usage after they purchase them.

Let’s say I have 10,000 customers, and each customer owns some of these watches, some 1, usually, something like 3-7, and some own all 100. Exact subsets differ from customer to customer.

And let’s say I have perfect data:

  • For each day, I know which customer owns what subset of watches. These subsets go up when they buy more watches
  • I have data on what watch from that subset each customer wears each day
  • Each day each customer can decide to keep wearing the same watch or decide to switch to own of the watches they own.
  • Let’s assume that each day customers wear one of my watches (i.e. ignore other watches or days when they don’t wear it).

So based on this usage, I want to create a score that’s updated at some cadence that will rank my watches from the best to the worst in terms of usage. The algorithm has to account for which subsets each customer has because a customer that chooses from a set of two is different than one that chooses from 100. Ideally, when customer changes from one to another, it should have a higher impact on the score than when they keep wearing the same one.

Any hints are appreciated!

Hello @irakli.eth according to my understanding of your question I would suggest you try Recommender Systems If you think they can solve this problem you can check out this course by DeepLearning.AI Let me know if it helps you

1 Like