RFID in the NHL Part – 2Analysis

RFID in the NHL Part – 2

The LMFAO feat. Lil Jon Theorem


Some may wonder as to why I chose “The LMFAO feat. Lil Jon Theorem” as a subtitle. Well, they have a very popular song named “Shots” and found it fitting because this article is all about shots.

Previously on RFID in the NHL

In my previous article about RFID in the NHL, I attempted to help the average fan understand how RFID works. I do apologize if you work with or worked with the technology previously. It was not my intention to waste your time. I also have to clear up a minor error I made in the first article. I had used the word “triangulation” to show how you could locate a ship or a puck. Before using triangulation, you must first find one of the two angles opposite of the unknown distance from the reference plane. Later on, I will demonstrate one of the ways you can calculate an x, y coordinate using RFID. There are many other methods, but the one I have chosen is the easiest to understand.

What I had previously covered:

  • RFID – Radio Frequency Identification
  • Types of RFID equipment
  • Example of everyday RFID use
  • Location – simply could be done by triangulation
  • Speed – location over many instances in time
  • Touched on types of created data
  • An example of how RFID could give us a real possession quantification and not a proxy

Rink Count Bias

One of the problems with using NHL RTSS data is that it comes with a rink count bias.

War-On-Ice, a website dedicated to hockey statistics, defines it like so:

Rink count bias — the official scorers in each building can be externally inconsistent with each other on what constitutes a shot attempt on goal.

Similarly to War-On-Ice, many statisticians have made adjustment formulas to account for this rink count bias. Hopefully soon with the use of RFID, rink count bias will be a thing of the past. Eventually, a computer will differentiate between and count shots/passes, hits, and turnovers. Please note that a computer can and will only do what it is told/programmed to do. Furthermore, unbiased data logging will bring more validity to the statistics of yesterday, today and tomorrow.

Shots and Scoring Chances

Even though, for the most part, I believe in the current direction of today’s advanced statistics, RFID could become a game changer and may accelerate the creation of new statistics and the expansion of current ones. So far, people have built upon simple stats like Shots on Goal and Blocked Shots to using newly accepted NHL stats like SAT (Corsi) and USAT (Fenwick). SAT and USAT have, until recently, only been available via privately run webpages like www.extraskater.com and its unofficial successor www.war-on-ice.com. If you click on the latter of the two links and look around, you will see all the amazing things they have been able to do with a limited and biased amount of data.

Using the actual puck location on a two-dimensional plane (ice surface) and calculated puck speed (location change over a span of time), we will be able to analyze a shot towards the net in more depth than we can today. Currently, the best available calculation of shot location is done by compiling JSON data. This is the method that War On Ice and many others utilize. It should also be noted that all shot data after 2005 has been composed of x-y coordinates. This data is “not great but not terrible.” With what is available today, guys like @acthomasca have done great work with shot plotting. My hope is that shot location data will become “great” with RFID as guys like him will be able to expand on their research.

I truly believe that knowing everything about a shot should bring more assessment tools at the player and team levels.

For the next example, keep this in mind: I am not attempting to pretend that I know why or how things like puck speed will be weighted into player assessment formulas. This is the job of statisticians and not a guy that simply knows a little bit about the technology. With that being said, for this example, I am just going to assume that shot origin location and puck speed will be weighted evenly only to show how something like puck speed could affect the risk of a scoring chance. I have also asked @acthomasca permission to use his definition of scoring chances for the following example. To which he said, “Fine by me! That’s what we’re here for, after all.”

Scoring chances have been defined and outlined like so by War-On-Ice:

Currently, scoring chances have been divided into 3 zones.

  • In the low danger zone, unblocked rebounds and rush shots only.
  • In the medium danger zone, all unblocked shots.
  • In the high danger zone, all shot attempts (since blocked shots taken here may be more representative of more “wide-open nets,” though we don’t know this for sure.)

zones-threeImage courtesy of War-On-Ice

Using RFID, shot plotters will have access to a more accurate reading of shot origin, and to a statistician, accuracy is the key to success. RFID puck speed data could possibly redefine what a scoring chance is.

In the hypothetical below on how the above data could be expanded on, I will keep the above definitions unchanged. Moreover, I will just be shortening the terms to acronyms and I will be adding some definitions of my own.

  • HDZ – High Danger Zone
  • MDZ – Medium Danger Zone
  • LDZ – Low Danger Zone

Puck speed is something that should/will soon be added to shot data and is a major game changer when assessing a scoring chance. Below, I am assuming that shot speed could increase, decrease or not change the danger level of the scoring chance. For instance, the high danger shot origin zone is considered the slot and low slot. What we know today is only where the shot originated from and if it was a goal, miss, block or save.  For the lack of a better phrase, we cannot really assess how “good” of a scoring chance it was. Since there are currently 3 danger zones, I will divide speeds into 3 different danger ranges.

  • LDSpd – Low Danger Speed (0-60kph)
  • MDSpd – Medium Danger Speed (60+ – 90kph)
  • HDSpd – High Danger Speed (90+kph)

NOTE: I have NOT randomly selected the speed ranges for this example. I went to a local batting cage and caught balls instead of hitting them to get a feel for my own reaction time. The batting cages in my area max out a 90 kph.

SIDENOTE: They should also force you to sign some sort of waiver form before stepping into the 90+ cage – Holy Shit! Even though I had caught them all but one, I did feel very uneasy in there. I was also warned that it is a batting cage and not a catch trainer.

I am going to assume that the 3 speed ranges could:

  • Decrease the outcome danger for LDSpd
  • Unchange the outcome danger at MDSpd
  • Increase the outcome danger at HDSpd

With the above assumptions we can create 4 outcomes:

  • LDSC – Low Danger Scoring Chance (I will not give a scoring chance any lower rating than this because shit happens – like Bernier letting in a piss bucket from beyond center ice)
  • MDSC – Medium Danger Scoring Chance
  • HDSC – High Danger Scoring Chance
  • EHDSC – Extreme High Danger Scoring Chance

Now with all of the above information, we can assume that changes to a scoring chance could change in the High Danger Zone:

  • HDZ+MDSpd = HDSC

We could also do this in the Low Danger and Medium Dangers Zones:

  • LDZ+LDSpd = LDSC
  • LDZ+MDSpd = LDSC
  • LDZ+HDSpd = MDSC (Weber – Subban)
  • MDZ+LDSpd = LDSC
  • MDZ+MDSpd = MDSC
  • MDZ + HDSpd = HDSC

As you can see above, speed should/could factor into assessing scoring chances.

Net Traffic

Another thought into scoring chances and that should be assessed at the team level only, is moving traffic. Moving traffic between the shot origin and goalie could better help in understanding coaching systems. Traffic can be tracked, but would be tough to weight and decide on when to account for it. I don’t see this as very helpful at the player level because some teams create more net traffic than others. Since traffic can be dependent on teammates and coaches, assessing an individual scoring chances with traffic implementation, seems to be an unfair avenue.

Many occurrences within the traffic itself, such as: unintended redirections, intended redirections, no puck impedances at all could happen. Increasing or decreasing scoring chance dangers with that many variables is for a statistician and not an industrial electrician like myself, but could be as easy as subtracting the distance a puck had travelled after all the traffic from total distance that the puck had travelled, hence changing the original danger zone.

I have an expansive thought on my example of speed. Speed is a measurement of distance travelled over time. Maybe not using a value of time itself, the speed ranges I used above could also be used to get better scouting reports on opposing goalies. Thinking in this manner will allow us to know all shot locations a goalie sees or doesn’t see and how fast the puck got to him. As a result, I believe a deeper scouting report on goalies could also be created. For instance, everyone should agree that shots at higher speeds are more difficult to react to. If one wanted, one could even find out exactly how good a goalie is after locating a puck after it has come through some traffic. Like I said, I will leave accounting for puck speed and traffic to pros like War-On-Ice. Challenge accepted?

