What Can Mo Salah Tell Us About Lead Conversion?
- Dominic Williamson
- Oct 13, 2024
- 4 min read
Updated: Oct 31, 2024

Are you familiar with expected goals (xG)? If not, we should probably start there. One common complaint that you'll have heard about soccer, aside from calling it soccer rather than football, is that it is low scoring. And it's true. On average there are three goals per Premier League game, or a goal every 30 minutes. And those goals are shared between the teams which means your team is scoring maybe 1-2 per game. And all of this is a headache for the sporting nerd because the low frequency of goals (or converting events) makes predictability at the game level very difficult.
For any individual game your team plays there's a pretty good chance that your team just doesn't score, or doesn't score as many as their opponents, even if they play well. And therein lies the problem, because if your team plays in a way that that should have scored more goals and it was just happenstance that held them back then there's no need for changes. Since sports supporters are famously terrible at being objective then you need some kind of metric to tell you if that's happening.
That's where xG comes in. Goals are rare and they only come in big discrete chunks of approximately one every 30 minutes. But opportunities that lead to goals are far more common. In xG each opportunity that could lead to a goal is scored out. So this shot had a value 0.2 (20% chance of scoring), and that header a 0.1 etc. Whether or not these chances actually result in goals is ignored by the model. It simply sums up the probabilities of all those chances.
Game by game these expected goals will usually differ from the actual scoring. Picking a result completely at random, Nottingham Forest's 1-0 win away at Liverpool really should have finished 1.17 to 0.59. However, when aggregated up over the course of a season, xG does a very good job of predicting actual goals scored.
The chart below shows xG on the x-axis versus goals scored 2024/2024 on the y-axis. Note the remarkably strong correlation between the two.

These probabilities can also be summed up at, say, the player level. That's where Mo Salah comes into the picture. In 2017 Mo Salah was playing for Roma after a brief and largely unsuccessful spell in England at Chelsea. After two seasons in Italy his goal tally looked fine, but even so eyebrows were raised when Liverpool came in to sign Salah with a club record fee of £36.5m.
Liverpool's director of research, Ian Graham, and team had seen something beyond the headline statistics and through xG and related metrics, determined that Salah was undervalued in the market. In the seven years since the signing, Salah has gone on to be Liverpool's all time top Premier League goalscorer. And his xG isn't bad either.
So, this was all fun and games but what does all this have to do with lead conversion? You may have read a few terms above that seem familiar: conversion events, opportunities, and low frequency. In many businesses lead conversions, like goals, are valuable but infrequent. Opportunities, however, are far more common.
When choosing an optimisation metric on a partner platform, like google, this can create something of a conundrum. If I optimise to an infrequent lower-funnel conversion I may well have too few events to feed the algorithm. Realistically 10 a day is a good rule of thumb. Given the size and nature of a your business and campaigns that may well prove to be a show-stopper.
Going upper-funnel to leads will certainly boost your count of events and take you above the required threshold but now you are optimising to a metric that you know varies wildly in value. And given the nature of any optimisation algorithm you are likely to skew toward cheaper and lower value leads.
This is where the xG proxy comes in. Instead of optimising to goals, or opportunities you can optimise to something akin to xG. Scoring out each of your opportunities, or leads, with a value model. For each lead that receive you pass back not a binary 1 or 0 but a score that represents how likely this lead is to convert.
In simple terms your model will look something like this:
Lead comes in, given what you know about this lead (their location, contact details, device etc) you model out a value to represent how likely you think this lead is to convert.
Now instead of passing back a binary signal to your advertising partner you are passing back weighted metric that represents the comparative values of different leads. The lead with a expected value (xV ) of 0.01 and is therefore worth 20x less than a lead with an xV of 0.2.
These can even be converted to hard currency to allow return on ad spend (ROAS) bidding. So an xV of 0.01 translates to an expected revenue (xR) of $10 if we know a conversion is worth $1000. The shift from lead bidding to ROAS bidding brings with it numerous benefits, from ROAS growth to the aggregation of campaigns enabling an even stronger feedback loop.
If you are interested in building an in-house xV or xR model and need some advice, direction, or encouragement please reach out at info@codarossa.co
Comments