In the last couple of years, we have all witnessed the rise of new technology – Artificial Intelligence, or as we in Price2Spy prefer to call it: Machine Learning (ML).
The whole concept was new to us, none of the Price2Spy development crew had any experience with it – but we sensed that it had huge potential, and we were eager to learn.
After a couple of months of courses and theoretical introductions – we asked ourselves – how can we apply ML in everyday Price2Spy operations?
We had several candidate-projects, but one of them was our favorite from the very start – Product Matching.
Not because it was an easy win. On the contrary, it was the hardest ML problem we could think of – but our clients needed it very badly. That meant we needed it as well.
Product matching is an essential part of Price2Spy’s services. To put it simply, with no product matching our client wouldn’t be able to perform any kind of price comparison.
So far, we’ve had 3 ways of how products can be matched:
A) Automatch – fully automated process, applicable when client’s products (and products listed on competitor sites) have something we call ‘unique identifier’ – this can be EAN, UPC, ASIN – or in most general case MPN (Manufacturer Part Number). As you may guess, this method is not always applicable
B) Manual product matching – since humans are performing the matching – it’s always applicable. However, in case a client has 100 000s of products and he wants results real fast – this can be a problem – manual matching is simply not cost-effective enough, nor can it be done at the snap of a finger.
C) Hybrid product matching – is a combination of A) and B) – Automatch provides candidate-matches (which are not reliable enough to be trusted automatically), and humans check if these matches are good (need to be promoted) or bad (will be rejected).
The problem is that Automatch was unable to work with examples like below, where matches are obvious (or nearly obvious) to the human eye, but search on a competitor site does not yield any results
Here are several such examples:
The idea was to introduce a 4th method, universally applicable, which will be reliable enough that it can be trusted. We had a feeling that ML should be helpful, but we had no idea where to start.
But, before jumping on the project, we wanted to check if anyone else did it before us and if the solution was possible in the public domain?
So, we had to start digging ourselves.
More information available on: