This document summarises the forecast outcomes for the second weekly set of forecasts for English football match outcomes, following on from last week, and it provides outcomes for forecasts of matches over the last week as detailed in this document.

That second set of forecasts made one improvement over that from the previous week as it used an ordered logit model to provide forecasts for each event outcome (away win, draw, home win). The time it takes to estimate ordered probit models prohibited any serious analysis of such forecasts, but this has since been carried out, and is produced here.

Outcomes

Firstly, we should consider outcomes; we load up the specific outcomes file for matches forecast over the weekend:

loc2 <- "/home/readejj/Dropbox/Teaching/Reading/ec313/2015/Football-forecasts/"
date.1 <- "2015-02-06"
recent.forecast.outcomes <- read.csv(paste(loc2,"forecast_outcomes_",date.1,".csv",sep=""),stringsAsFactors=F)
forecast.matches <- read.csv(paste(loc2,"forecasts_",date.1,".csv",sep=""))
forecast.matches <- forecast.matches[is.na(forecast.matches$outcome)==F,]
forecast.outcomes <- merge(forecast.matches[,c("match_id","outcome","Ph","Pd","Pa")],
                           recent.forecast.outcomes,by=c("match_id"),
                           suffixes=c(".forc",".final"))

First, our Premier League forecasts:

prem.matches <- forecast.outcomes[forecast.outcomes$division=="English Premier",]
prem.matches$id <- 1:NROW(prem.matches)
par(mar=c(9,4,4,5)+.1)
plot(prem.matches$id,prem.matches$outcome.forc,xaxt="n",xlab="",ylim=range(0,1),
     main="Forecasts of Weekend Premier League Matches",
     ylab="Probability of Outcome")
lines(prem.matches$id,prem.matches$Ph,col=2,pch=15,type="p")
lines(prem.matches$id,prem.matches$Pd,col=3,pch=16,type="p")
lines(prem.matches$id,prem.matches$Pa,col=4,pch=17,type="p")
legend("topleft",ncol=4,pch=c(1,15,16,17),col=c(1:4),
       legend=c("OLS","OL (home)","OL (draw)","OL (away)"),bty="n")
abline(h=0.5,lty=2)
abline(h=0.6,lty=3)
abline(h=0.7,lty=2)
abline(h=0.4,lty=3)
lines(prem.matches$id,prem.matches$outcome.final,col=2,type="p")
for(i in 1:NROW(prem.matches)) {
  lines(rep(i,2),c(prem.matches$outcome.forc[i],prem.matches$outcome.final[i]),type="l",lty=2,col=4)
}
axis(1,at=prem.matches$id,labels=paste(prem.matches$team1,prem.matches$team2,sep=" v "),las=2,cex.axis=0.65)

Red circles are outcomes, which are either 0 (away win), 0.5 (draw), or 1 (home win). Blue lines link OLS forecasts to outcomes. Interpreting the success of our ordered logit forecasts (OL, red green and blue solid shapes) is a little trickier on this graph. The red squares are the probability of a home win, and with the exception of Man City’s surprising draw with Hull, all the matches where the probability of a home win was above 60% turned out as a home win. Additionally, the matches where the probability of an away winwas significantly higher than either other probability (QPR v Southampton, Aston Villa v Chelsea and Stoke v Man City) all did turn out as away wins.

Next, our Championship forecasts:

champ.matches <- forecast.outcomes[forecast.outcomes$division=="English Championship",]
champ.matches$id <- 1:NROW(champ.matches)
par(mar=c(9,4,4,5)+.1)
plot(champ.matches$id,champ.matches$outcome.forc,xaxt="n",xlab="",ylim=range(0,1),
     main="Forecasts of Weekend Championship Matches",
     ylab="Probability of Outcome")
lines(champ.matches$id,champ.matches$Ph,col=2,pch=15,type="p")
lines(champ.matches$id,champ.matches$Pd,col=3,pch=16,type="p")
lines(champ.matches$id,champ.matches$Pa,col=4,pch=17,type="p")
legend("topleft",ncol=4,pch=c(1,15,16,17),col=c(1:4),
       legend=c("OLS","OL (home)","OL (draw)","OL (away)"),bty="n")
abline(h=0.5,lty=2)
abline(h=0.6,lty=3)
abline(h=0.7,lty=2)
abline(h=0.4,lty=3)
lines(champ.matches$id,champ.matches$outcome.final,col=2,type="p")
for(i in 1:NROW(champ.matches)) {
  lines(rep(i,2),c(champ.matches$outcome.forc[i],champ.matches$outcome.final[i]),type="l",lty=2,col=4)
}
axis(1,at=champ.matches$id,labels=paste(champ.matches$team1,champ.matches$team2,sep=" v "),las=2,cex.axis=0.65)

In the Championship, again most of the big favourites won, with the possible exception of Ipswich at Rotherham, but given that in that case the away win probability was only at 40%, this is not too dramatic a surprise.

Next, our League One forecasts:

lg1.matches <- forecast.outcomes[forecast.outcomes$division=="English League One",]
lg1.matches$id <- 1:NROW(lg1.matches)
par(mar=c(9,4,4,5)+.1)
plot(lg1.matches$id,lg1.matches$outcome.forc,xaxt="n",xlab="",ylim=range(0,1),
     main="Forecasts of Weekend League One Matches",
     ylab="Probability of Outcome")
lines(lg1.matches$id,lg1.matches$Ph,col=2,pch=15,type="p")
lines(lg1.matches$id,lg1.matches$Pd,col=3,pch=16,type="p")
lines(lg1.matches$id,lg1.matches$Pa,col=4,pch=17,type="p")
legend("topleft",ncol=4,pch=c(1,15,16,17),col=c(1:4),
       legend=c("OLS","OL (home)","OL (draw)","OL (away)"),bty="n")
abline(h=0.5,lty=2)
abline(h=0.6,lty=3)
abline(h=0.7,lty=2)
abline(h=0.4,lty=3)
lines(lg1.matches$id,lg1.matches$outcome.final,col=2,type="p")
for(i in 1:NROW(lg1.matches)) {
  lines(rep(i,2),c(lg1.matches$outcome.forc[i],lg1.matches$outcome.final[i]),type="l",lty=2,col=4)
}
axis(1,at=lg1.matches$id,labels=paste(lg1.matches$team1,lg1.matches$team2,sep=" v "),las=2,cex.axis=0.65)

In League One my own team, Oldham, confounded the forecasts twice, winning at Scunthorpe despite only having a 20% chance, and then beating Swindon at home when the forecast probability of that event was just 30%. This was, however, set in the context of a number of surprising results in this tier, with Bradford beating MK Dons, Gillingham winning at Peterborough and Crewe winning at Colchester, amongst other results.

Next, our League Two forecasts:

lg2.matches <- forecast.outcomes[forecast.outcomes$division=="English League Two",]
lg2.matches$id <- 1:NROW(lg2.matches)
par(mar=c(9,4,4,5)+.1)
plot(lg2.matches$id,lg2.matches$outcome.forc,xaxt="n",xlab="",ylim=range(0,1),
     main="Forecasts of Weekend League Two Matches",
     ylab="Probability of Outcome")
lines(lg2.matches$id,lg2.matches$Ph,col=2,pch=15,type="p")
lines(lg2.matches$id,lg2.matches$Pd,col=3,pch=16,type="p")
lines(lg2.matches$id,lg2.matches$Pa,col=4,pch=17,type="p")
legend("topleft",ncol=4,pch=c(1,15,16,17),col=c(1:4),
       legend=c("OLS","OL (home)","OL (draw)","OL (away)"),bty="n")
abline(h=0.5,lty=2)
abline(h=0.6,lty=3)
abline(h=0.7,lty=2)
abline(h=0.4,lty=3)
lines(lg2.matches$id,lg2.matches$outcome.final,col=2,type="p")
for(i in 1:NROW(lg2.matches)) {
  lines(rep(i,2),c(lg2.matches$outcome.forc[i],lg2.matches$outcome.final[i]),type="l",lty=2,col=4)
}
axis(1,at=lg2.matches$id,labels=paste(lg2.matches$team1,lg2.matches$team2,sep=" v "),las=2,cex.axis=0.65)

In League Two, again by and large results followed predictions, with the exceptions of Hartlepool’s win over Northampton, and away wins for Carlisle, Plymouth and Dagenham and Redbridge.

Next, our Football Conference forecasts:

conf.matches <- forecast.outcomes[forecast.outcomes$division=="Football Conference",]
conf.matches$id <- 1:NROW(conf.matches)
par(mar=c(9,4,4,5)+.1)
plot(conf.matches$id,conf.matches$outcome.forc,xaxt="n",xlab="",ylim=range(0,1),
     main="Forecasts of Weekend Football Conference Matches",
     ylab="Probability of Outcome")
