Overview: I am looking for some technical direction from the ML/data science community about how I could tackle my business problem.
Context: In a nutshell, I have a group of customers who repeatedly purchase products from a category of products e.g. the frying pan category. In the frying pan category there are 15-20 different manufacturers of frying pans. Each of the different frying pans have different features i.e. large, small, non-stick, stainless steel, dishwasher proof etc. but essentially they're all frying pans. Some people buy the premium product while others buy the budget and some others buy the mid range product.
The most popular brand of product is the most expensive and is a loss making product for us. There is however another product (mid range product) that has nearly the exact same characteristics as the expensive pan but is half the cost and generates the most profit for my company.
Objective: I would like to identify those customers who currently purchase the most expensive product and reach out to them based on their likelihood of purchasing the mid range product to convince them of the benefits of the mid range pan.
Approaches: I thought one approach to this would be to find the members who buy the expensive product but are most similar in characteristics/features of the mid range purchasers and offer them a discount to incentivize them to switch products. To achieve this I would use a user - user similarity measurement rather than an item - item similarity measure.
The data: I have access to a swathe of demographic information, purchase history data, product detail characteristics so building analytical base tables is not a problem.
If you have any suggestions as to how I could approach this problem I would be very grateful for your insights.