Wednesday, April 2, 2008

Project Update: BigCheese

BigCheese is my project to create a unique fantasy football franchise. I've identified some initial important and large areas of work:

  • Obtaining an historical statistics data store
  • Defining the competitive algorithm
  • Marketing strategies to accomplish the primary unique goal: external funding
  • Recruiting seven highly motivated and intelligent original franchise owners
The Data
Fantasy sports' lifeblood are statistics. The nfl.com site has a dearth of consistent statistics available from the 2000 season or so. That data isn't entirely friendly to consume in any mechanical manner. I can only assume that is intentional, but it isn't an insurmountable problem. I've already undertaken absorbing the 2007 season's data, nearly halfway there. The coding to rip through the raw data is a little painstaking, but very reusable when I want to go back and do all the prior seasons with statistics available as well as all the future data. I'm definitely building a foundation of automation. The 2007 season data will provide a basis for analytical what-if scenarios in the next big area work.

The Competitive Algorithm
It is obvious to me already that elements of both team and individual statistics will be necessary to accommodate the franchise owner experience of a meaningful 53-man roster. My goal is to develop an algorithm that closely matches the history. For instance, I'll imagine a set of 32 fantasy franchise owners with rosters and game schedules identical to the 2007 season. I'll compare my algorithm against the statistics and tweak it until it matches the actual scoring and victory outcomes as closely as possible; this will involve some heavy duty analytical data processing.

Marketing Strategies
Creating a fantasy league that is externally funded is quite an obstacle. I've gotten a few ideas on this already. A few of them include:
  • Web advertising revenue (i.e., Google Ads) - but why would people come?
  • Get celebrity involvement (which would in turn increase traffic and web advertising revenue) - which sorts of celebrities?
  • Corporate sponsorship / Franchise naming rights - for example actual franchises are geographically "sponsored" these days, what if bobshardware.com sponsored your team like it was a bowling team?
  • Interest from an endowment? where will the endowment come from? A refundable deposit, perhaps?
  • MLM (and this violates my drastically limit-the-supply concept) - what if juice from fees from feeder leagues fed their parents? There would still be one Master league?
Recruiting
I've arbitrarily (and tentatively) decided eight owners would comprise a decent group. I haven't lifted a finger on this and I won't until I've accomplished the first two work areas and have at least some crude interface. If you decide you are interested in becoming an original owner, please contact me (or comment on the blog). There won't be any financial costs to franchise owners in any way, ever (perhaps a refundable deposit?). However, the price will be active involvement, solid commitment to give me the feedback I need to get this project right - especially during a turbulent first season of change.

3 comments:

Jamie said...

Hi Michael,

Just wondering - regarding your game "engine" (for want of a better term) - have you considered a genetic algorithm?

I.E. given

team A vs team B == home win
team A vs team C == home win
....
team X vs team Y == away win
....

You could probably come up with an algorithm that would capture the mechanics of this quite nicely, without having to go into any analytical processing at all....

Michael O'Shaugnessy said...

Although I'm all for any algorithm that will give my "engine" a most unique spin, unfortunately I'm completely unfamiliar with genetic algorithms.

Your example didn't help me turn the corner on my ignorance. Do you have any links which will push me in the right direction to understand this concept from a high level so I might see for myself how it could be applied?

Jamie said...

Sorry, poor example on my part.

Essentially, what you end up with is an algorithm, which given input data (list of games to be played) will produce results which match your historical data (or almost match). The difficult part is creating your fitness function (which will become apparent after reading the following links)

I won't explain an actual genetic algorithm, as the following couple of links do it far better than I could at the end of a working day :)

http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/tcw2/report.html
http://www.rennard.org/alife/english/gavintrgb.html