I just spent 15m on Amazon trying to prod the recommendation algorithm into finding something I actually wanted to buy so I could get above the "free delivery threshold".
Think about that. I wanted to spend money. I wasn't too fussy what it was. Amazon has a decade of my purchasing and browsing history.
Amazon infuriates me. I regularly buy gadget-y bits like electronic components and peripherals. Probably at least once a month. Never see adverts for similar.
That ONE TIME I buy a unicorn dress for my 2 year old daughter? That's a lifetime of unicorn related merchandise adverts and recommendations for you!
Actually that's really interesting because it exposes a bias in their recommendation system. They must be heavily biased towards things with mass appeal instead of specifically targeting user preferences, which is funny because it goes against the grain of the whole "targeted advertising" promise of ML. You'd think if anyone could get that right, it would be Amazon, yet..
It's not impossible for that to be a clever decision by Amazon (although I'm not saying it's likely, I have no idea about the numbers).
The ultimate goal of the advertising is return on investment, not making you feel interested in the adverts. If, to exaggerate the possibility, 100% of "people who look at tech" are 0% influenced by adverts, but 10% of "people who bought a unicorn thing" will go on to buy another if they're constantly reminded that whoever they bought it for likes unicorns, all of a sudden it would make sense despite being counterintuitive to viewers.
A more commonly discussed example of a similar thing is that it's easy to think "I just bought a (dishwasher, keyboard, etc), I obviously already have one so why am I seeing adverts for them?" Sure, it might be that the company responsible has an incomplete profile and doesn't know you bought one already. But it's also possible that the % of people who just bought the item and then decide they don't like it, return it and buy a different type is high enough to be worth advertising to them.
This is basically what comes from a mindset increasingly common among ML practitioners of abdicating thinking and assuming "the machine will find what features are important". They throw a junkyard full of features at the algorithm (or even worse automated feature generation). These days at least once a fortnight I get the opportunity to show folks how if only they thought for 10-15 mins or simply charted their data in a few different cuts before modeling, how much better they could have done :-)
I suspect Amazon has learned that some feature labels are easy to recognize and correlate (dress color, size, style, etc) and others are hard and lead to useless results (an electronic device's: computer, format, port type, protocol, etc).
So they gave up trying to match CPU with GPU and went back to connecting beer to diapers.
Ha. Last time I wanted to buy something on Amazon, their search page kept freezing every time I load it: 100% CPU load. Because I really wanted to buy that thing, I spent 30 mins debugging their silly scripts and found one for-loop that tries to find a non-existent element. Unfortunately, I couldn't figure out a way to enable my fix in a minified script, as reloading the page kept loading the original script.
Think about that. I wanted to spend money. I wasn't too fussy what it was. Amazon has a decade of my purchasing and browsing history.
And they still failed.