Introducing the ‘Relative Shots Rate’

It has all kind of characteristics to make it both in the wide world of football blogging, and in the even wider world of football journalism. The Total Shots Rate, or TSR, is simple and easy to explain and it requires little data. Yet so far it is the single most powerful predictor of future performance of football teams.



For those not yet aware of the concept, let me explain shortly. TSR is simply the fraction of shots created by a football team in a single match, or over multiple matches. If Feyenoord creates 10 shots against Ajax, while Ajax creates 20 shots in that same match, Feyenoord’s TSR will be 0.333 and Ajax’ TSR will be 0.667. The total TSR over a single match will always be 1 and since two teams divide that total, average TSR’s of all teams in a league will always be 0.500. Over multiple matches, simply add together the number of shots created by your team and divide by the total number of shots in those matches.

But despite being the most powerful predictor around, TSR has it’s disadvantages too, with the most obvious one being that it does not correct for strength of schedule. The best teams in a league generally have a TSR of around 0.700, while at the lower end of the table TSR’s of 0.350 are more common. So the better teams seem to be around twice as good as the weaker teams with respect to generating shots. This leads to considerable bias throughout the season, as teams experience a different spread in strength of the opponents they face, but at the end of the season, when all teams have played each other twice, most of this bias has disappeared. The only bias remaining comes from the fact that teams don’t play against themselves, so the best team does not play the best team, while the weakest team does not play the weakest team. So better teams face on average lower TSR opposition compared to weaker teams.



At 11tegen11, we’ve introduced a model to predict the final standing of the Eredivisie table based on TSR. Since shots are nearly ten times more frequent than goals, the model identifies better teams much faster than the regular league table does. The main problem with the model is that teams have different strengths of schedule. After fourteen matches have been played, PSV tops the Eredivisie table in terms of TSR with 0.730. But before the first half of the season is over and all teams have faced each other once, they still have to play Ajax (0.560), Twente (0.559) and N.E.C. (0.498). So it’s safe to assume that their TSR of 0.730 will fall over the coming three matches. Meanwhile, Heerenveen (0.469) still has to play Willem II (0.385), Roda (0.353) and Utrecht (0.544). So Heerenveen’s TSR will likely be an underestimation of their true strength.


Relative Shots

In order to tackle this problem, we will introduce the ‘Relative Shots Rate’, or RSR. The RSR is computed by comparing the number of shots created by a team against the average number of shots created by all teams in the league against that same team. This compares the performance of a team in a certain fixture with how all clubs have performed in that same fixture. Thereby correcting for the strength of schedule.

So, Ajax concedes on average 8.0 shots when playing at home, and VVV created 4 shots in Amsterdam. This gives VVV’s offense a -4.0 for that match. Meanwhile, VVV concedes 17 shots in that same match, against a league average of 13.6, so VVV’s defense record for that match is -3.4. If you would do this for every match played, and then add a team’s offense en defense record separately, you get an overall offense and defense performance that represents the average amount of shots that a team creates or conceded compared to league average.

Over fourteen matches, PSV has created on average 5.95 shots more than league average, while they have conceded 3.59 shots less. Now, these numbers can be converted to a single parameter that we will call the ‘Relative Shots Rate’, or RSR.


Computing the RSR

The average number of shots in a 2012/13 Eredivisie match has been 12.71. So, against the average opponent, one can expect PSV to create 12.71 + 5.95 = 18.66 shots and PSV can be expected to concede 12.71 – 3.59  = 9.12 shots. So the best estimate for shots when PSV plays an average league opponent would be 18.66 shots created by PSV and 9.12 shots conceded by PSV. This translates into a RSR for PSV of 18.66 / (18.66 + 9.12) = 0.672.

Now, we’ve learned that PSV’s TSR of 0.730 is quite a lot higher than their RSR of 0.672. This should indicate a strong series of fixtures coming up before the season is at its half-way stage. And indeed, with Ajax (RSR 0.554), Twente (RSR 0.538) and N.E.C. (RSR 0.486) still to play, PSV likely won’t maintain their TSR as high as 0.730.

As mentioned above, Heerenveen have three relatively easy fixtures coming up before the half-way stage of the season, playing Willem II (RSR 0.402), Roda (RSR 0.393) and Utrecht (RSR 0.536). So Heerenveen’s TSR of 0.469 is likely to be a slight underestimation of their strength.


In the end

So, while TSR is more straightforward and easier to explain, RSR offers a better representation of a team’s strength. It eliminates the bias of strength of schedule, and also allows to correct for situations where teams have played more home or away matches. On top of that, it is possible to create separate RSR’s for home and away matches, but we will save that for a later post…


Shot data provided by Infostrada Sports.