lines(conf.matches$id,conf.matches$Ph,col=2,pch=15,type="p")
lines(conf.matches$id,conf.matches$Pd,col=3,pch=16,type="p")
lines(conf.matches$id,conf.matches$Pa,col=4,pch=17,type="p")
legend("topleft",ncol=4,pch=c(1,15,16,17),col=c(1:4),
       legend=c("OLS","OL (home)","OL (draw)","OL (away)"),bty="n")
abline(h=0.5,lty=2)
abline(h=0.6,lty=3)
abline(h=0.7,lty=2)
abline(h=0.4,lty=3)
lines(conf.matches$id,conf.matches$outcome.final,col=2,type="p")
for(i in 1:NROW(conf.matches)) {
  lines(rep(i,2),c(conf.matches$outcome.forc[i],conf.matches$outcome.final[i]),type="l",lty=2,col=4)
}
axis(1,at=conf.matches$id,labels=paste(conf.matches$team1,conf.matches$team2,sep=" v "),las=2,cex.axis=0.65)

Tabular Version

Numerically it is important to evaluate forecast errors.

For the OLS model:

forecast.outcomes$error <- forecast.outcomes$outcome.final - forecast.outcomes$outcome.forc
forecast.outcomes$error2 <- forecast.outcomes$error^2
forecast.outcomes$aerror <- abs(forecast.outcomes$error)
#summary(forecast.outcomes[forecast.outcomes$tier<=5,c("error","error2","aerror")])
summary(forecast.outcomes[,c("error","error2","aerror")])
##      error              error2              aerror        
##  Min.   :-0.67041   Min.   :0.0000057   Min.   :0.002386  
##  1st Qu.:-0.44742   1st Qu.:0.0307116   1st Qu.:0.175247  
##  Median :-0.06021   Median :0.1244412   Median :0.352762  
##  Mean   :-0.03989   Mean   :0.1563219   Mean   :0.346421  
##  3rd Qu.: 0.33644   3rd Qu.:0.2422470   3rd Qu.:0.492186  
##  Max.   : 0.54857   Max.   :0.4494449   Max.   :0.670407

For the ordered logit we must consider the three outcomes distinctly; for the home win:

forecast.outcomes$error.h <- forecast.outcomes$outcome.final - forecast.outcomes$Ph
forecast.outcomes$error.d <- as.numeric(forecast.outcomes$outcome.final==0.5) - forecast.outcomes$Pd
forecast.outcomes$error.a <- as.numeric(forecast.outcomes$outcome.final==0) - forecast.outcomes$Pa
forecast.outcomes$error.h2 <- forecast.outcomes$error.h^2
forecast.outcomes$error.d2 <- forecast.outcomes$error.d^2
forecast.outcomes$error.a2 <- forecast.outcomes$error.a^2
forecast.outcomes$aerror.h <- abs(forecast.outcomes$error.h)
forecast.outcomes$aerror.d <- abs(forecast.outcomes$error.d)
forecast.outcomes$aerror.a <- abs(forecast.outcomes$error.a)
#summary(forecast.outcomes[forecast.outcomes$tier<=5,c("error","error2","aerror")])
summary(forecast.outcomes[,c("error.h","error.d","error.a")])
##     error.h            error.d            error.a        
##  Min.   :-0.54966   Min.   :-0.28225   Min.   :-0.45499  
##  1st Qu.:-0.29903   1st Qu.:-0.27631   1st Qu.:-0.28259  
##  Median : 0.08454   Median :-0.25355   Median :-0.20753  
##  Mean   : 0.09360   Mean   : 0.02302   Mean   : 0.02558  
##  3rd Qu.: 0.45528   3rd Qu.: 0.71782   3rd Qu.: 0.57654  
##  Max.   : 0.69881   Max.   : 0.83122   Max.   : 0.79573

Considering here just the mean errors, the forecasts for home wins were biased downward much more than those for either the draw or away win; a positive forecast error suggests that the event occurs more often than the model predicts.  Until we consider more forecasts, it is difficult to say whether this is simply an artifact of one particular week.

We can consider also, by division, forecast errors:

