I play in an NL-only rotisserie baseball, modified ultra league that has been in existence since the 1980s. Though I’ve only been involved since 2008 it is an obsession.
what we’ve got
We get standings updated through the most recent day’s action:
We get standings from an arbitrary date, set by the league commissioner, through the most recent day’s action:
what i wanted
- The ability to see historical standings on any single date during the season
- The ability to see changes in the standings between two arbitrary dates
what i did
Of primary concern was the need to preserve the state of the standings every day. At some point during each 24 hour window, I (or a script) needed to pull down the state of the standings.
If I missed a day, those standings would be unavailable thereafter. My script would pull the standings 2-3 times per day in case they were unavailable or altered.
Once I had the data I put together two initial reports.
standings through an arbitrary date:
standings diff between two arbitrary dates:
the final product
what i used
- vps: digitalocean
- deploy: chef, knife-solo, capistrano, a node.js/nginx/ubuntu/mongodb cookbook
- app: node.js, coffee-script, browserify, jade, twitter-bootstrap
- db: mongodb
what would come next
Rotowire makes available raw performance numbers for each team, historically (including previous seasons). Retroactively, every team’s daily totals could be collected and some interesting reports could be generated, such as:
- most/fewest X for a team in a single day
- most/fewest X in in a Y-day span
- best results at particular roster positions: 1B, SS, etc
- an audit of final season standings
Support more sites such as Yahoo!, ESPN, CBS