Case Study

The Banca Mediolanum case: Data Analytics Laboratory and implementation of a Recommendation Engine

Tools based on Data-Driven Analytics are the crucial element characterising services that have revolutionised behaviour models and the use of content across the various online/digital channels for billions of users. The model encompassing the full use of content through digital channels is increasingly driven by algorithms and intelligent tools, which are designed to capture user expectations and transform them into elements of effect and user experience. Netflix claims that 80% of content streamed on the platform is driven by personalised recommendation tools; for Amazon, it is estimated that 35% of e-commerce purchases are driven by automatic suggestions.

But if until now such services were the distinctive features of major Web players and constituted the main key to their success, today they can be developed and implemented, in an agile way and at very low costs, by practically anyone.

All this is now possible thanks to two enablers: on the one hand, the immediate availability of data combined with the computing power of scalable cluster-based architectures (Big Data) and on the other hand, by the adoption of libraries and computational models based on advanced heuristics (Machine Learning).

This type of tool is now available as part of open source solutions, which are easily and seamlessly integrated from a technological point of view.


With the aim of experimenting with an Advanced Analytics approach, the Data Analytics laboratory initiative launched by Banca Mediolanum involves a partnership between the Marketing Research team and Reply for the development of advanced data analysis mechanisms and the design of proactive services, tailored to the customer’s needs.

Among the projects currently underway, an early success has been achieved in the development of a platform for the analysis and synthesis of automated recommendations aimed at providing personalised commercial offers on the bank’s product catalogue. The initiative facilitated the development of an experimental platform for the creation and evaluation of Recommendation Engine based on data-driven services.


A Recommendation Engine can be described as a mechanism that can summarise a personal recommendation in real time, based on the behavioural assessment of a set of customers.

The principle of a Recommendation Engine is based on the concept of Collaborative Filtering, in other words, the ability to filter similar users within a large customer base. The principle of similarity can be modelled using Machine Learning tools based on the specific business context (Retail, as in the case of the big e-commerce players, or Financial Services, as in this case) and on the prompt analysis of events observed in relation to individual customers (e.g. products purchased, browsing behaviour across the various online/digital channels, searches and actions requested from the Banking Centre, etc.). On this basis, it is possible to calculate:

Similar customers: users who tend to make the same purchases;

Similar items: items (products) that tend to be purchased by similar customers.

In the business case implemented for Banca Mediolanum, the Recommendation Engine works like an analytic filter on the customer base. The basic idea implies that, if you can identify a number of users carrying out a certain sequence of purchases of the same products , it becomes possible to anticipate that all customers who so far have shown similarities to that sequence of events, complete their portfolio with the missing products. A very intuitive concept, whose implementation, however, becomes very complex when faced with massive data streams and relating to the event history of millions of users and thousands of catalogue products.


The quantitative measurement of similarities leads to the immediate identification of a list of personalised recommendations, easily applicable to each customer in real time. According to the Robotics for Customers methodology conceived by Reply, the use of a Recommendation Engine can be perfectly harmonised as part of an organisation's processes and easily adopted as part of a service platform (e.g. through web services or an API). From a Marketing point of view, for example, three main uses can be mentioned. In particular, the service can be used to:

estimate the propensity to purchase of individual customers, and on this basis, to extract target lists for targeted campaigns;

support the sales force with actionable targeted recommendations from CRM dashboards directly, during customer meetings;

manage campaigns in real time, accessible directly by customers via online channels (i.e. touchpoints).

As an additional element of attention, it is important to note how, unlike Retail scenarios in which products are typically well-defined and readable, in the Financial Services sector the product catalogue offers a number of specific features related to the life cycle of products, the customers’ requirements and their current situation (e.g. a customer needing a mortgage or insurance only in specific situations in his life).


The Recommendation Engine defined for Banca Mediolanum uses two different computational models, implemented according to two distinct sets of logic:

Matrix Factorisations make it possible to approximate an event and consider it much more relevant to a particular customer, the more that type of event is exhibited by customers who have displayed similar behaviour in the past. A key event is typically observed in this model: i.e. a primary conversion event (purchase of an item);

• The co-occurrence principle is based on the calculation of similarity between customers in relation to the chains of events observed. The logic in this case is that the more an event is relevant for a given customer, the more configurations and chains of events exist that led to the conversion of other customers. Unlike the matrix factorisation model, the co-occurrence model is able to manage heterogeneous events. These can in fact be considered real-time data streams (e.g. actions performed on the various online/digital channels, items purchased, viewed, searched, etc.)


The implementation of the computational model facilitated the development of a pilot case, which was evaluated using selected customer data observed at a given t0. For each of the selected customers at that date, the analysis was based on a snapshot of the products in the portfolio and some demographic data (e.g. age, commercial profile, asset class, etc.). Subsequently, a series of recommendation models based on Machine Learning algorithms were tested on this customer base.

The solutions were configured with different parameter settings in order to facilitate a comparison of the solutions and experimentally verify the effectiveness of the results. The evaluation was obtained through a projection of the results, in other words by comparing the answers provided by the models with the actual sales data, observed subsequent to t0.

The metrics considered with respect to a benchmark recommendation showed a marked improvement in Precision, up to +167%, and in Recall, up to +974% [1] , providing a strong stimulus for the implementation of these models into production.


In contrast to traditional approaches based on segmentation and profiling, which require a costly analytical study to assign each customer to a Personas cluster, in this case it is the data already available that drives the       Collaborative Filtering and, therefore, the selection process of the best offer.

The minimum dataset of primary events on which the Recommendation Engine is based can in fact be obtained from sales data, typically extractable from a common commercial data warehouse.

Two aspects worth noting are the ability to take data that is readily available and make it actionable , together with the ease of implementation of the process. The Banca Mediolanum pilot case was created in a totally unconnected manner with respect to the Bank's Business Intelligence infrastructure and was developed as a service-based solution on a cloud-based platform.

[1] Precision refers to the number of purchases among the recommended products, divided by the number of recommended products. Recall refers to the number of purchases among the recommended products, divided by the total number of purchases.

You may also like

No contents here.