I hosed up the historical “odds in” data

May 30th, 2009

I’ve been improving the engines underpinnings, to the point where I unintentionally intermingled past weighted data with coin flip data. So, when you look at a team’s weighted chart some of the points are really showing 50/50 data. I probably “improved” other things too.

Things take me longer then I expect. Such is life.

USL First Division is up

April 27th, 2009

USL is back running again. Thanks Ryan for spelling out what’s new the season:

Team changes: Austin Aztex are new, as are the Cleveland City Stars. Atlanta Silverbacks are on hiatus and thus, not playing. The Seattle Sounders have made the jump to MLS.


That was some wreck at Talladega
Click to watch

Are the Senators eliminated?

April 1st, 2009

[Update, morning of April 3]
They lost last night and the Canadiens won.

[Update, morning of April 2]
The Senators are still in the race.
Either that or Sports Club Stats has a bug. It still saw 2 times out of 50 million where they win a 3 way tie with the Canadiens and Sabres. They can’t miss. :)
To stay in tonight:

  • The Senators need to beat the Bruins
  • The Islanders need to beat the Canadiens in regulation

[end of update]

Senators still in the hunt
I see on the web they supposedly are (thanks Jon), but I’m showing them still making it 3 out of 50 million times.

Here is what has to happen:

The Senators have to win out.
The Canadiens have to lose out in regulation
The Panthers have to get 0 wins and at most 1 ot loss.
And the Sabres have to finish with 2 wins, 3 regulation losses and 2 overtime losses.

Which leads to a 3 way tie for the 8-10 seeds between the Senators, Canadiens, and Sabres.
All with 88 points and 39 wins

The next tie breaker:
If more than two clubs are tied, the higher percentage of available points earned in games among those clubs, and not including any “odd” games, shall be used to determine the standing.

There are no “odd games” to remove. They all play each of the others 6 times, 3 at home and 3 on the road:

10/10/2008 Sabres beat Canadiens 2-1 (so)
10/27/2008 Sabres lost to Senators 2-5
11/11/2008 Canadiens beat Senators 4-0
11/20/2008 Senators lost to Canadiens 2-3 (so)
11/29/2008 Canadiens beat Sabres 3-2
12/20/2008 Canadiens beat Sabres 4-3 (ot)
1/6/2009 Sabres beat Senators 4-2
1/17/2009 Senators lost to Canadiens 4-5 (so)
2/6/2009 Sabres beat Canadiens 3-2
2/7/2009 Senators beat Sabres 3-2 (so)
2/11/2009 Sabres lost to Senators 1-3
2/21/2009 Canadiens beat Senators 5-3
3/4/2009 Sabres beat Canadiens 5-1
3/7/2009 Senators beat Sabres 6-3
3/17/2009 Senators beat Sabres 4-2
3/19/2009 Senators beat Canadiens 5-4
3/28/2009 Canadiens lost to Sabres 3-4 (so)
4/6/2009 Canadiens lost to Senators ?-?

Talley those up to get:
Senators: 7 wins, 3 losses, 2 ot losses 16 points Pack your bags!
Canadiens: 6 wins, 4 losses, 2 ot losses 14 points
Sabres 5 wins, 5 losses, 2 ot losses 12 points

Now, come to think of it, I’m not exactly sure what the NHL means by “higher percentage of available points”. My code just uses average points per game. But it’s irrelevant in this case because they all had the same number of games and the same number of ot losses.

Senator win the tiebreaker and make the playoffs.
Or am I crazy?

Prime Time with Bob McCown and Jim Kelley

March 31st, 2009

Yesterday at 5:45 Bob had me on the show!
I was able to be myself, more manic than usual, but myself. My feet were propped on the desk, and sometimes I even remembered to breath. It was fun.

Thank you Bob and Jim.

When it sprinkles it rains

March 27th, 2009

Yesterday started calmly enough. Dan Blakeley and Mick Kern had me on XM Radio’s NHL Home Ice. It was a blast, but I felt off my game. I was sitting bolt upright. Next time I’ll prop my feet on the desk.

Then Jim Kelley publishes an article about the site on Sportsnet. Jim Kelley, I have since learned*, is a very respected sports writer. And he is a nice guy. So this is exciting, I’m taking a deep breath, what should I do now. I procrastinate by googling Jim Kelley and Rogers Sportsnet. I’m reading the Wikipedia article on a show Jim co-hosts called “Prime Time Sports”. Evidently this show is very popular.

Then the phone rings. It is Ryan, he says “saw the Jim Kelley piece, would you like to be on “Prime Time Sports” with Bob McCown?” I’m thinking “I’d love to, but who what now?” If I were a true Hockey fan*, or lived in or near Canada, I would recognize the magnitude of Ryan’s offer. I say “Yes, that would be great. 6:45 tonight, great. I’ll be here”. I hang up and look back at the wiki article and finally make the connection.

