>6 years experience in data science, mostly python.
Examples of previous work (only as related to the project):
- Fuzzy location based matching of voters in electoral registers and linking to demographic data
- SaaS business intelligence web application for a private school chain
My approach (based on the assumption you are looking for a bijective map):
- calculate string distance measures between product names (using Levenshtein, Hamming, Jaccard, or Sorensen string metrics - I pick the metric depending on your data)
- build a weighted score function including both the retail price and the product name allowing for deviations in both (make sure the retail price is normalised, important for result quality)
- optimise globally to reduce the total weighted score of all mappings (gives first match)
- show two runners-up in weighted score without global optimisation (gives 2nd and 3rd match)