Week 6 is now in the books, so let’s see how the model held up. For a refresher, here’s the expected goals we generated last week for Week 6. The favored teams are in bold.
EFL_L2_Pred %>%
filter(Wk == 6)
Wk team1 team2 expg1 expg2
1 6 Bradford City Walsall 1.5263992 0.4786214
2 6 Exeter City FG Rovers 2.1071433 2.0331495
3 6 Oldham Athletic Barrow 0.5359346 1.2877314
4 6 Mansfield Town Harrogate 1.0020996 4.0052352
5 6 Stevenage Swindon Town 0.5977011 1.7943734
6 6 Port Vale Rochdale 0.4294908 0.3306406
7 6 Tranmere Rovers Hartlepool Utd 0.2696606 1.0023774
8 6 Northampton Scunthorpe Utd 1.4775007 0.8982173
9 6 Colchester Utd Sutton United 0.7700193 0.4400964
10 6 Carlisle United Salford City 1.0891702 0.9228864
11 6 Bristol Rovers Crawley Town 0.7005184 1.9067104
12 6 Newport County Leyton Orient 0.3434896 2.0386526
Here’s the results for Week 6:
Home HomeGoals Away AwayGoals
1 Bradford City 1 Walsall 1
2 Exeter City 0 FG Rovers 0
3 Oldham Athletic 0 Barrow 3
4 Mansfield Town 1 Harrogate 3
5 Stevenage 1 Swindon Town 1
6 Northampton 2 Scunthorpe Utd 0
7 Port Vale 2 Rochdale 3
8 Tranmere Rovers 1 Hartlepool Utd 0
9 Colchester Utd NA Sutton United NA
10 Carlisle United 2 Salford City 1
11 Newport County 2 Leyton Orient 2
12 Bristol Rovers 1 Crawley Town 0
The model only predicted 4 outcomes correctly…not great. Some teams exceeded their expected goals total, and some failed to live up to expectations.
Here’s updated attack and defense ratings for each team after Week 6, still using the default model.

Going into Week 6 it was FG Rovers that had the highest attack rating. Now Harrogate leads the table in attack rating with a 0.82. We can also see that only 5 teams in League 2 have positive attacking and defensive ratings. Right now they appear to be the most consistent and I’ll track that as the season progresses.
For Week 7’s matches, I’ll run the expected goals model and a win/loss probability model.
Here’s Week 7’s expected goals:
Week team1 team2 expg1 expg2
1 7 Harrogate Newport County 3.2384019 0.7911888
2 7 Barrow Colchester Utd 0.8259142 0.5957292
3 7 Hartlepool Utd Bristol Rovers 2.7177073 0.8165772
4 7 FG Rovers Northampton 1.2990317 1.2725970
5 7 Salford City Bradford City 1.5832205 1.4184628
6 7 Walsall Mansfield Town 0.9182043 1.2327451
7 7 Swindon Town Port Vale 0.8636511 0.6369436
8 7 Leyton Orient Oldham Athletic 2.9617286 0.4014131
9 7 Sutton United Stevenage 0.8573164 1.3136180
10 7 Crawley Town Carlisle United 0.6289711 1.5058894
11 7 Scunthorpe Utd Exeter City 0.4261316 0.8567660
12 7 Rochdale Tranmere Rovers 0.6335677 0.3413748
Here’s Week 7’s win/loss probability. In the data frame, “p1” is team1’s win probability, “pd” is the probability of a draw, and “p2” is team2’s win probability.
Week team1 team2 p1 pd p2
7 Harrogate Newport County 0.8406572 0.10230971 0.05703306
7 Barrow Colchester Utd 0.3809036 0.37547852 0.24361788
7 Hartlepool Utd Bristol Rovers 0.7731559 0.14006616 0.08677790
7 FG Rovers Northampton 0.3734309 0.26558364 0.36098543
7 Salford City Bradford City 0.4151681 0.24203398 0.34279794
7 Walsall Mansfield Town 0.2752443 0.29040866 0.43434703
7 Swindon Town Port Vale 0.3844762 0.36360530 0.25191849
7 Leyton Orient Oldham Athletic 0.8816356 0.08977042 0.02859397
7 Sutton United Stevenage 0.2438464 0.28356433 0.47258927
7 Crawley Town Carlisle United 0.1545770 0.25975977 0.58566326
7 Scunthorpe Utd Exeter City 0.1737945 0.38807100 0.43813449
7 Rochdale Tranmere Rovers 0.3669877 0.46331830 0.16969396
Leyton Orient, Harrogate and Hartlepool United have the highest win probabilities going into Week 7. I’ll keep an eye on the scores and see how the models perform this week.