I wrote the code in Python, and am happy to share, but for now I've struggled to make iPython play nice with Blogger, so I'm pasting images of my code instead:
In this case, as sadly so often in real life, Arsenal won. And not just by a small margin, but 3-0. Pundits would have had a field day, identifying why Arsenal were so much better, what tactical decisions were crucial, etc etc. Except in this case, any patterns identified would be nothing but coincidence. The result is even against the odds - Tottenham had a 20% skill advantage but still failed to capitalize. The reason for this is that in football the odds of scoring are small, consequently a lot of results are determined by luck. However, you might say, 'I bet this guy just ran the simulator loads of times until he got the result he wanted. These things even out over the course of the season'. And you'd be right about the former, but not the latter. So to prove my point holds, I wrote a mini league with just Tottenham and Arsenal where each season involves only two games. I ran this simulation 100 times to see how big an effect the 20% advantage would yield. What do you think I found?