Goals and Near Misses on a Vertical Plane

(A New Idea — I Think — I don’t mind being corrected, email me)

Currently we can listen to any play-by-play voice and hear phrases like:

  • “Just Over The Bar”
  • “Just Outside The Near Post”
  • “Woof and he missed by a country mile”

Imagine quantifying these phrases within reason, using real-time data.

MLB Baseball has implemented a system named PitchTrax. They can graphically locate strikes, fouls and balls in a 2 dimensional graphical representation.

Using RFID, why can’t something similar be used to graphically track shots directed closely towards the net. “PuckTrax”? “ShotTrax”? If RFID can tell us where a puck is on a horizontal 2 dimensional plane, why can’t we plot an instance in time on vertical plane? Well…we can, and I will explain how. Remember back in Part 1 when I explained how triangulation works? The same can be done vertically. A so called “ShotTrax” system should be easier to develop than the PitchTrax system, because a goal line is 2 dimensional and a strike zone is in fact 3 dimensional.

Using the following graphical representation you can see how the system could calculate the location of the puck using the law of cosines and triangulation together.



Dont be scared of the above picture. It really is, very simple.

RFID systems can get very complex. Some systems use a set comparison tag(s) for far better location pinpointing. For the sake of this article I will be assuming that the system will be using a relationship between signal strength and distance like mentioned in Part 1.

What we know for sure:

  • H = 36 ft (receiver height)
  • A = 52 ft (known distance to puck from receiver 2 using signal strength – R2)
  • B = 48 ft (known distance to puck from receiver 1 using signal strength – R1)
  • C = 85 ft (known distance between receivers, also happens to be width of NHL ice surface)

To triangulate the pucks x,y coordinate we first need to find angles a, b & c. Using the law of cosines. This can be achieved like so:

Knowing all three sides of the above triangle we can use these formulas:

  • A2 = B2 + C2 – 2BC cos(a) – For angle (a)
  • B2 = A2 + C2 – 2AC cos(b) – For angle (b)
  • C2 = A2 + B2 – 2AB cos(c) – For angle (c)

NOTE: If you are not interested in the math behind plotting a shot coordinate start skipping here.


Angle (a)

A2 = B2 + C2 – 2BC cos(a)

2BC cos(a) = B2 + C2 – A2

cos(a) = (B2 + C2 – A2)/2BC

a = [(B2 + C2 – A2)/2BC]cos-1

a = [(482 + 852 – 522)/(2)(48)(85)]cos-1

a = [(6825)/(8160)]cos-1

a = [0.836]cos-1

a = 33.24 deg

Angle (b)

B2 = A2 + C2 – 2AC cos(b)

2AC cos(b) = A2 + C2 – B2

cos(b) = (A2 + C2 – B2)/2AC

b = [(A2 + C2 – B2)/2AC]cos-1

b = [(522 + 852 – 482)/(2)(52)(85)]cos-1

b = [(7625)/(8840)]cos-1

b = [0.863]cos-1

b = 30.40 deg

Angle (c)

C2 = A2 + B2 – 2AB cos(c)

2AB cos(c) = A2 + B2 – C2

cos(c) = (A2 + B2 – C2)/2AB

c = [(A2 + B2 – C2)/2AB]cos-1

c = [(522 + 482 – 852)/(2)(52)(48)]cos-1

c = [(-2217)/(4992)]cos-1

c = [-0.444]cos-1

c = 116.37 deg

Since all angles within a triangle equal 180 deg, by adding all three above angles we can double check the math.

180 = 33.24 + 30.40 + 116.37

180 = 180.01

Close enough for a trades-person

**blows on fingers, rubs on chest**

