v4.0 beta 0.1.0.1
MS Windows executable
(Feb 8, 2006)
(includes sportsnet.ca stats for weeks 1-15 of the 2005-06 season)
v4.0 beta 0.0.9.2
(Sep 26, 2005)
that the GUI is a bit buggy in Linux at the moment due to wxWidgets bugs and
inconsistencies that I'll need to work around)
Windows(Click to enlarge)
(Click to enlarge)
Sports Pool Team Chooser is a program that can be used to calculate the best teams to pick in online sports pools.
It takes player and team statistics and the limits of the pool (number
of players at each position, total player cost) and uses them to find the
combination of players that is most likely to give you the most points in the coming
When this re-write is done, this will be v4.0. This one is in C++; the old ones were in VB6.0.
[Note: I may discontinue this project and simply redo it as a web application -- the development
speed would be faster, and it could also be a better business model...]
If you would like to see how well the program has been working for me, please see my Sports Pools page. As you can see from the picture to the right, it hasn't worked too badly!
Sportsnet.ca T-shirt won
using the program
This is actually the 4th such program I have created, but the other
ones were geared specifically towards a certain hockey pool and were
called Hockey Pool Team Chooser, while this new version is much more customizable and can be used for many types of pools.
This program is written in C++ and uses wxWidgets and wxGlade
the GUI. wxWidgets is a cross-platform GUI framework, allowing me
to create both Windows and Linux versions of this program without much extra work.
Rather than just calculating [average pool points per game]×[games
this week] to find the best players, the program can take into account
the player's recent performance and will eventually be able to take
into account the difficulty of the teams he'll be playing against in
the coming week.
- Can calculate the best set
of players based on the statistics that have been input and on whatever pool constraints it was set up with (number of
different positions, players per position, total player salary
It allows you to view player stats.
- Can currently test over 5 million teams per second
on a 2.8GHz Intel P4 CPU. Typically, you won't test more than
half a million teams. When I made the first version of Hockey Pool Team Chooser back in 2000 using Visual Basic, it would sometimes
take 10 minutes to check all the player combinations I was interested
in, but now it takes less than a second!
- Statistics must be input manually right now --
instructions are in the readme. In future versions, you'll be
able to input stats directly from the Internet, saving a lot of time.
- Name & team
- Total number of pool points and games played
- Average pool points per game over the whole season
- Weighted average pool points per game, in order to see how a
player has been performing lately. There is a window where you
can set up the weights for each week. For example, I tend to set
the five most recent weeks to have a weight of 4 while the others have
a weight of just 1.
- Number of games played in the coming week
- Expected number of pool points in the coming week, based on [weighted pts/gm]×[games played in the coming week]
- "Rating" -- a measure of the value of a player based on
his cost and his weighted pts/gm average. Currently only
calibrated for the sportsnet.ca hockey pool, so it probably won't make sense for other pools.
- All around nicer GUI
- Double clicking on a player will bring up a window showing detailed
information about that player, such as his pts/week record throughout
the season and a measure of his consistency/streakiness.
to manually modify a player's projected points for the week if you
think he will perform better than statistics indicate (this feature is available in Hockey Pool Team Chooser).
to 'pin' a player so that, no matter what, he will be on all the
suggested teams (this feature is available in Hockey Pool Team Chooser).
- Ability to input team statistics. This will allow the program to know which teams are easy to score points against.
- Ability to input the schedule, so the program knows what teams a player is playing against in the coming week.
Hockey Pool Team Chooser v3.5
(MS Windows only. This program requires that the VB6 runtimes are installed on your computer)
(Version 4.0 is in development and has had a name change to Sports Pool Team Chooser v1.0 since it is intended for use with many sports, not just hockey.)
program was made to help me with weekly online hockey pools. You enter
players' statistics and "salaries" for four positions (center, winger,
defense, and goalie) and give a salary budget, and the program will
compute the best player combinations.
The version I'm making available here doesn't have all the player slots
available, since I don't particularly want it used against me! If you'd
like the full version, contact me...
I originally developed this program for the Smallworld hockey pool back
in my OAC (grade 13) year of high school (2000), but I now use it for the CTV Sportsnet.ca hockey pool.
This summer, I will be rewriting the program from scratch in C++.
The current version is written in Visual Basic 6.0. New features will
include: vastly improved GUI, unlimited players, customizable
game rules so it can be used for just about any pool (and any sport), automatic
I predict that this program will be even more accurate now that the NHL
has adopted some new rules to increase scoring. More consistent
scoring means better predictions!
The first week after I started using v1.0, I went from 10th to first in
my Smallworld hockey pool group thanks to two hat tricks by Jaromir
Jagr, whom I had originally believed I could not afford.
Finished 487th out of over 40000 players in the CTV Sportsnet pool. Scored 93% as many
points as the winner. In the first 7 weeks, I lost 54 points on
the leader (about 2 weeks' worth of points) and fell to 8254th position, but over the last 16 weeks of the
season, I was up 2 points on the winner and slowly and steadily climbed into the top 500. At the start of that
period, I had modified my stats-collecting program to weight the stats
to favour players on hot streaks. v3.5 does not include my
stats-collecting program, but it will (probably) be incorporated into
After weighting the stats after the 7th week, my rank steadily improved.
In only 3 of the last 16 weeks did I not improve my rank.
Increased league scoring after the '04-'05 strike
should make predictions more accurate.