chl logo copy

Eric Tulsky introduced a methodology to estimate Prospect Usage. The work was informative and exceptionally thought out, while clearly highlighting the glaring lack of available data at the CHL level.

The lack of available data initially spawned this project, which grew in scope initialized shortly after the NHL returned from the lockout.

Eric’s concept of time on ice and qualcomp is what this project strived to become and he elaborately overshadowed my piddly attempt at a soft intro. There’s a spreadsheet attached with more intricate statistics for 2013 draft-eligible players within that post.

I’m not quite there, yet, but I concede to the realization I likely won’t contribute an awful lot contextually to advance the hockey discussion further. But I’m working on that.

Frankly, better mathimarithmeticians (patent pending) exist that could use the data to fulfill a greater purpose.

As such, welcome to the McKeen’s Hockey CHL Extended Stats pages, the birth of public, user-driven CHL fancy stats. The main link is located on the McKeen's Hockey main page at the bottom of content.

Optimistic perhaps, the goal is to load historical data adding layers to sample size as in an effort to build models based on prospects ages, performance in their draft years, draft+1 and draft+2 as well as overage.

Functionally, I also wanted the ability to filter down and to customize date ranges. Date range functionality became a driver for pinpointing specific date ranges where perhaps a scout missed a player and wanted more intricate information. Other considerations include carousel of different linemates, injury replacement, different game situations among many other situations.

Messages could lie in details, like the universe being explained by Higgs Bozak .. uh. Higgs Boson.

I wanted to approach Plank Length minuscule to help develop the big picture.

Functionality was important but data integrity was the prime concern. The data has been thoroughly tested over an array of scenarios, however, let me know of any discrepancy or concern, and I will address it.

Special thanks should go out to Matt Pfeffer for his insight, as well as developer, Steve Laundrie.

Steve has done an incredible job with some complex requirements and delicate coding. Steve’s bio is below.

Steve Laundrie is a computer programmer currently working for the Ontario Public Service.  He has worked as a systems admin, a database admin, and a QA tech.  He also runs and has played in sim hockey leagues for 8 years.  He can be followed on Twitter @Super_Steef


User Input and Functionality

Integrating multiple user inputs poses challenges of varying degree. The delicate balance of variable data and multiple filters can create intricate complications when trying to maintain simplicity for users. Running complicated equations and maintaining uniformity across Canadian Hockey League clubs posed different challenges. This section is to describe some of the basic functionality - although the site is fairly easy to use.

As of puck drop 2013-14 the plan is to refresh weekly.

Multiple input criteria as stand alone, or integrated among other search conditions are spread over three levels:

Level 1

  • Player position
  • Filtered by a minimum Games Played figure
  • Draft Status (Any, Drafted, eligible, LateBD)

Level 2

  • First and/or Last Name
  • League (OHL, WHL, QMJHL)
  • Season (future application – TBD)
  • Date Range (calculates totals over inputted date range)

Level 3

  • Check boxes control the report tool display of various columns. Once unchecked, the column disappears from the reports display. This function will be expanded in the future.
  • Team and League are controlled with the check boxes on the far left.
  • In the middle, the PPG, SHG, ESG check boxes when unchecked will remove power play (PPG), shorthanded (SHG) or even strength (ESG) columns from the report.
Date Range Functionality:

The report results will calculate player performance within the customized date parameters. For example, a Start Date and End Date: 2012/12/01 to 2012/12/31 for a monthly search.

Please note*** Goaltender data was not loaded into this iteration for the initial launch. That will be added later.

Most of the statistics are self-explanatory, however, the columns at the far right end are:

ESGF – On Ice even strength goals scored

ESGA – On Ice even strength goals against

% of Team Goals – percentage of team goals the player scored

% of Team Points – percentage of team goals scored that the player received a point

% of Team GF on Ice – percentage of on-ice goals for

% of TeamGA on ice – percentage of on-ice goals against

Individual Player Pages

Individual player pages contain an embedded report generator based on the drop down menu.

The Status column at the far right of the report is the game situation prior to that particular event. A status of ‘Score Tied’ means that goal/assist/penalty broke the tie.

The ‘Use Date Range’ reporting tool default Start Date and End Date does not filter with the default start date (2012-09-20). This has to be changed to 2012-09-21. We will address that for future versions.

The End Date experiences a similar issue at 2013-03-17 as the end date when the default start date has been changed to a value other than 2012-09-21. For example a search for 2013-03-01 to 2013-03-17 will not return any results. Changing the End Date to 2013-03-16.

Linemates is a primitive bastardization of a WOWY, containing the WITH YOU, missing the WITHOUT YOU. The table is a distribution of points for the player with other teammates, broken down by first and second assist.

Main Page

Player Position

Choosing a player position from the drop down menu on the far upper left and subsequently changing the draft status in the upper right to any category returns the report with position. Draft status changes according to the user input.

When choosing the opposite sequence - Draft status first, then player position - the report changes back to the Draft Status defaults of ‘Any’ and the filters for player position.

User can click on the draft status drop down menu and change the status once again. The same occurs if the position is subsequently changed.

The annoyance here is the resetting of the board when trying to make changes to the input criteria. This, too, will be addressed in future versions.

Sorting by Even Strength Assists is not available. This is known.

Individual Player Pages Query Reports

Please note, date functionality is not available for linemate option of the query reports on the individual player pages.

Traded players individual pages GP appear as a total in the first record, however, the breakdown of data in the other columns is correct. Vincent Trocheck is one example.

We discovered late that Michael Clarke is linked to two (2) different leagues and we need to address that.


We hope this site adds another level of context to all the draft eligible (and drafted) players suiting up in the CHL. We hope you enjoy and give it lots of use for this draft and follow along next season as we take it live.

This is the beginning, we will eventually upgrade and incorporate more sophisticated data.

Follow the McKeen's team on Twitter:

Tagged with →  
Share →