To find the x, y coordinate of the shot, all we really needed was angle (a). All of the above was to show/check that my triangle was true. Appologies if the above math brought back terrible memories of OAC (Grade 13) Linear Algebra.

Now by using our Native friend we were introduced to in grade school, SOH CAH TOA, we can now find the x,y coordinate because we know angle (a).

sin(a) = opposite side/hypotenuse (d/B)

cos(a) = adjacent side/hypotenuse (X/H)

Finding x

cos(a) = x/B

cos(33.24) = x/48

0.836 = x/48

(50)(0.836) = x

x = 40.15 ft

Finding y (y = H-d)

sin(a) = d/B

sin(33.24) = d/48

(0.548) = d/48

(48)(0.548) = d

d = 26.31

y =H-d

y = 30 – 26.31

y = 3.69 ft

NOTE: If you had decided to skip all the math, start reading again here.

Now that we have an x, y coordinate the shot plot would actually look like this. Hopefully this has helped you understand how it could be done. If you had skipped the above and don’t understand what happened, I invite you take a trip down memory lane and read the above math.



x = 40.15 ft     y = 3.69 ft

Now you may be asking yourself “What in the bloody hell do I need that for?”

As a fan, you really don’t. This may be something that is implemented as a “second screen” on a future version of NHL GameCenter, similar to the option of a referee cam. Otherwise, to the average fan this is just side screen eye candy. Something like this proposed shot plotting could be very useful to teams wanting to better rating shooters and/or goalies. In fact, this could be a very useful tool for a team scouting an upcoming opposing goalie. It could possibly show where their goalie may have a weakness and where their goalies strengths may be. In addition to my scoring chance example, all goals against the said goalie could have a plotted entry point. Using both examples together could be a double edged sword in knowing goalie weakness/strength and/or shooter strength/tendency.

A minor expansion on vertical shot plots. Using only the above example, the system is only tracking shots that pass the goal plane. It does not plot blocked shot attempts. The question is could it? The answer is YES. If needed, one could also plot a blocked shot. One would know everything the shot had done before it was blocked and since hence being able to calculate its 3-Dimensional trajectory.  Knowing the shot’s trajectory prior to the block one would be able to continue that trajectory using the pucks previous trajectory. This is some really heavy 3D Trilateration and/or Triangulation and would consume too much of my time to show how it could be done. With that being said I remember a physics project in high school, where we had to plot unknown distances using three known test points. Before the days of buying kids toys that resembled guns was a no-no, our project consisted of making a projectile launcher; basically a low velocity marble cannon. Our group used a piece of pipe as a barrel and a loaded spring as the marble propeller. We loaded the spring by turning a nut on a threaded rod. What our group did was measured marble shot distance by threading the nut in 1 cm increments four times. With knowing marble distances, thread lengths and using gravity; we plotted a graph that gave us all distances between 1m and 10m by only using the 4 allowed test points. Though not exactly the same as continuing a puck’s trajectory, it is an example of mathematically filling in the blanks of the unknown.

A final thought and what’s to come

Well I really hope that people got to this point, and are reading these final few words. If you did get this far, I promise to not use any more math in my upcoming parts. Hopefully, with what I have shown, you can see how easy it would be for a computer to calculate and instantly know object location data. Like I said, I went a little heavy and may have possibly bored some people, but the tech nerd in me really wanted to show a working example on how a computer system would pinpoint a location using location data being sent by the RFID system. I really believe the sky’s the limit with simple to advanced locating technology like RFID and I hope you as the reader are seeing it as well.

In the upcoming RFID in the NHL Part 3; I will show how RFID could explain more about hitting and bring up a topic that is not talked about enough when assessing player ability. Is it not talked about enough due to a lack of available data? I don’t know, but I do believe it is a vital part of player assessment and should be used once the technology is in place. RFID will be a game changer, I haven’t even scraped the surface on what could be done with it, and most likely never will.

Thanks For Reading

Note: If for any reason you believe I have not explained something correctly, by all means, email me.

Related Posts