Big League Fantasy is different from your typical fantasy game in one very important way - while fantasy services like ESPN and Yahoo! are made up of a bunch of managers all playing in separate leagues, Big League Fantasy is one massive marketplace of managers who compete against their friends.
“Statistics” seen in other services like “Owned in 98% of leagues” are irrelevant in Big League. Instead, a player’s value is determined in large part by aggregate demand across the entire marketplace. Amongst all Big League managers, the more a player is owned the higher his value will be. We give you the raw number of managers who own a player, and his ownership rank for the position, which gives you a much clearer picture of how Big League Fantasy managers value that player.
But fantasy managers aren’t all perfectly rational buyers and sellers of fantasy talent, and we trade on predictions of performance as much as past performance. So the marketplace for players cannot be perfectly efficient - the most popular player will not always score the most points for a given position, across the season or for a single game.
Players outperform or underperform aggregate expectations, and the managers who select the players who outperform appear (are?) smarter than the average manager.
So what does this have to do with Moneyball?
Author Michael Lewis famously named Oakland Athletic’s GM Billy Beane’s approach to running the A’s Moneyball. Beane’s front office team broke from the crowd and used new statistics for measuring and predicting the impact of a player towards his team winning baseball games. They went out and found players who they believed would have a bigger impact on a team’s wins than the aggregate of other general managers believed. The new statistics they were using allowed the A’s to find an inefficiency in the marketplace - certain players were undervalued by the league as a whole, so the A’s were able to acquire these players for cheap, and built a winning ballclub.
In order to building a winning team in Big League Fantasy, we recommend taking the Moneyball approach. Find players who the Big League marketplace undervalues. Last year Cam Newton would have been a great pickup. Even after a strong start, many managers thought he may still turn out to be a flash in the pan, but the managers who broke with conventional wisdom and rode a rookie QB would have been rewarded with a growing salary cap and bang for their buck at the QB position. Rookies make great pickups this year, as the starting points rank is based on last season stats. Is RGIII this year’s steal at 800k?
You can of course forego the Moneyball approach, and increase your salary cap by spending real dollars and cents. Spend some money to sign some veterans and some ‘sure things’, but just remember that the Yankees don’t win the world series every year.
At Big League Fantasy we’re all about letting you play fantasy football against your friends with as little effort as possible. Facebook and Twitter sign in allows us to accomplish this - when you sign up for Big League, you’re automatically in a league with all of your friends who also play Big League. If you sign up through Twitter, we give you the option of who to play against based on the follow/following relationship, while If you sign up through Facebook, you play against all of your Facebook friends. You can of course add both Facebook and Twitter sign in and play against friends from both social networks.
Each platform offers unique benefits. We love the idea of being able to play against anyone you follow or who follows you on Twitter - imagine getting to play fantasy football against your favorite NFL player! Twitter is also a much lighter weight identity, and recent research suggests users are more willing to sign up for services with Twitter than Facebook.
Facebook on the other hand offers more integrated gameplay - you can stick your Big League Add/Drops to your timeline and talk Big League trash inside Facebook, all with more context and structure than the Twitter feed. In the case of many apps, such integration isn’t desired. Apps like SocialCam get a lot of flak for oversharing, but we think we’ve found a comfortable amount of sharing for users who want to play against their Facebook friends in fantasy football, and who want those friends to know how their team is doing.
So why are we giving you more salary room if you sign up with Facebook? Simple- we post stories to Facecbook on your behalf. Nothing crazy or personal - we post players you add, players you drop, and your weekly scores. We like to think of it as you owning a team in a big market - when you’re the Giants or the Patriots or the Cowboys, your team gets the extra scrutiny. More beat reporters, more national attention. When you sign up with Facebook, your every move is news, and we award you the salary accordingly!
If you sign up for Big League Fantasy with Facebook, we’ll give you an extra 2,000k to spend on players.
You also get 100k for every friend you refer to Big League, and you can raise your salary cap at any time: $1.00 gets you 100k to spend on players.
One of the problems we’re trying to solve with Big League Fantasy reducing the complexity in starting or joining a fantasy league (ed’s note- one thread with a group of friends this year for a Yahoo league reached 100 emails before the draft date was set).
We want it to be incredibly easy to join a league, pick a team, and start competing. We’ve timed ourselves on Big League, and it can happen in less than minute. The two features that let us accomplish this is social sign in/league construction and Autodraft.
Signing in with Twitter or Facebook automatically puts you in a league with your friends, but then you have to go through the process of picking a team, which for some people just isn’t that enjoyable. So we decided to build an autodraft feature. What follows is a walkthrough of how the developer on the feature shipped it.
The first step was to define the recommended costs for each roster position. I arrived at the values by looking at the base-cost of each position. I added those up, and found the difference between that total and the budget users are given. That told me a user could spend an average of $x + position base cost per roster position. But that would be a decidedly average team, so I moved some numbers around to mimic how an experienced fantasy player would draft (getting a top 5 RB, maybe a QB or WR in the second round, etc.)
I made the calculations for what amount a user should spend on each position, and set them as a 2D array. I tried a hash first, but having 3 WR positions and 2 RB positions meant that those key/values would get overwritten. I also derived an array of just the positions to make it easier to compare to a user’s owned players.
Then I compared the user’s owned players versus the required positions, deleting one instance of the position from the position array if the user already owned a player at that position. What’s left is an array of the positions on a user’s roster we still need to fill.
The next step was to go back to the 2d array. We had an array of players needed, now we had to get the recommended values for each of those positions. The RB and WR positions again caused some trouble here. I decided to do all RB and WR in one iteration through the positions array, setting up a ‘pass flag’ and calling next if we’d already accounted for the position.
If the user already had one WR, I wanted to recommend the values I’d come up with for the 2nd and 3rd pitcher. Same with RBs. I pushed the resulting [pos, value] array into another array called @needs, resulting in a final 2d array of a user’s needs and recommended costs.
So that’s the end of the next_best_player method, which when looped through can be used to autodraft a team, as seen below.
If someone is just checking out the service, the ability to save them ~25 clicks by autodrafting should help conversions. It also opens up the market - you don’t have to know anything about sports to field a competitive team. 2 teams I autodrafted during our baseball beta are beating two real humans who follow baseball.
Think those code sucks? Itching to refactor it? We’re looking for a technical co-founder - get in touch admi at bigleaguefantasy dot com