9 thoughts on “Introducing the ‘Relative Shots Rate’

  1. Tim

    “So the best estimate for shots when PSV plays an average league opponent would be 23.81 / (23.81 + 12.71) = 18.26 shots created by PSV and 5.53 / (5.53 + 12.71) = 9.12 shots conceded by PSV.”

    Not sure how this is working out. These should be fractional . . . Also, where did these formulas come from? They look like you are calculating TSR again based on the 23.81/5.53 numbers, but the results don’t replicate that.

    1. 11tegen11 Post author

      This question was related to the way the concept was explained initially.
      This part of the post has been re-written now, and it should be may clearer…

  2. Mikkel

    Exciting! Definitly showing a more precise picture of the strenght of the teams, and interesting to see Roda last in that table!

  3. Rushian

    It’s an interesting approach but, in my opinion, the logic behind these calculations is not clear (to me at least).

    First of all as 23.81 / (23.81 + 12.71) = 18.26 is clearly not right, my understanding based on your explanations is that 18.26 is derived as (23.81 + 12.71) / 2 = 18.26. Armed with this here’s a counter example to test the logic behind these calculations: PSV are about to play at home against VVV. So far each team has played 5 matches and have not played each other. They both form part of a very level league where 50 matches have been played so far. 45 of these matches ended in a 10-10 shots score (including all 5 VVV matches) while the remaining 5 matches ended in 11-10 in favour of PSV. Incidentally, in all their matches PSV played at home whereas VVV played away. So the average shots scoreline in this fictional league is 10.1 – 10 with 10.1 = (45*10 + 5*11) / 50.

    Based on your calculations, if my understanding is correct, your best estimate for PSV’s shots would be: (11 + 10.1) / 2 = 10.55 shots. But this in my opinion doesn’t make any sense! PSV are about to play against a team which is slightly better than the average (so far conceded 10 shots in all their matches in a league where the average is 10.1), but is of the same standard with all the rest of the teams that PSV has faced so far. PSV have consistently made 11 shots against all the remaining equally strong teams, yet this approach estimates the number of shots at “only” 10.55. Shouldn’t the best estimate somehow be at 11 as you have no evidence to believe that VVV is any stronger/weaker than the rest of the teams bar PSV? Or am I missing something here?

    1. 11tegen11 Post author

      You are correct, and I’ve identified where my explanation is off.
      To cut a long story short, the initial idea had been to separate home and away RSR’s in the same post that also introduced the concept. From there on, a slight misinterpretation entered the text, which I have corrected as of now.
      Please forget about the part that mentioned the difficult averaging between PSV’s recored and the imaginary ‘average opponent’.

      PSV’s Total Shot Rate in your example would be 55 shots created and 50 shots conceded. So their TSR would be 55 / 105 = 0.524.

      PSV’s Relative Shot Rate would be calculated as follows. Their offense scores exactly one shot more than other teams did against the opponents that PSV played. Their defense concedes exactly the same amount of shots that other teams conceded against the opponents that PSV played, which is 10.
      So, PSV’s Relative Shot Rate would be 11 / (11 + 10) = 0.524.

      Which makes sense, as their opponents all scored the exact same record, both among themselves and against PSV.

      Thanks for pointing this important issue out!

      1. Rushian

        Thanks for the explanation. I think it does make more sense now.

        I’d be interested in another clarification if I may: I’m focusing on the average 13.6 shots scored and 8.0 shots conceded by Ajax at home when assessing the 17-4 shots mentioned in the Ajax – VVV match. Are these averages calculated by only taking into account matches prior to that particular match? Or are any matches in the meantime (i.e. between the Ajax – VVV match and the match that we would like to price) also taken into consideration when computing the 13.6 – 8.0 averages? What about the Ajax – VVV match itself? Is the 17-4 shots score included in calculating the average 13.6 – 8.0?

        I’m asking this because if the -4 and -3.4 records are calculated based on averages which include later matches, then when pricing future match-ups, the adjustment made due to the particular match will not necessarily be -4 and -3.4 (as the averages will be different by that time). Is that right?

        By the way, your blog and your analysis is very interesting both in terms of the tactical side and in terms of the quantitative / statistical side. Great work!

        1. 11tegen11 Post author

          Hi Rushian,

          Please feel free to pose any questions you may have.
          I’m convinced that any sensible debate on this topic can only help to enhance the quality of the concept we are dealing with here!

          In the method that I use, the averages include all matches played at the moment of calculation.
          So, if Ajax – VVV has been played and it has resulted in 17 shots for Ajax, then those 17 shots are included in the 13.6 that VVV conceded on average in away matches.
          Furthermore, as you’ve mentioned also, matches played after this date will influence the averages being calculated.
          So in fact, every match reveals more information about two teams’ true strengths in terms of shots ratio’s and this extra info changes the RSR of all teams that have faced one or both of these teams.

  4. Pingback: Introduction to Soccer Analytics – The Guys I Follow | Mixed kNuts

  5. Pingback: PDO: Major League Soccer Table 7/12/13 | American Soccer Analysis

Leave a Reply