Smart Recommendation Engine for a Digital Wallet

Our Client

  • A medium-sized digital wallet company providing multiple utility payment options and recharge services.
  • Providing personalized options for upselling services based on a customer’s purchase history.

Problem Statement

  • Producing a custom list of recommended services for each user using collaborative filtering.
  • In collaborative filtering, algorithms make automatic predictions about a user’s interests by compiling preferences from several users and comparing purchase habits.
  • image3
  • Due to the lack of feedback from the customers, the algorithm is unable to understand whether a particular service was good enough or not. This is why in our case, we used transaction data as interactions between users and services. Transactional data is a form of interaction where we cannot speculate whether a user has liked the service or not. But since the service is used multiple times by the same person, we concluded that the user must be satisfied with the services.
  • But this approach had a small red flag to it. Since there was no feedback from the user regarding the service, we could only assume that if the user has taken a service multiple times, he must have liked that service. With this small practical assumption, we made our collaborative filtering model.

Our Solution

  • Active customers are recognized on the platform (around 600k).
  • Transaction logs for all active customers are acquired.
  • This data is fed to a collaborative filtering model. We used matrix factorization for this purpose.
  • The transaction log is converted into count data, where the number of times a user has bought a service is captured.
  • Historical transaction behavior data is used to improvise the collaborative filtering model.
  • Matrix Factorization trains a model qualified to predict a score for each possible combination of users and items. The internal coefficients of the model are learned from known scores of users and items. Offers are then based on these scores. The user-item rating matrix is factorized as the product of two lower-dimensional matrices. The first one has a row for each user, while the second has a column for each item. The row or column associated with a specific user or item is referred to as latent factors.
  • The predicted ratings can be computed as R̃ = HW, where R̃ ∈ ℝusers x items is the user-item rating matrix, H ∈ ℝusers x latent factors contain the user’s latent factors, and W ∈ ℝlatent factors x items the item’s latent factors.
  • Specifically, the predicted rating user u will give to item i is computed as:
  • The expressive power of the model is tuned by changing the number of latent factors. Matrix factorization with one latent factor is equivalent to a popular or top popular recommender (e.g., recommends the items with the most interactions without any personalization). Increasing the number of latent factors improves personalization; therefore, recommendation quality until the number of factors becomes too high. At this point, the model starts to overfit, and the recommendation quality will decrease.

Facing a similar challenge in your business?

Business Impact

Cross-selling of services from recommendations has shown an 18% increase in the revenue for active users on the platform.

Looking for a Similar Solution?
We Can Help Protection Status