library(knitr)
#aggs <- aggregate(forecast.outcomes[forecast.outcomes$tier<=5,c("error","error2","aerror")],
#          by=list(forecast.outcomes$division[forecast.outcomes$tier<=5]),FUN=mean,na.rm=T)
#kable(aggs[c(4,1,2,3,5),])

The error column is the mean forecast error, the error2 column is the mean squared forecast error, and the aerror column is the absolute forecast error.

Finally, we list all the forecasts again with outcomes:

kable(forecast.outcomes[order(forecast.outcomes$date,forecast.outcomes$division),
                       c("date","division","team1","goals1","goals2","team2",
                         "outcome.forc","Ph","Pd","Pa","outcome.final","error","error2","aerror")],digits=3)
date division team1 goals1 goals2 team2 outcome.forc Ph Pd Pa outcome.final error error2 aerror
101 2015-02-07 Conference North Hyde 1 3 Boston Utd 0.356 0.224 0.256 0.520 0.0 -0.356 0.127 0.356
102 2015-02-07 Conference North Tamworth 1 1 Barrow 0.631 0.501 0.261 0.238 0.5 -0.131 0.017 0.131
103 2015-02-07 Conference North Stockport 4 3 Stalybridge 0.647 0.520 0.256 0.225 1.0 0.353 0.124 0.353
100 2015-02-07 Conference South Hayes & Y 0 1 Eastbourne 0.559 0.421 0.278 0.301 0.0 -0.559 0.312 0.559
22 2015-02-07 English Championship Fulham 1 1 Birmingham 0.594 0.458 0.272 0.271 0.5 -0.094 0.009 0.094
24 2015-02-07 English Championship Wolves 1 2 Reading 0.620 0.484 0.266 0.250 0.0 -0.620 0.384 0.620
27 2015-02-07 English Championship Leeds 0 1 Brentford 0.520 0.373 0.282 0.345 0.0 -0.520 0.271 0.520
30 2015-02-07 English Championship Wigan 1 3 Bournemouth 0.392 0.253 0.266 0.481 0.0 -0.392 0.154 0.392
31 2015-02-07 English Championship Watford 1 0 Blackburn 0.610 0.486 0.265 0.249 1.0 0.390 0.152 0.390
32 2015-02-07 English Championship Norwich 4 0 Blackpool 0.734 0.641 0.210 0.149 1.0 0.266 0.071 0.266
35 2015-02-07 English Championship Derby 4 1 Bolton 0.705 0.600 0.227 0.173 1.0 0.295 0.087 0.295
36 2015-02-07 English Championship Millwall 1 3 Huddersfield 0.560 0.416 0.279 0.305 0.0 -0.560 0.314 0.560
37 2015-02-07 English Championship Middlesbro 3 1 Charlton 0.759 0.660 0.201 0.139 1.0 0.241 0.058 0.241
38 2015-02-07 English Championship Sheff Wed 1 1 Cardiff 0.593 0.452 0.273 0.275 0.5 -0.093 0.009 0.093
39 2015-02-07 English Championship Brighton 2 3 Nottm Forest 0.633 0.504 0.260 0.236 0.0 -0.633 0.401 0.633
109 2015-02-07 English Championship Rotherham 2 0 Ipswich 0.455 0.306 0.279 0.416 1.0 0.545 0.297 0.545
47 2015-02-07 English League One Swindon 2 0 Barnsley 0.693 0.581 0.235 0.184 1.0 0.307 0.094 0.307
49 2015-02-07 English League One Yeovil 2 1 Crawley 0.607 0.469 0.269 0.262 1.0 0.393 0.155 0.393
50 2015-02-07 English League One Doncaster 0 2 Walsall 0.590 0.446 0.274 0.280 0.0 -0.590 0.348 0.590
53 2015-02-07 English League One MK Dons 0 0 Bristol C 0.603 0.469 0.269 0.262 0.5 -0.103 0.011 0.103
54 2015-02-07 English League One Scunthorpe 0 1 Oldham 0.633 0.503 0.261 0.236 0.0 -0.633 0.401 0.633
55 2015-02-07 English League One Notts Co 0 1 Chesterfield 0.492 0.341 0.282 0.377 0.0 -0.492 0.242 0.492
58 2015-02-07 English League One Port Vale 2 2 Bradford 0.516 0.366 0.282 0.352 0.5 -0.016 0.000 0.016
59 2015-02-07 English League One Colchester 2 3 Crewe 0.617 0.488 0.264 0.247 0.0 -0.617 0.381 0.617
60 2015-02-07 English League One Gillingham 2 0 Sheff Utd 0.511 0.363 0.282 0.355 1.0 0.489 0.240 0.489
61 2015-02-07 English League One Preston 1 0 Coventry 0.693 0.577 0.236 0.187 1.0 0.307 0.094 0.307
65 2015-02-07 English League One Fleetwood 1 1 Peterborough 0.598 0.458 0.271 0.270 0.5 -0.098 0.010 0.098
67 2015-02-07 English League Two Bury 1 1 Exeter 0.615 0.483 0.266 0.251 0.5 -0.115 0.013 0.115
71 2015-02-07 English League Two Portsmouth 1 0 Hartlepool 0.668 0.549 0.246 0.205 1.0 0.332 0.110 0.332
72 2015-02-07 English League Two AFC W’bledon 2 0 Newport Co 0.580 0.440 0.275 0.285 1.0 0.420 0.177 0.420
73 2015-02-07 English League Two Mansfield 1 0 Stevenage 0.509 0.360 0.282 0.357 1.0 0.491 0.241 0.491
74 2015-02-07 English League Two Cheltenham 1 3 Burton 0.447 0.299 0.278 0.423 0.0 -0.447 0.200 0.447
77 2015-02-07 English League Two Plymouth 1 0 Accrington 0.657 0.537 0.250 0.213 1.0 0.343 0.118 0.343
78 2015-02-07 English League Two Shrewsbury 1 1 Southend 0.664 0.539 0.250 0.211 0.5 -0.164 0.027 0.164
79 2015-02-07 English League Two Cambridge U 0 1 Wycombe 0.572 0.431 0.276 0.292 0.0 -0.572 0.328 0.572
80 2015-02-07 English League Two Tranmere 0 2 Carlisle 0.670 0.550 0.246 0.204 0.0 -0.670 0.449 0.670
83 2015-02-07 English League Two York 0 2 Dag & Red 0.612 0.476 0.268 0.256 0.0 -0.612 0.375 0.612
86 2015-02-07 English League Two Northampton 2 1 Morecambe 0.624 0.493 0.263 0.244 1.0 0.376 0.142 0.376
87 2015-02-07 English League Two Oxford 1 1 Luton 0.492 0.341 0.282 0.377 0.5 0.008 0.000 0.008
1 2015-02-07 English Premier Leicester 0 1 C Palace 0.534 0.387 0.281 0.331 0.0 -0.534 0.285 0.534
3 2015-02-07 English Premier QPR 0 1 Southampton 0.389 0.247 0.265 0.488 0.0 -0.389 0.151 0.389
4 2015-02-07 English Premier Man City 1 1 Hull 0.773 0.673 0.195 0.132 0.5 -0.273 0.074 0.273
5 2015-02-07 English Premier Aston Villa 1 2 Chelsea 0.327 0.201 0.244 0.555 0.0 -0.327 0.107 0.327
6 2015-02-07 English Premier Tottenham 2 1 Arsenal 0.501 0.349 0.282 0.369 1.0 0.499 0.249 0.499
8 2015-02-07 English Premier Everton 0 0 Liverpool 0.502 0.355 0.282 0.363 0.5 -0.002 0.000 0.002
9 2015-02-07 English Premier Swansea 1 1 Sunderland 0.591 0.453 0.273 0.275 0.5 -0.091 0.008 0.091
105 2015-02-07 FA Trophy Halifax 3 1 Dartford 0.707 0.604 0.226 0.170 1.0 0.293 0.086 0.293
106 2015-02-07 FA Trophy Gateshead 2 2 Wrexham 0.664 0.540 0.249 0.210 0.5 -0.164 0.027 0.164
108 2015-02-07 FA Trophy Dover 3 3 Bath City 0.798 0.725 0.169 0.106 0.5 -0.298 0.089 0.298
92 2015-02-07 Football Conference Forest Green 2 1 Grimsby 0.546 0.397 0.281 0.323 1.0 0.454 0.206 0.454
93 2015-02-07 Football Conference Altrincham 1 0 Aldershot 0.663 0.536 0.251 0.214 1.0 0.337 0.114 0.337
94 2015-02-07 Football Conference Bristol R 2 0 Lincoln 0.644 0.517 0.256 0.226 1.0 0.356 0.127 0.356
95 2015-02-07 Football Conference Alfreton 4 2 Southport 0.539 0.391 0.281 0.328 1.0 0.461 0.213 0.461
96 2015-02-07 Football Conference Eastleigh 3 3 Telford 0.713 0.608 0.224 0.168 0.5 -0.213 0.045 0.213
97 2015-02-07 Football Conference Macclesfield 3 2 Welling 0.724 0.617 0.220 0.163 1.0 0.276 0.076 0.276
99 2015-02-07 Football Conference Barnet 2 1 Woking 0.664 0.545 0.248 0.208 1.0 0.336 0.113 0.336
2 2015-02-08 English Premier West Ham 1 1 Man Utd 0.513 0.364 0.282 0.354 0.5 -0.013 0.000 0.013
7 2015-02-08 English Premier Burnley 2 2 West Brom 0.560 0.415 0.279 0.306 0.5 -0.060 0.004 0.060
10 2015-02-08 English Premier Newcastle 1 1 Stoke 0.533 0.385 0.281 0.334 0.5 -0.033 0.001 0.033
46 2015-02-09 English League One Bradford 2 1 MK Dons 0.466 0.315 0.280 0.406 1.0 0.534 0.286 0.534
21 2015-02-10 English Championship Blackpool 1 2 Middlesbro 0.333 0.205 0.247 0.548 0.0 -0.333 0.111 0.333
23 2015-02-10 English Championship Charlton 2 3 Norwich 0.465 0.313 0.279 0.408 0.0 -0.465 0.216 0.465
25 2015-02-10 English Championship Brentford 1 2 Watford 0.573 0.427 0.277 0.296 0.0 -0.573 0.328 0.573
26 2015-02-10 English Championship Huddersfield 1 4 Wolves 0.528 0.380 0.282 0.338 0.0 -0.528 0.278 0.528
28 2015-02-10 English Championship Cardiff 0 0 Brighton 0.548 0.400 0.280 0.320 0.5 -0.048 0.002 0.048
29 2015-02-10 English Championship Bolton 3 1 Fulham 0.612 0.477 0.267 0.255 1.0 0.388 0.151 0.388
33 2015-02-10 English Championship Ipswich 2 1 Sheff Wed 0.698 0.583 0.234 0.183 1.0 0.302 0.091 0.302
34 2015-02-10 English Championship Birmingham 0 1 Millwall 0.647 0.518 0.256 0.226 0.0 -0.647 0.418 0.647
41 2015-02-10 English Championship Bournemouth 2 2 Derby 0.579 0.440 0.275 0.285 0.5 -0.079 0.006 0.079
42 2015-02-10 English Championship Blackburn 2 1 Rotherham 0.655 0.527 0.254 0.220 1.0 0.345 0.119 0.345
43 2015-02-10 English Championship Reading 0 2 Leeds 0.599 0.458 0.271 0.270 0.0 -0.599 0.358 0.599
44 2015-02-10 English League One Bristol C 3 1 Port Vale 0.734 0.631 0.214 0.155 1.0 0.266 0.071 0.266
45 2015-02-10 English League One Leyton Orient 0 1 Notts Co 0.567 0.426 0.277 0.297 0.0 -0.567 0.322 0.567
48 2015-02-10 English League One Chesterfield 0 2 Preston 0.570 0.428 0.277 0.295 0.0 -0.570 0.325 0.570
51 2015-02-10 English League One Crawley 0 5 Doncaster 0.474 0.321 0.280 0.398 0.0 -0.474 0.224 0.474
52 2015-02-10 English League One Coventry 1 1 Scunthorpe 0.519 0.370 0.282 0.348 0.5 -0.019 0.000 0.019
56 2015-02-10 English League One Oldham 2 1 Swindon 0.452 0.301 0.278 0.421 1.0 0.548 0.300 0.548
57 2015-02-10 English League One Barnsley 1 2 Fleetwood 0.606 0.468 0.269 0.263 0.0 -0.606 0.367 0.606
62 2015-02-10 English League One Crewe 1 0 Yeovil 0.614 0.474 0.268 0.258 1.0 0.386 0.149 0.386
63 2015-02-10 English League One Peterborough 1 2 Gillingham 0.574 0.432 0.276 0.292 0.0 -0.574 0.329 0.574
64 2015-02-10 English League One Sheff Utd 4 1 Colchester 0.699 0.579 0.235 0.185 1.0 0.301 0.091 0.301
66 2015-02-10 English League One Walsall 3 2 Rochdale 0.541 0.393 0.281 0.326 1.0 0.459 0.211 0.459
68 2015-02-10 English League Two Stevenage 0 0 Bury 0.589 0.448 0.273 0.279 0.5 -0.089 0.008 0.089
69 2015-02-10 English League Two Newport Co 1 1 Tranmere 0.588 0.443 0.274 0.283 0.5 -0.088 0.008 0.088
70 2015-02-10 English League Two Hartlepool 1 0 Northampton 0.451 0.302 0.278 0.420 1.0 0.549 0.301 0.549
75 2015-02-10 English League Two Dag & Red 0 0 Portsmouth 0.575 0.432 0.276 0.292 0.5 -0.075 0.006 0.075
76 2015-02-10 English League Two Carlisle 1 2 Shrewsbury 0.414 0.269 0.271 0.460 0.0 -0.414 0.172 0.414
81 2015-02-10 English League Two Wycombe 0 2 Plymouth 0.647 0.515 0.257 0.228 0.0 -0.647 0.419 0.647
82 2015-02-10 English League Two Morecambe 2 1 Mansfield 0.649 0.521 0.255 0.224 1.0 0.351 0.123 0.351
84 2015-02-10 English League Two Southend 2 0 Cheltenham 0.717 0.600 0.227 0.172 1.0 0.283 0.080 0.283
85 2015-02-10 English League Two Accrington 1 0 Oxford 0.530 0.379 0.282 0.339 1.0 0.470 0.221 0.470
88 2015-02-10 English League Two Exeter 2 2 Cambridge U 0.505 0.351 0.282 0.367 0.5 -0.005 0.000 0.005
89 2015-02-10 English League Two Burton 0 0 AFC W’bledon 0.659 0.530 0.253 0.218 0.5 -0.159 0.025 0.159
90 2015-02-10 English League Two Luton 2 2 York 0.675 0.550 0.246 0.204 0.5 -0.175 0.031 0.175
11 2015-02-10 English Premier Arsenal 2 1 Leicester 0.753 0.653 0.204 0.143 1.0 0.247 0.061 0.247
12 2015-02-10 English Premier Hull 2 0 Aston Villa 0.554 0.411 0.279 0.310 1.0 0.446 0.199 0.446
16 2015-02-10 English Premier Liverpool 3 2 Tottenham 0.604 0.468 0.269 0.263 1.0 0.396 0.157 0.396
19 2015-02-10 English Premier Sunderland 0 2 QPR 0.663 0.538 0.250 0.212 0.0 -0.663 0.440 0.663
104 2015-02-10 Evo-Stik S Premier Histon 0 0 Slough 0.452 0.315 0.280 0.405 0.5 0.048 0.002 0.048
91 2015-02-10 Football Conference Alfreton 2 2 Forest Green 0.416 0.273 0.272 0.455 0.5 0.084 0.007 0.084
98 2015-02-10 Football Conference Southport 1 2 Eastleigh 0.488 0.339 0.282 0.379 0.0 -0.488 0.238 0.488
107 2015-02-10 Football Conference Macclesfield 2 1 Altrincham 0.685 0.569 0.239 0.192 1.0 0.315 0.099 0.315
40 2015-02-11 English Championship Nottm Forest 3 0 Wigan 0.586 0.444 0.274 0.282 1.0 0.414 0.171 0.414
13 2015-02-11 English Premier Man Utd 3 1 Burnley 0.738 0.636 0.212 0.152 1.0 0.262 0.068 0.262
14 2015-02-11 English Premier Southampton 0 0 West Ham 0.630 0.502 0.261 0.237 0.5 -0.130 0.017 0.130
15 2015-02-11 English Premier C Palace 1 1 Newcastle 0.596 0.459 0.271 0.270 0.5 -0.096 0.009 0.096
17 2015-02-11 English Premier West Brom 2 0 Swansea 0.525 0.376 0.282 0.342 1.0 0.475 0.226 0.475
18 2015-02-11 English Premier Chelsea 1 0 Everton 0.733 0.630 0.215 0.155 1.0 0.267 0.071 0.267
20 2015-02-11 English Premier Stoke 1 4 Man City 0.459 0.308 0.279 0.413 0.0 -0.459 0.211 0.459