I’ve started posting Premier League result probabilities and projected goals for each round of matches, using my adjusted goals rating system. As explained, the ratings are long-term, averaged over this season and last season so can be a good starting point for assessing value. But, because they’re long-term, there is much that they don’t take account of – such as injuries, change of tactics, new signings, players transferring out, new manager, new owner, fixture congestion or off the field problems.
So, these aren’t betting tips but an attempt to assess whether and how the market is adjusting for certain factors – which in turn might identify potential value. Even so it’s worthwhile to test the model against the market. I do this by comparing odds against maximum odds on football-data.co.uk.
There are many ways to determine which match to bet on when using a ratings model, but for this assessment I compare against the odds for the match favourite to determine value. If the difference between my model’s probability and 1/odds is 2% or more I assume a unit bet for the favourite, if the difference is -2% or less I assume risking a unit to lay the favourite.
For the 2015/16 Premier League season the summary of results is a follows:
Bet | Return | Yield | |
Bet H | 66 | -12.79 | -19.4% |
Bet A | 6 | -0.82 | -13.7% |
Lay H | 47 | 29.26 | 62.3% |
Lay A | 52 | 1.42 | 2.7% |
Total | 171 | 17.07 | 10.0% |
Goals | Bet | Return | % |
> 2.5 | 63.00 | 5.60 | 9% |
<2.5 | 50.00 | -0.86 | -2% |
Total | 113.00 | 4.74 | 4.2% |
Overall, pleasingly, so far the model outperforms the market. But that’s not to say it always will (it doesn’t every season). And, it’s been a strange season where the market has poorly estimated true probability. Infact a bet on every outcome, at best market odds, would yield 9% – this is unusual. Also, always be wary of a rating system performing too well as I explain here.
EPL Unit bet on every outcome | |||
Bet | Ret | % | |
H | 230 | -19.33 | -8% |
D | 230 | 21.33 | 9% |
A | 230 | 60.57 | 26% |
Total | 690 | 62.57 | 9% |
> 2.5 | 230 | 3.90 | 2% |
<2.5 | 230 | -7.52 | -3% |
Total | 460 | -4 | -1% |
Using football-data.co.uk max odds |
It’s interesting which teams over and underperform the market – my model has consistently identified value in betting for West Ham and against Chelsea but adjusted poorly for Spurs and Leicester’s form improvement since last season.
Individual team results
Individual match results
Date | Match | Score | Bet | Return |
08/08/2015 | Bournemouth v Aston Villa | 0 – 1 | Bet H | -1.00 |
08/08/2015 | Chelsea v Swansea | 2 – 2 | Bet H | -1.00 |
08/08/2015 | Everton v Watford | 2 – 2 | No bet | 0.00 |
08/08/2015 | Leicester v Sunderland | 4 – 2 | Bet H | 1.03 |
08/08/2015 | Man United v Tottenham | 1 – 0 | No bet | 0.00 |
08/08/2015 | Norwich v Crystal Palace | 1 – 3 | Bet H | -1.00 |
09/08/2015 | Arsenal v West Ham | 0 – 2 | No bet | 0.00 |
09/08/2015 | Newcastle v Southampton | 2 – 2 | Bet A | -1.00 |
09/08/2015 | Stoke v Liverpool | 0 – 1 | Lay A | -1.00 |
10/08/2015 | West Brom v Man City | 0 – 3 | Bet A | 0.72 |
14/08/2015 | Aston Villa v Man United | 0 – 1 | Lay A | -1.00 |
15/08/2015 | Southampton v Everton | 0 – 3 | Bet H | -1.00 |
15/08/2015 | Sunderland v Norwich | 1 – 3 | Lay H | 0.65 |
15/08/2015 | Swansea v Newcastle | 2 – 0 | No bet | 0.00 |
15/08/2015 | Tottenham v Stoke | 2 – 2 | Lay H | 1.22 |
15/08/2015 | Watford v West Brom | 0 – 0 | Bet H | -1.00 |
15/08/2015 | West Ham v Leicester | 1 – 2 | Bet H | -1.00 |
16/08/2015 | Crystal Palace v Arsenal | 1 – 2 | Lay A | -1.00 |
16/08/2015 | Man City v Chelsea | 3 – 0 | Bet H | 1.17 |
17/08/2015 | Liverpool v Bournemouth | 1 – 0 | Lay H | -1.00 |
22/08/2015 | Crystal Palace v Aston Villa | 2 – 1 | No bet | 0.00 |
22/08/2015 | Leicester v Tottenham | 1 – 1 | Bet H | -1.00 |
22/08/2015 | Man United v Newcastle | 0 – 0 | Lay H | 2.50 |
22/08/2015 | Norwich v Stoke | 1 – 1 | Lay H | 0.72 |
22/08/2015 | Sunderland v Swansea | 1 – 1 | Lay A | 0.92 |
22/08/2015 | West Ham v Bournemouth | 3 – 4 | No bet | 0.00 |
23/08/2015 | Everton v Man City | 0 – 2 | Lay A | -1.00 |
23/08/2015 | Watford v Southampton | 0 – 0 | Lay H | 0.56 |
23/08/2015 | West Brom v Chelsea | 2 – 3 | Lay A | -1.00 |
24/08/2015 | Arsenal v Liverpool | 0 – 0 | Bet H | -1.00 |
29/08/2015 | Aston Villa v Sunderland | 2 – 2 | Lay H | 1.08 |
29/08/2015 | Bournemouth v Leicester | 1 – 1 | Bet H | -1.00 |
29/08/2015 | Chelsea v Crystal Palace | 1 – 2 | Lay H | 2.56 |
29/08/2015 | Liverpool v West Ham | 0 – 3 | Lay H | 2.57 |
29/08/2015 | Man City v Watford | 2 – 0 | Bet H | 0.25 |
29/08/2015 | Newcastle v Arsenal | 0 – 1 | Lay A | -1.00 |
29/08/2015 | Stoke v West Brom | 0 – 1 | Bet H | -1.00 |
29/08/2015 | Tottenham v Everton | 0 – 0 | Lay H | 1.00 |
30/08/2015 | Southampton v Norwich | 3 – 0 | Bet H | 1.07 |
30/08/2015 | Swansea v Man United | 2 – 1 | Lay A | 0.80 |
12/09/2015 | Arsenal v Stoke | 2 – 0 | Lay H | -1.00 |
12/09/2015 | Crystal Palace v Man City | 0 – 1 | No bet | 0.00 |
12/09/2015 | Everton v Chelsea | 3 – 1 | Lay A | 0.95 |
12/09/2015 | Man United v Liverpool | 3 – 1 | No bet | 0.00 |
12/09/2015 | Norwich v Bournemouth | 3 – 1 | No bet | 0.00 |
12/09/2015 | Watford v Swansea | 1 – 0 | Bet H | 1.77 |
12/09/2015 | West Brom v Southampton | 0 – 0 | Bet A | -1.00 |
13/09/2015 | Leicester v Aston Villa | 3 – 2 | No bet | 0.00 |
13/09/2015 | Sunderland v Tottenham | 0 – 1 | Lay A | -1.00 |
14/09/2015 | West Ham v Newcastle | 2 – 0 | Bet H | 1.27 |
19/09/2015 | Aston Villa v West Brom | 0 – 1 | No bet | 0.00 |
19/09/2015 | Bournemouth v Sunderland | 2 – 0 | Bet H | 0.75 |
19/09/2015 | Chelsea v Arsenal | 2 – 0 | No bet | 0.00 |
19/09/2015 | Man City v West Ham | 1 – 2 | No bet | 0.00 |
19/09/2015 | Newcastle v Watford | 1 – 2 | Bet H | -1.00 |
19/09/2015 | Stoke v Leicester | 2 – 2 | Bet H | -1.00 |
19/09/2015 | Swansea v Everton | 0 – 0 | Lay H | 0.72 |
20/09/2015 | Liverpool v Norwich | 1 – 1 | Lay H | 1.44 |
20/09/2015 | Southampton v Man United | 2 – 3 | Lay A | -1.00 |
20/09/2015 | Tottenham v Crystal Palace | 1 – 0 | Bet H | 1.02 |
26/09/2015 | Leicester v Arsenal | 2 – 5 | Lay A | -1.00 |
26/09/2015 | Liverpool v Aston Villa | 3 – 2 | No bet | 0.00 |
26/09/2015 | Man United v Sunderland | 3 – 0 | Lay H | -1.00 |
26/09/2015 | Newcastle v Chelsea | 2 – 2 | Lay A | 1.49 |
26/09/2015 | Southampton v Swansea | 3 – 1 | Bet H | 1.20 |
26/09/2015 | Stoke v Bournemouth | 2 – 1 | Bet H | 1.60 |
26/09/2015 | Tottenham v Man City | 4 – 1 | No bet | 0.00 |
26/09/2015 | West Ham v Norwich | 2 – 2 | Bet H | -1.00 |
27/09/2015 | Watford v Crystal Palace | 0 – 1 | Bet H | -1.00 |
28/09/2015 | West Brom v Everton | 2 – 3 | Lay A | -1.00 |
03/10/2015 | Aston Villa v Stoke | 0 – 1 | Lay H | 0.63 |
03/10/2015 | Bournemouth v Watford | 1 – 1 | Bet H | -1.00 |
03/10/2015 | Chelsea v Southampton | 1 – 3 | Lay H | 1.20 |
03/10/2015 | Crystal Palace v West Brom | 2 – 0 | No bet | 0.00 |
03/10/2015 | Man City v Newcastle | 6 – 1 | Bet H | 0.26 |
03/10/2015 | Norwich v Leicester | 1 – 2 | Bet H | -1.00 |
03/10/2015 | Sunderland v West Ham | 2 – 2 | No bet | 0.00 |
04/10/2015 | Arsenal v Man United | 3 – 0 | Bet H | 1.10 |
04/10/2015 | Everton v Liverpool | 1 – 1 | Bet H | -1.00 |
04/10/2015 | Swansea v Tottenham | 2 – 2 | No bet | 0.00 |
17/10/2015 | Chelsea v Aston Villa | 2 – 0 | No bet | 0.00 |
17/10/2015 | Crystal Palace v West Ham | 1 – 3 | Lay H | 0.94 |
17/10/2015 | Everton v Man United | 0 – 3 | Lay A | -1.00 |
17/10/2015 | Man City v Bournemouth | 5 – 1 | Bet H | 0.36 |
17/10/2015 | Southampton v Leicester | 2 – 2 | Bet H | -1.00 |
17/10/2015 | Tottenham v Liverpool | 0 – 0 | Bet H | -1.00 |
17/10/2015 | Watford v Arsenal | 0 – 3 | Lay A | -1.00 |
17/10/2015 | West Brom v Sunderland | 1 – 0 | Bet H | 1.10 |
18/10/2015 | Newcastle v Norwich | 6 – 2 | No bet | 0.00 |
19/10/2015 | Swansea v Stoke | 0 – 1 | Lay H | 0.91 |
24/10/2015 | Arsenal v Everton | 2 – 1 | No bet | 0.00 |
24/10/2015 | Aston Villa v Swansea | 1 – 2 | Lay A | -1.00 |
24/10/2015 | Leicester v Crystal Palace | 1 – 0 | Bet H | 1.30 |
24/10/2015 | Norwich v West Brom | 0 – 1 | Bet H | -1.00 |
24/10/2015 | Stoke v Watford | 0 – 2 | Bet H | -1.00 |
24/10/2015 | West Ham v Chelsea | 2 – 1 | Lay A | 0.95 |
25/10/2015 | Bournemouth v Tottenham | 1 – 5 | Lay A | -1.00 |
25/10/2015 | Liverpool v Southampton | 1 – 1 | Lay H | 0.90 |
25/10/2015 | Man United v Man City | 0 – 0 | Lay H | 0.61 |
25/10/2015 | Sunderland v Newcastle | 3 – 0 | No bet | 0.00 |
31/10/2015 | Chelsea v Liverpool | 1 – 3 | Bet H | -1.00 |
31/10/2015 | Crystal Palace v Man United | 0 – 0 | Lay A | 0.88 |
31/10/2015 | Man City v Norwich | 2 – 1 | Bet H | 0.31 |
31/10/2015 | Newcastle v Stoke | 0 – 0 | Lay H | 0.68 |
31/10/2015 | Swansea v Arsenal | 0 – 3 | Lay A | -1.00 |
31/10/2015 | Watford v West Ham | 2 – 0 | No bet | 0.00 |
31/10/2015 | West Brom v Leicester | 2 – 3 | Lay A | -1.00 |
01/11/2015 | Everton v Sunderland | 6 – 2 | No bet | 0.00 |
01/11/2015 | Southampton v Bournemouth | 2 – 0 | No bet | 0.00 |
02/11/2015 | Tottenham v Aston Villa | 3 – 1 | No bet | 0.00 |
07/11/2015 | Bournemouth v Newcastle | 0 – 1 | Bet H | -1.00 |
07/11/2015 | Leicester v Watford | 2 – 1 | Lay H | -1.00 |
07/11/2015 | Man United v West Brom | 2 – 0 | Lay H | -1.00 |
07/11/2015 | Norwich v Swansea | 1 – 0 | Bet H | 1.55 |
07/11/2015 | Stoke v Chelsea | 1 – 0 | Lay A | 0.89 |
07/11/2015 | Sunderland v Southampton | 0 – 1 | Bet A | 0.85 |
07/11/2015 | West Ham v Everton | 1 – 1 | Bet H | -1.00 |
08/11/2015 | Arsenal v Tottenham | 1 – 1 | Bet H | -1.00 |
08/11/2015 | Aston Villa v Man City | 0 – 0 | Bet A | -1.00 |
08/11/2015 | Liverpool v Crystal Palace | 1 – 2 | Lay H | 1.40 |
21/11/2015 | Chelsea v Norwich | 1 – 0 | Lay H | -1.00 |
21/11/2015 | Everton v Aston Villa | 4 – 0 | No bet | 0.00 |
21/11/2015 | Man City v Liverpool | 1 – 4 | Bet H | -1.00 |
21/11/2015 | Newcastle v Leicester | 0 – 3 | Lay A | -1.00 |
21/11/2015 | Southampton v Stoke | 0 – 1 | Lay H | 1.59 |
21/11/2015 | Swansea v Bournemouth | 2 – 2 | Lay H | 1.08 |
21/11/2015 | Watford v Man United | 1 – 2 | Lay A | -1.00 |
21/11/2015 | West Brom v Arsenal | 2 – 1 | Lay A | 1.70 |
22/11/2015 | Tottenham v West Ham | 4 – 1 | Lay H | -1.00 |
23/11/2015 | Crystal Palace v Sunderland | 0 – 1 | No bet | 0.00 |
28/11/2015 | Aston Villa v Watford | 2 – 3 | No bet | 0.00 |
28/11/2015 | Bournemouth v Everton | 3 – 3 | Lay A | 0.64 |
28/11/2015 | Crystal Palace v Newcastle | 5 – 1 | Lay H | -1.00 |
28/11/2015 | Leicester v Man United | 1 – 1 | Lay A | 0.71 |
28/11/2015 | Man City v Southampton | 3 – 1 | Lay H | -1.00 |
28/11/2015 | Sunderland v Stoke | 2 – 0 | No bet | 0.00 |
29/11/2015 | Liverpool v Swansea | 1 – 0 | Lay H | -1.00 |
29/11/2015 | Norwich v Arsenal | 1 – 1 | Lay A | 1.54 |
29/11/2015 | Tottenham v Chelsea | 0 – 0 | Bet H | -1.00 |
29/11/2015 | West Ham v West Brom | 1 – 1 | Bet H | -1.00 |
05/12/2015 | Arsenal v Sunderland | 3 – 1 | Bet H | 0.29 |
05/12/2015 | Chelsea v Bournemouth | 0 – 1 | Lay H | 2.44 |
05/12/2015 | Man United v West Ham | 0 – 0 | Lay H | 2.16 |
05/12/2015 | Southampton v Aston Villa | 1 – 1 | Bet H | -1.00 |
05/12/2015 | Stoke v Man City | 2 – 0 | Lay A | 1.35 |
05/12/2015 | Swansea v Leicester | 0 – 3 | Bet H | -1.00 |
05/12/2015 | Watford v Norwich | 2 – 0 | No bet | 0.00 |
05/12/2015 | West Brom v Tottenham | 1 – 1 | Lay A | 1.09 |
06/12/2015 | Newcastle v Liverpool | 2 – 0 | Lay A | 1.55 |
07/12/2015 | Everton v Crystal Palace | 1 – 1 | No bet | 0.00 |
12/12/2015 | Bournemouth v Man United | 2 – 1 | Lay A | 0.72 |
12/12/2015 | Crystal Palace v Southampton | 1 – 0 | Lay H | -1.00 |
12/12/2015 | Man City v Swansea | 2 – 1 | Bet H | 0.33 |
12/12/2015 | Norwich v Everton | 1 – 1 | Lay A | 0.64 |
12/12/2015 | Sunderland v Watford | 0 – 1 | No bet | 0.00 |
12/12/2015 | West Ham v Stoke | 0 – 0 | Bet H | -1.00 |
13/12/2015 | Aston Villa v Arsenal | 0 – 2 | Bet A | 0.61 |
13/12/2015 | Liverpool v West Brom | 2 – 2 | Lay H | 2.24 |
13/12/2015 | Tottenham v Newcastle | 1 – 2 | No bet | 0.00 |
14/12/2015 | Leicester v Chelsea | 2 – 1 | Lay A | 0.75 |
19/12/2015 | Chelsea v Sunderland | 3 – 1 | No bet | 0.00 |
19/12/2015 | Everton v Leicester | 2 – 3 | No bet | 0.00 |
19/12/2015 | Man United v Norwich | 1 – 2 | Lay H | 2.03 |
19/12/2015 | Newcastle v Aston Villa | 1 – 1 | No bet | 0.00 |
19/12/2015 | Southampton v Tottenham | 0 – 2 | Bet H | -1.00 |
19/12/2015 | Stoke v Crystal Palace | 1 – 2 | No bet | 0.00 |
19/12/2015 | West Brom v Bournemouth | 1 – 2 | Lay H | 0.61 |
20/12/2015 | Swansea v West Ham | 0 – 0 | Lay H | 0.87 |
20/12/2015 | Watford v Liverpool | 3 – 0 | Lay A | 0.96 |
21/12/2015 | Arsenal v Man City | 2 – 1 | Bet H | 1.50 |
26/12/2015 | Aston Villa v West Ham | 1 – 1 | Lay H | 0.55 |
26/12/2015 | Bournemouth v Crystal Palace | 0 – 0 | Bet H | -1.00 |
26/12/2015 | Chelsea v Watford | 2 – 2 | Lay H | 1.92 |
26/12/2015 | Liverpool v Leicester | 1 – 0 | Bet H | 1.00 |
26/12/2015 | Man City v Sunderland | 4 – 1 | Bet H | 0.23 |
26/12/2015 | Newcastle v Everton | 0 – 1 | Lay A | -1.00 |
26/12/2015 | Southampton v Arsenal | 4 – 0 | Lay A | 0.84 |
26/12/2015 | Stoke v Man United | 2 – 0 | Lay A | 0.68 |
26/12/2015 | Swansea v West Brom | 1 – 0 | No bet | 0.00 |
26/12/2015 | Tottenham v Norwich | 3 – 0 | Lay H | -1.00 |
28/12/2015 | Arsenal v Bournemouth | 2 – 0 | No bet | 0.00 |
28/12/2015 | Crystal Palace v Swansea | 0 – 0 | Bet H | -1.00 |
28/12/2015 | Everton v Stoke | 3 – 4 | No bet | 0.00 |
28/12/2015 | Man United v Chelsea | 0 – 0 | Bet H | -1.00 |
28/12/2015 | Norwich v Aston Villa | 2 – 0 | Bet H | 1.10 |
28/12/2015 | Watford v Tottenham | 1 – 2 | Lay A | -1.00 |
28/12/2015 | West Brom v Newcastle | 1 – 0 | No bet | 0.00 |
28/12/2015 | West Ham v Southampton | 2 – 1 | Lay A | 0.75 |
29/12/2015 | Leicester v Man City | 0 – 0 | No bet | 0.00 |
30/12/2015 | Sunderland v Liverpool | 0 – 1 | Lay A | -1.00 |
02/01/2016 | Arsenal v Newcastle | 1 – 0 | Bet H | 0.30 |
02/01/2016 | Leicester v Bournemouth | 0 – 0 | No bet | 0.00 |
02/01/2016 | Man United v Swansea | 2 – 1 | Lay H | -1.00 |
02/01/2016 | Norwich v Southampton | 1 – 0 | No bet | 0.00 |
02/01/2016 | Sunderland v Aston Villa | 3 – 1 | No bet | 0.00 |
02/01/2016 | Watford v Man City | 1 – 2 | Lay A | -1.00 |
02/01/2016 | West Brom v Stoke | 2 – 1 | No bet | 0.00 |
02/01/2016 | West Ham v Liverpool | 2 – 0 | Lay A | 0.92 |
03/01/2016 | Crystal Palace v Chelsea | 0 – 3 | Lay A | -1.00 |
03/01/2016 | Everton v Tottenham | 1 – 1 | Lay A | 0.58 |
12/01/2016 | Aston Villa v Crystal Palace | 1 – 0 | No bet | 0.00 |
12/01/2016 | Bournemouth v West Ham | 1 – 3 | Lay H | 0.97 |
12/01/2016 | Newcastle v Man United | 3 – 3 | Lay A | 1.21 |
13/01/2016 | Chelsea v West Brom | 2 – 2 | Lay H | 2.11 |
13/01/2016 | Liverpool v Arsenal | 3 – 3 | Lay A | 0.62 |
13/01/2016 | Man City v Everton | 0 – 0 | Bet H | -1.00 |
13/01/2016 | Southampton v Watford | 2 – 0 | Bet H | 1.05 |
13/01/2016 | Stoke v Norwich | 3 – 1 | No bet | 0.00 |
13/01/2016 | Swansea v Sunderland | 2 – 4 | No bet | 0.00 |
13/01/2016 | Tottenham v Leicester | 0 – 1 | Bet H | -1.00 |
16/01/2016 | Aston Villa v Leicester | 1 – 1 | No bet | 0.00 |
16/01/2016 | Bournemouth v Norwich | 3 – 0 | No bet | 0.00 |
16/01/2016 | Chelsea v Everton | 3 – 3 | No bet | 0.00 |
16/01/2016 | Man City v Crystal Palace | 4 – 0 | No bet | 0.00 |
16/01/2016 | Newcastle v West Ham | 2 – 1 | Lay H | -1.00 |
16/01/2016 | Southampton v West Brom | 3 – 0 | Bet H | 0.80 |
16/01/2016 | Tottenham v Sunderland | 4 – 1 | Bet H | 0.40 |
17/01/2016 | Liverpool v Man United | 0 – 1 | No bet | 0.00 |
17/01/2016 | Stoke v Arsenal | 0 – 0 | Lay A | 0.97 |
18/01/2016 | Swansea v Watford | 1 – 0 | No bet | 0.00 |
23/01/2016 | Crystal Palace v Tottenham | 1 – 3 | Lay A | -1.00 |
23/01/2016 | Leicester v Stoke | 3 – 0 | No bet | 0.00 |
23/01/2016 | Man United v Southampton | 0 – 1 | Lay H | 1.04 |
23/01/2016 | Norwich v Liverpool | 4 – 5 | Lay A | -1.00 |
23/01/2016 | Sunderland v Bournemouth | 1 – 1 | No bet | 0.00 |
23/01/2016 | Watford v Newcastle | 2 – 1 | Bet H | 1.10 |
23/01/2016 | West Brom v Aston Villa | 0 – 0 | No bet | 0.00 |
23/01/2016 | West Ham v Man City | 2 – 2 | Lay A | 1.33 |
24/01/2016 | Arsenal v Chelsea | 0 – 1 | Bet H | -1.00 |
24/01/2016 | Everton v Swansea | 1 – 2 | Lay H | 1.36 |