Monday, September 21, 2009
You Should Listen to Me: I Placed First in a Private Make-Believe World
Tuesday, September 9, 2008
Looking At Value From All Sides
One of the things I love about fantasy sports is trading players. I just love the back and forth negotiation that goes into it. And of course I love it when my trades work out. But I can't guarantee that when I trade Johnny Gomes after he hits 10 HR in April that he'll fall off the face of the earth. You have to make the right trade at the right time, and in order to do that, you really need to understand player value.
As I see it, there are three different aspects of player value:
- Current value: How well the player is doing right now. You might look at last week's or month's stats to see this. Michael Turner's current value is sky high. Troy Tulowitzki, not so much. Before the season this would be last season's stats.
- Projected value: How good a player is perceived to be. Albert Pujols's projected value is always near the top. Despite Hank Baskett's awesome performance this weekend, his projected value is still low.
- Perceived value: A subjective measure of how good a player is. For example, I think Jericho Cotchery is awesome. And I hate Melky Cabrera.
- Potential value: The difference between current and projected value. Tulowitzki has a high projected value, but a low current value, so he has a high potential value.
- Estimated value: A combination of current and projected value. You would use this to compare a journeyman-type player (similar current and projected values) to a rookie (low current, high projected value) in player evaluations.
How do you determine an owner's perceived value of a player? You can look at several things:
- Did the owner draft the player higher than average?
- Does the owner start the player over other players?
- Did the owner list the player on his trading block?
- Is the player's name part of the owner's team name?
- When you proposed a trade for this player, did he counter-offered with another?
- When you proposed a trade for a different player, did he counter-offered with the player?
Now, I just finished writing this post and I can't remember what I really wanted to say. This seems obvious, but I know I had a better idea when I started. Oh well, maybe it will come to me later.
Wednesday, March 12, 2008
Walrus Mark, uh, Zero
The Romans never had a symbol for zero because they were that awesome.
I got some good work done on Walrus tonight (ok yeah, I had Baseball Mogul open in the background... and Comedy Central on the TV). Mostly a lot of groundwork for getting the One True List into the app. I now know how to load data from Excel files. I'm going to hardcode everything for Rotoworld for now (following the "hardcode first, hardcode second, generalize third" rule), but it should be easy to import any set. Hot.
A few more features I'd like to add:
- Must-draft options: Add the ability for a user to set a draft round for a player that if the player drops to that round the user "must" draft him. The system would highlight the player somehow.
- Notes: Both a text note and possibly a "+/-/=" rating (for gut feelings). I could have players with notes brought to the forefront (maybe use tooltips?).
- Fantasy replacement level by postion: Set the replacement level for each position (that is, the point after which you either don't draft a player or pick only sleepers).
Fun times!
Friday, March 7, 2008
Fantasy Baseball Draft App - Walrus!
I've been playing fantasy baseball for a few years, and as I've said before, the draft is my weakest link. I've tried giving myself a cheat sheet with a clear one-value system for evaluating players. I've also tried providing myself with tons of information. Yet I always fall too far to one side of the information-overload/lack of info problem.
Enter Fantasy Baseball Draft App, codenamed Walrus (I just made up that code name because I didn't want to call it "Fantasy Baseball Draft App" or "FBDA"). I've started writing a windows application (in C#.NET w/ VS 2005) to help me with my draft. Basically I want a way to display to me "The One True List" (whatever ranking list you have) but with all/any set of analysis that I want as needed. For example, I could provide information about position scarcity compared to all teams' rosters (let's say there are only four tier three shortstops left, but only three teams don't have a SS already; that's valuable information). Or I could show fantasy-team-average stats compared to what I (or my opponents) have already drafted (and how a given player would impact them). These are just a few of the things I want to do.
Here's a basic feature list:
- Import projections/rankings from Excel files. This is tricky; first of all, importing from Excel is never straightforward. Secondly, what formats do I support? ESPN, Rotoworld, Rotowire, Baseball Prospectus? Likely I'll start with one format and go from there.
- Format projections to match league settings. Depends on how I set league settings...
- Set league settings. Yeah, I know.
- Set stat goals. Obvious and simple.
- Display "The One True List" with sorting and filter options. Easy.
- Display my roster and other rosters. Pretty simple.
- Allow a player to be drafted to my team or another team with a button click. This part requires some design decisions; do I have 1 or 2 buttons? How do I correct mistakes?
- Input total roster count and draft order. Simple.
- Provide a variety of calculations: ADP, position scarcity, etc. Depends on what I actually do.
That's just off the top of my head. I'll see how far I get with "Walrus Mark I".
Monday, March 3, 2008
Just Jumping
We had our draft for our fantasy baseball work league this weekend. I wanted to try out a particular draft strategy of simply drafting the highest value player on the board. I did this for about 6 rounds before I had to abandon it, as my rankings told me to draft about 6 closers AFTER I'd already drafted J.J. Putz and Jonathan Papelbon. So I struggled for a few rounds until Jon gave me an idea... he was drafting only fat baseball players and suggested I get a gimmick.
So I looked at my roster and saw 11 players, four whose first names started with J. The next guy I was planning to draft was Jim Thome. So I decided to draft only players whose first name started with J. So I proceded to draft Jim Thome, James Loney, Joakim Soria, Jarrod Saltalamacchia, Jeff Francis, Jeremy Guthrie, Jason Giambi, Jeremy Bonderman, Jack Cust, Joey Votto, Jason Bartlett, Jon Lester, John Buck, and Jay Bruce. Combine that with Jimmy Rollins, J.J. Putz, Jonathan Papelbon, and Justin Verlander, I had 18 out of 25 roster spots filled with Js.