Turns out the show runs long and my slot get bumped to next week, but not before Mr. McCown puts in some plugs for the site and some ribs on what a nerd I must be to have the free time to create it. Next week will be an experience. Feet propped.

* I have to come clean to my hockey friends, I’m not yet a true hockey fan. I get into the Hurricanes in a bandwagon way. I grew up playing soccer and watching football, college basketball, and whatever was on Wild World of Sports.

[Edit: I originally wrote Jim Clark instead of Jim Kelley. Mr. Kelley passed away in 2010. I am sad. He was very kind to me.]

Nice press yesterday

March 24th, 2009

First off, I was on the front page of the Globe and Mail’s sports section!
Thank you James Mirtle.

And then I saw this in OffThePosts (thank you Bruce Garrioch):

Senators GM Bryan Murray referred to a “site on the internet” that owners all look at that tell you about a team’s probability of making the playoffs.
He must have been talking about this one: http://www.sportsclubstats.com/NHL.html

Reading these two just floored me.

Thanks all of you for visiting.

Time again to show all the NHL What If records, and MLS is back

March 21st, 2009

There are not pages of possible records any more, so I stopped grouping the similar records when I show the what if scenarios for hockey. The old note about when the occurance count is small still applies.

MLS is back. Thanks Ryan for letting me know this was the weekend, and that they switched back to sending the top 2 from each division and 4 wildcards. Last season it was top 3 from each division and 2 wildcards.

Shannon asked “how come tonight’s Canucks vs Coyotes game does not effect the Oilers?”
This is how I think about it:
What is going to happen for the Oilers NOT to make the playoffs? 2 of the teams behind them have to pass them. When that happens the Oilers never (or close to never) ALSO end up passing the Canucks. It never shakes out that they play bad enough to get passed by 2 teams but also good enough to pass the Canucks (and thereby stay in the playoffs.)

Thanks for all the good feedback.

NASCAR is back online

March 11th, 2009

Part way, sort of, Sprint anyway. Nationwide and truck not yet. Still only 50/50, weighted will come before too too long.

Now I’m showing their chance of winning the cup all season long, plus, for giggles, their chance of winning the cup in an imaginary “pre-chase” world where the point fairy never comes with 10 races left. Thank you whomever suggested that, whose name escapes me now.

I’m re-architecting how I generate the HTML, doing it all in c# instead of using XSLT. Deciding to learn and use XSLT has been my biggest technical “wrong turn” in putting this site together.

Today’s weighted numbers are bad.

March 2nd, 2009

I must have broke something yesterday trying to improve the formula.
The 50/50 numbers should be fine.

Update: The numbers are wrong because I forgot a negative sign:

double percentOfGamesPlayed = final / (double)(final + needToPlay);
double regressPercentage = 0;
if (percentOfGamesPlayed < .5)
regressPercentage = (-1.5 * percentOfGamesPlayed) + 1;
//what I had, WRONG! --> regressPercentage = (.5 * percentOfGamesPlayed) + .5;
regressPercentage = (-.5 * percentOfGamesPlayed) + .5;
double regressMin = .1;
regressPercentage += regressMin * percentOfGamesPlayed;
Pythag = Pythag - ((Pythag - .5) * regressPercentage);

The correct number are cranking now. I’ll update when they are up.

Update: NHL and NBA are updated.

The code above, if you are wondering, is how I added the “Regression towards the mean” feature to the weighted method.

I flipped the 50/50 and weighted URLs on you.

February 24th, 2009

The weighted version is “better” so I made it the default.

Old pattern:
www.sportsclubstats.com/NHL.html showed 50/50 (50/50 use to be all there was)
www.sportsclubstats.com/NHL2.html showed weighted

Current pattern:
www.sportsclubstats.com/NHL.html shows weighted
www.sportsclubstats.com/NHL2.html shows 50/50

Also, a while back I added a “regression toward the mean” piece to the weighting formulas. (You can thank Justin for helping me wrap my head around the concept.) This means that in the beginning of the season the formula works more like 50/50, and it morphs into a more weighted formula as the season progresses and each team’s record more likely matches their “real ability”. The coefficients I use for the regression are not as good as they could be. Some day I’ll get around to explicitly documenting the formulas I use for each sport so you can suggest improvements.

If you still see wacky “chance will make playoffs” graphs, where the early season odds jump right to 0 or 100 percent, it just means I calculated those numbers before I added the new regression feature.

Thanks everyone for visiting and telling your friends. I’m working on getting the new NASCAR season up and running with a weighted version.