Building Machine Learning based Products

Part I: An Introduction to ML Products

Jon Hurlock
6 min readNov 27, 2016
T-SNE of Products Shape and Colour by Eddie Bell

This post is part of a series, in which I describe what machine learning based products are, and a suggest a framework for building these types of products.

In the first post, I describe the difference between Analytics / Business Intelligence, Data Science and Machine Learning. Giving an example a machine learning based product. (Part I)

I then give an overview of the steps that a data scientist should take, when building a machine learning (ML) products. This post may act as a guide for those working with data scientists to build ML powered products. (Part II)

I then talk through the process of productionising such a product. Finally I talk about how you could test such a product. (Part III)

I try to present this content in the most accessible way possible. Comments and questions are encouraged.

What are Machine Learning based Products?

Examples of these products could be a recommendation engine, search engine, a model to indicate whether a customer is likely to exhibit a behaviour, or if a transaction is fraudlent.

Below I describe the difference between analytics/business intelligence, data science and machine learning, and present a real world example of machine learning based products.

Analytics / Business Intelligence

Is concerned with reporting on what behaviour is being exhbitied. This ecompasses questions such as “how many…” or “how has x changed over time”. This type of work is covered in a mathematical field called descriptive statistics.

Question: How many people have shopped for striped t-shirts, and how has this changed over time..

Answer: 400 people shopped on our online store today for online t-shirts, we are seeing a 30% increase in the number purchased striped t-shirt orders since last month.

Data Science

Is concern with understanding why something is exhibiting a behaviour. This includes understand what are the predicitve factors (reasons) that lead people to exhibit certain behaviours. This type of work is looking to discover correlations and causation.

Question: What are the factors that lead to high value purchases?

Answer: When people search for high end brands on Google and their query contains the term “buy”. We see a strong correlation with higher value purchases.

Machine Learning

Machine learning is applying the findings from data science, to modify behaviour in the attempt to try and achieve some objective.

An example of an objective from a business point of view might be.

How could we for (potential) customers who visit our site, increase the conversion rate?

Where Conversion rate is calculated as. The number of visitors who bought something, divided by the total number of visitors.

A conversion rate of 0 means that everyone who has visited your site has bought nothing. A conversion rate of 0.5 means that half of the people that have visited your site have bought something. Finally a conversion rate of 1 means that everyone who has visited your site has bought something.

An example Scenario:

Imagine that I am the user. I want to buy a striped t-shirt. So, I go to Google and type in striped t-shirt. I then see a link to Farfetch for striped t-shirts, I click it and I get presented the following page.

A Saint Laurent striped t-shirt retailing for £555.36 on Farfetch.com

Now we can see there is a very nice t-shirt. However, the price tag for this particular t-shirt is £555.36. In this case I really like the t-shirt, however, it is currently out of my price range.

My first instinct maybe to leave Farfetch’s website as I may have just formed the impression that Farfetch only sells high-end designer t-shirts, that are out of my price range.

However, using all the data sources that company like Farfetch has at it’s disposal via internal and 3rd party data sources. It may be able to understand that I really like striped t-shirts and that I generally purchase t-shirts within a high-street price line.

The ability to profile users, to understand what kind of purchasing decisions they are likely to make is a product in itself. This could be packaged as:

Understanding the likelihood of this user buying an item, given everything we know about them.

Now this in itself, won’t change my behaviour. However, if Farfetch can profile me and see that I have a low likelihood of purchasing this item, and they have the objective of increasing conversion rate, they need to try and get me to buy something before I leave.

Offerings to try and increase conversion rate:

To increase the likelihood of me purchasing something, and not just exiting the site. Farfetch suggest other products to me which I may be interested in. Farfetch currently do this in three ways.

Firstly there is the recently viewed module. This contains products I have recently viewed. Now since I have just landed on their product page for the first time. This seems to be empty, so is probably a waste of space, as it offers no value to me at this stage being a first time visitor.

An empty recently viewed module. Offering no useful interaction or oporuntity for behavioural change.

Secondly, they offer a related products module. This module shows me related products. Now I am assuming that these are related based on the designer and other attributes of the t-shirt that I am currently viewing.

Related Products Module on Farfetch.

Thirdly and finally, they offer a related searches module. I am assuming this is for SEO purposes. It seems to be a combination of attributes (e.g. colour, material, emblishments etc.), designer and product category.

Related Searches Module on Farfetch.

The most appealing to me as a user is the related products module, this is because it is visual and allows me to see similiar things quickly. This is a product which has the draw and ability for me to stay on site and possibly get me to buy something.

If I was to buy something based on navigating to a product from the related products module. Then we would possibly increase conversion rate.

This gives us an opporuntity to create a machine learning based product.

The module allows opportunity for us to change the user’s behaviour. In particular reducing the probability of me exiting the site (because the t-shirt is out of my price range), by offering great alternative products (probably other striped t-shirts in my price range) based on what we know about the user, with the hope of increasing conversion rate.

The machine learning part of this, is deciding which of the products (from the product catalog) we should present to the user, and what order should we present them in. In a way which will increase the likelihood of them converting.

Remember we might know certain things about the user given the 3rd party data avaliable to us, we can estimate a likelihood of them buying an item, this may also feed into this product, and help to optimise the products we show in the above example.

Now that I’ve described the difference between analytics/BI, data science and machine learning.

In part II I will describe the process from a data scientists perspective of what goes into building a machine learning based product. Using the related products module as an example.

--

--

Jon Hurlock

Product Owner at @booking.com. Ex @MutualArt, @ASOS, @Lyst / @makinglyst . Interested in web tech, data science, machine learning and HCI.