Everybody in sales and marketing talks about chat bots and recommender systems. In general it’s more like pure bullshit bingo by people who don’t know jack. However, I suspect that most people who build recommender systems have no idea what the fuck they are doing.

I question everything. I really enjoy scrutinizing statistical and numerical models. Hence, let’s have a look at recommender systems. Why? Because they are super fucking annoying once it comes to things outside movie recommendations and similar applications. “Best of” recommendations I came accross in the last 10+ years:

  • Buying light bolts (LEDs) and receiving recommendations for candles. Really?
  • Buying boots for ice climbing and receiving more recommendations for ice climbing boots. Seriously? That stuff should last for 5 - 10 years of (heavy) usage (perhaps replacement of soles is needed).
  • Buying condoms and get a recommendation of pregnancy tests. Really? If we buy condoms, then pregnancy tests (or medical abortion pills) are probably the last items we want to see in the “customers who bought this also bought…” section. This leaves us with only two options: 1. the product is not trustworthy or too difficult to use for most customers which in this case would tell us more about the shops customers than about the product quality… .
  • Buying a new alarm clock and receiving recommendations for fire extinguishing gear. Buying If we want to buy a new alarm clock and a fire extinguisher is shown as the recommended product to buy with it, then I doubt that we’ll survive. I could understand the recommendation if it would have been about buying a fire detector.
  • Buying white (indoor wall) paint and receiving enough recommendations for additional white paint to paint probably all apartments inside a skyscraper… .

I could add a lot more things to this list but it is enough. Let’s try to understand why these things happen.

My best guesses are:

  1. “Fundamentals of data science” courses cover movie recommendation exercises.
  2. A really bad problem understanding.
  3. A good portion of people working in the profession of data science and machine learning have absolutely no idea what the fuck they are doing.
  4. Really bad requirements in terms what have to be build (customers demand non-sense models and are resistant to advice).

What can we do about this?

There is hardly any we can do about point number 4 despite trying it again and again. To my mind, points 1 - 3 cover are more or less the same. I looked at quite many tutorials and courses on building recommender systems. I couldn’t find a single one that questions what we are building a recommender system for. Most courses divide the problem into two approaches:

  1. recommend similar products
  2. recommend what other users bought (before? after? together?)

To my mind, we divide the problem into three sub problems:

  1. recommending similar products because customers want to try something new but similar (e.g. chocolate or coffee)
  2. recommending products that are used in series yes, that is a time series problem (e.g. carpet removal tools -> new paint -> new furniture -> new dishes or light bolts)
  3. not recommending products that contradict each other (e.g. condoms and pregnancy tests, or mold removal and stronger mold removal)

I haven’t seen approaches for production usage so far that incorporate some reasoning.