Category Archives: Fantasy Baseball


Much like Geoff, I haven’t checked in over here in far too long.  The last time I posted, I mentioned that I had given notice at my previous job and was going full time on the project that most of you know about already.  So it seems like that is as good a place as any to start.

While Geoff is working on an extreme research project, I am working on almost the opposite: a new consumer-facing fantasy sports service, ottoneu.  In the vein of Yahoo! Fantasy Sports, ottoneu will provide fantasy games for users, but with an emphasis on niche users and in-depth, hardcore games.  Without getting in to the details (and blowing any fun surprises that might be coming down the line), I can safely say a few things.

  1. The fantasy baseball product I am working on is unique and fun
  2. Working for yourself is fun and stressful
  3. It is incredibly rewarding to spend 100% of the day working on something that you are not only interested and invested in, but you truly enjoy

So I have leapt.  I am now the Founder and CEO of ottoneu, Inc.  Soon, I will be bringing you better fantasy sports – richer, more interesting, more engaging, and much, much more fun.  My goal here is to, without ruining any good surprises, take you along on the ride to launch day.

The Implications of Inning Limits

Recently I ran across a problem with my deployed version of ottoneu: there was no programmatic limit for games played or innings pitched for any given fantasy team.

Let me back up.

Fantasy baseball games, in general, have limits around the number of games a team can ‘play’ at any given position.  For example, if there are 162 games in a season, it doesn’t make much sense to allow an owner to manipulate his lineup enough to squeeze 170 games out of a given position.  This might not be possible for all owners, and it doesn’t fit in with the idea of mapping fantasy baseball to real baseball.  If the Yankees can’t go out on their off days and get extra games in with their backups, well, then, neither should your fantasy team that you’ve cleverly named after them.

Most games will run with limits along the lines of 162 games per lineup slot, which includes things like 162 games per OF spot (in our 5OF lineup, we have a 810 game limit at OF) as well as 162 games per special position (middle infielder, corner infielder, utility).  Innings pitched can be a little bit more varied, but we went with the tried and true multiply 162*9 and add a few extra to get to a nice round number, so our limit is 1500IP.

So back to where I started – ottoneu did not have programmatic enforcement in place for when teams went over these limits.  While this isn’t a gigantic problem with 12 owners, once you’re talking a game with leagues on the order of 100, then yes, we have a problem.  I decided to tackle the problem last week, and immediately an interesting question arises: when does the inning limit kick in?  Can you run right up to 1499.2 IP at the end of a day, and start 5 guys the next day and then the limit kicks in at the end?  Should there be a rule put in place that says when you are within some arbitrary distance of the 1500 IP limit at the end of a day, you can’t play any more pitchers?  Or the final option – add up stats until you hit 1500 IP, no matter if it is in the middle of a start or an appearance by a reliever or anything?

I kicked this question around with Geoff for a little bit, and we decided that first off, it made no sense to build any kind of lower buffer.  A 1500 IP limit doesn’t mean “1495-1500”.  We thought about calculating the inning count at the end of every day, but this solution again made a inning limit closer to “1500-1525” instead of the hard 1500IP cap that we wanted.  So that leaves the last option.

The idea of these limits, like I said, is not only to put everyone on equal footing, but also to line up the game against real baseball.  This last option, in which the live scoring script literally stops taking your statistics once you hit 1500IP, is the least connected to real baseball.  If I’m at 1497.0 IP, and Jon Lester going on the last day of the season (I know, it would never happen), there’s a very real possibility that only half of his start will count towards my fantasy statistics.  Cutting off starts in the middle divorces the idea that these player’s days line up perfectly with your team’s day.

We decided to go with this option, but where does that leave ottoneu?  The first line of ottoneu’s constitution is as follows:

The intention of this league is to mimic the job of an actual general manager as closely as possible.

Clearly managing who plays and who doesn’t on a day to day level isn’t on a GM’s plate, but if we our goal is to reflect reality, this solution is actively hurting us.  I don’t have any good answers here – one can go down the path of explaining the other ways ottoneu isn’t like real baseball, but I am not sure if that is a compelling defense of this solution.  Clearly the alternatives we discussed were not better than what we decided on, but maybe there was something else I didn’t consider?  I open it to the floor.

The best part of designing a game is that you get to run into interesting questions about the system you are building all the time.  Of course, that is also the worst part.