7
$\begingroup$

I'm exploring options for recommender systems optimized for the insurance industry, which would take into account

i) product holdings

ii) user characteristics (segment, age, affluence, etc.).

I want to stress that

a) there are no product ratings available, thus collaborative filtering is not an option

b) recommended products don't have to be similar to products that have already been purchased, thus item-to-item recommendations are most probably not relevant.

Keep in mind that in insurance you rarely want to recommend similar products to those already purchased ones, as someone with the Car insurance is unlikely to want to buy another Motor product, rather Home or maybe Travel, etc.

That's why I want to develop recommendations on similarities between the users based on their purchase history and/or demographics

Ideally, I'd like to be able to implement it in R, if not possible, then in Python. Thanks for help and suggestions!

$\endgroup$
  • $\begingroup$ Read about implicit collaborative filtering; explicit ratings not needed. $\endgroup$ – Emre Jun 8 '17 at 20:24
  • $\begingroup$ thanks, @Emre, that was a very useful keyword for my research, cheers! $\endgroup$ – Kasia Kulma Jun 12 '17 at 9:28
6
$\begingroup$

You could use Content based filtering but then you have to intelligently pre process the data to extract all the contents of the products. Also, that might lead to leaving a some features, This article is a great head start after you preprocess all the data.

Also, you could make pseudo ratings for product vs a customer. That would depend on your problem statement. Some few suggestions could be the number of times the customer bought the particular product in last one month or you could also take an index which would define how frequently the customer buys that product which, mathematically would be last_two_purchases/interval_of_purchase or could also take an average of last few purchases and intervals.

After making this pseudo rating you could convert all the content based features into numerical ones and use Latent factor model for collaborative filtering. Refer this video. Python could be used for this.

$\endgroup$
  • $\begingroup$ thanks, @janpreet_singh, I considered content based filtering, but I'm afraid that it would recommend the most similar items to already purchased ones, in result. In insurance, this is rarely desirable, as someone with the Car insurance is unlikely to want to buy another Motor product, rather Home or maybe Travel, etc. That's why I want to base recommendations on similarities between the users based on their purchase history and/or demographics $\endgroup$ – Kasia Kulma Jun 7 '17 at 10:35
  • $\begingroup$ you're welcome @KasiaKulma You could try the second approach which has pseudo ratings involved. This could capture the type of relationship you are looking for. The procedure is described in the video. $\endgroup$ – janpreet singh Jun 7 '17 at 10:43
  • $\begingroup$ cheers, mate, will definitely have a look $\endgroup$ – Kasia Kulma Jun 7 '17 at 10:47
5
$\begingroup$

there are no product ratings available, thus collaborative filtering is not an option

Wrong. You can do collaborative filtering with holdings. Just use the numbers/duration of holdings instead of ratings.

That's why I want to develop recommendations on similarities between the users based on their purchase history and/or demographics

Then any content-based approach should be fine. I can thing of a good article called TrustWalker using trust between users (you create links between similar users and propagate their tastes in the network).

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.