PageStat Explained

This page pertains to the version I use to rank teams in various sports. I'm currently running PageStat rankings in these sports:

  • Minnesota Boys' High School Hockey
  • NFL Football
  • NHL Hockey
  • Major League Baseball
  • NCAA D-1 Mens' Hockey
  • NCAA D-1 Football

    If you want to skip the FAQ and go directly to the details of how PageStat runs, click here

  • FAQ

    This section is an attempt to answer the most common questions asked about PageStat. Hopefully, if you have questions about how the system works and the results, you'll find the answers there and save the necessity for you to email me about your questions and concerns.

    Before emailing me with questions about the ratings, read this information first! Questions which are covered here won't be responded to in email.


    Q: How often are the ratings updated?

    A: There is no set schedule for when ratings are updated. I attempt to update them weekly, usually on Sunday or Monday. NFL PageStat is updated on each Tuesday during the season.

    Q: A team has done poorly in the season. How could they be rated so high?

    A: Early in a season, PageStat will be a mix of each tean's PageStat from last season and their PageStat from this season. Last season's rating is gradually phased out. This is done because you can't, in many cases, derive much from how a team does in their first few games.

    Q: We have a better W/L record than another team in our conference, section or division. Why are we rated lower?

    A: A team's W/L record is meaningful only when also taken into account along with the strength of the teams they have played. If you play weak teams, and don't do as well against those teams as other teams do, your rating won't be as high. In addition, PageStat is a runs/points/goals based system. Wins and losses are only valid of the context of individual game scores.

    Q: But we beat a team handily which is rated above us. What gives?

    A: The obvious answer to this is that one game does not a season make. You can't rate one team ahead of another team simply because they beat them in head-to-head competition. Also, the earlier in the season a game is played, the lesser weight that result is given in a team's overall rankings (exception to this rule is in the two football ratings being currently run). A team's PageStat rating is the result of what they've done over the ENTIRE season, not just one or two games.

    Also, by using the "our team beat your team" argument, it can lead to a "circular logic" of sorts. Team A beats Team B which beats Team C which beats Team A. See how that works?

    Q: We should be rated higher, but we've had a player or players injured. Isn't that taken into account?

    A: No. How could this possibly be programmed into a system? Different players have a different impact on a team's results. Assigning a value to a player who is injured is nearly impossible. It could be done, but it would be a logistical nightmare. I'd have to know, at any given time, every player who was injured in Minnesota, and what their stats were prior to being injured.

    There have been a number of issues raised by people which have led to changes in how PageStat works. Appreciation is expressed to those whom have raised such issues!

    The Dirty Details

    PageStat has its roots in the 70's, when it was developed as a means of rating NFL teams. There were never any real objective studies to see how well it worked; my memory was that it had some success in predicting winners of upcoming games. But you wouldn't have gotten rich using it in Las Vegas!

    I imported it in 1997 to Minnesota high school hockey. It was in reponse to a basic question I had of how all teams in Minnesota stacked up against each other. Tom Hawley's ratings, (I believe they were called his Power Ratings) which used to be posted weekly in the Duluth News-Tribune, really piqued my interest. And so the project was started.

    The system has undergone a number of minor revisions, and one huge overhaul. By overhaul I mean that the system was torn completely down and redone from scratch. This overhaul was based on emails I exchanged with Mitch Hawker and Tom Hawley.

    My earliest efforts were based somewhat on College Hockey's RPI (Real Power Index). It was based on what a team's overall W/L record was, and what their opponents' W/L record was.

    The first idea I had of using what I now call a "Game Score" came from Tom and Mitch, who had built somewhat similar systems based not on the cumulative records of each team but broke everything down into individual games. It is a simple mathematical formula which takes into account:

    1. A team's beginning PageStat rating
    2. Their opponent's beginning PageStat rating
    3. The goal/point/run differential for that game

    Example: Team 1 has a PageStat rating of 14.00. Their opponent (Team 2) has a rating of 18.00. Team 2 wins the game 5-0 (we're using a hockey score here but the sport doesn't matter).

    Team 1's Game Score is calculated as follows:

    ((14.00+18.00)/2)+((0-5)/2)=13.50

    Similarly, Team's 2 Game Score would be (14.00+18.00)+((5-0)/2)=18.50

    So, these game scores are calculated for every game which has been played in a given season, and then an average PageStat score is calculated for each team. And then, the numbers are run again. And again. And again, until what is called "convergence" is realized. This is a point where re-running the calculations will no longer result in any appreciable change in each team's average PageStat rating. This can take 10 iterations or 500 iterations. Running these calculations in an Excel spreadsheet 10-500 times will take less than one minute. Compare this to how the system worked in Lotus (my spreadsheet of choice prior to 2015) when each iteration would take roughly five seconds, meaning it would take roughly 1-15 minutes to reach convergence!

    Now, you can see at a glance that, due to the goal cap, there will be times where a team's rating can't be improved by winning a game or can't be worsened by losing a game. Here is an example:

    Assume that the goal cap is six goals. Team A comes into the game with a PageStat of 20.00, and is playing a team with a PageStat rating of 10.00. Let's assume Team A wins 10-0 (which is the assumed win margin because their PageStat rating is 10.00 points higher than Team B) Team A's Game Score is thus computed:

    (20.00+10.00)+((10-0)/2)=15.00

    But there is a goal cap of six goals! So the true formula would be for Team A:

    ((20.00+10.00/2)+(6/2)=18.00 And for Team B: ((10.00+20.00)/2)-(6/2)=12.00

    You can see that Team A's PageStat rating will drop (18.00 is less than 20.00) even though they won the game by the expected margin. Likewise, Team B's PageStat rating will rise. (12.00 is more than 10.00)

    What do you do? You toss the game out. It won't count in each team's PageStat average. D-1 hockey does exactly this in calculating RPI--it states "Team's RPI has been adjusted to remove negative effect from defeating weak opponent". This is PageStat's version.

    "Okay, so remove the goal cap entirely" you might say. I can't for two reasons. First, some teams won't "call off the dogs" when running up a huge margin of victor. Think "Moorhead 27, Monticello 0" and think about how such a score would have unrealistically altered each team's PageStat rating. Second, removing the goal cap actually results in PageStat being a worse predictive tool for section tournament games--only eight games worse since 1999 than the method being used, but nonetheless worse.


    Tom had told me that there were some "bells and whistles" also built into his system, but didn't tell me what those were. I had assumed at the time it was a sort of "trade secret". Why would he divulge such information? Anybody could then duplicate his efforts and would have no reason to look at his rankings. Simply smart, me thinks.

    I added two features to PageStat:

    1. Momentum factor. What this means is that, mathematically speaking, games played early in the season don't count as much as games played later in the season. How that is shaped was determined by a study I did roughly 15 years ago on how shaping this factor affected how PageStat predicted Section Tournament games. And this is important in the context of what my stated mission of PageStat has ALWAYS been--to find a method that accurately predicts the highest percentage of playoff games. There are various momentum factors I analize every two to three years, from a very light momentum to a very heavy momentum.

    2. Goal cap. This is based on a belief/assumption that a goal differential (this is only used in high school and college hockey ratings) higher than a certain number doesn't have a positive additional effect on a team's rating. I call this the Blowout Prevention Factor and came about when I saw that some blowouts unrealistically affected each team's rating.

    What the proper goal cap is, again, is based on analyzing how each goal cap (from one goal to eight goals and also with no cap at all) affects how accurate the system is in predicting section tournament games.

    As we move through a new season, these ratings start off as being quite dynamic, and less so as more games are played and things "settle down" a bit. It's imporant to note that since the formula basically compares what you'd done to whom you have done it against, the changing of each team's PageStat SOS (Strength of Schedule) will affect that team's PageStat rating and this is true even on night when they do not play! You can move up or down in the ratings simply based on a changing SOS. So if you see this happening to a team, don't freak out. It's just "Simple Math" (credit to an unnamed individual on the uscho.com Fan Forum for coining this phrased many years ago). The momentum factor can also play a part. As you advance through a season, the earliest games a team played will have a smaller impact on a team's rating.

    How well has PageStat worked when predicting playoff games?

  • Minnesota Boys' High School Hockey--I have been using PageStat to predict boys' section tournament games since 1998-99. Based on 3,173 games, it has predicted 51.5 more winners than by simply using the higher seeded teams. This isn't a huge percentage, about 1.5% but it is still significant. It beat the seeding in 11 seasons, lost in 7 seasons and tied in 1. When it won, it sometimes won big--7 games better last year, 10 games better in 2019, 7 games better in 2003. The worst it has done was when it lost by 3 games in 2005.
  • NCAA Mens' D-1 hockey--Since the 1986-87 season, PageStat has predicted 34 more winners than the higher seeded team in conference tournament games, and 19 more winners in NCAA Tournament games
  • NFL Football--Since 1950, PageStat has predicted 16 more playoff game winners than assuming the team with the better W/L record win
  • Major League Baseball--Since 1903, PageStat has predicted 20.5 more playoff game winners than assuming the team with the better W/L record will win

    Conclusion? PageStat works. Can it work better? Sure it can, with more research and tweaking of the Game Score formula. Let's keep in mind, however, that PageStat isn't overwhelmingly better than using the higher seeded team or the team with the better record. In Major League Baseball, for example, the difference in winning percentage is only 1.2%. It is even lower, only 0.9% when applied to NFL playoff games. It is 2.36% better when predicting NCAA hockey playoff winners, and 1.5% better when predicting Minnesota Boys' High School Hockey section tournament games. While PageStat is better in every sport currently being evaluated, the small margin means that in any given season, PageStat could have done and has done worse when compared to the other criteria.

    I am in the process of calculating how PageStat has done in predicting State Tournament games as compared to the seedings (seedings began in 2007 so the sample size will be small)


    [ Back to PageStat ] [ Email ]

    last updated november 9, 2022