Thursday, September 13, 2007

Build-Your-Own NBA Draft Kit, Part 3: Laws of Averages

When we last left off, we had imported all the raw data for every player in the NBA into an Excel spreadsheet, and eliminated (usually) unnecessary categories such as PF, Ejections, and Games Started. What you should have is something that looks like this:


Before we compute per-game averages for each player and category, allow me a word as to why I use averages instead of totals. Simply put, averages are a much better way of gauging a player's impact than totals. If a player gets suspended or injured, that will of course hurt their categories from a totals point of view, while the effect on averages will be minimal. Now, injury is of course something that needs to be considered when assembling a team (see the later installment "The Human Element," but it's easier to remember which players were injured and bump then down than to scour the entire list, flagging players who missed a lot of games, then move them up drastically in your rankings. For example, if Star Player X missed 60 games due to a freak broken leg, he would have a terrible ranking based on totals, but by averages he should be right in line with previous years. Comparing by averages doesn't harm this player for his freak injury. Of course, I will revisit the topic of injuries later.

Now that I have made the decision to use averages instead of totals in our comparisons, let's get on with it. For "counting" categories like points, rebounds, and steals, quite obviously you need to divide that category by the number of games played by that player. For instance, to calculate Shareef Abdur-Rahim's average field goals per game, you would divide cell C2 by cell B2 (in the above picture). How do we do this?

First, we need to insert a column to the right of "FGM." Right click on the "D" column (or whichever column corresponds to FTM), then choose "insert" and Excel will magically insert an empty column between what were previously columns C and D.

Second, in cell D1 type "FGM/G" or some other shorthand to indicate what will lie in the column below. Resize the column if necessary.

Third, in cell D2 type "=C2/$B2" and hit enter (don't use the quotation marks, please). This will show a value of "0.5" in cell D2.

Fourth, left click on cell D2 and hold, drag down to the end of the spreadsheet (cell D452), then release the left mouse button and use Ctrl+D on your keyboard. This does what is known as "fill down," which can also be selected by going to Edit->Fill->Down. A number should appear in every cell in that column.

Notice that the cells have varying decimal places (i.e. some say 3.5, others 4.7344)? This can be corrected. Your column should still be highlighted. If it's not, click on the "D" at the top of the column. Right click, go to "Format Cells," choose the "Number" tab and the "Number" category, then "3" under "Decimal Places." You can of course use 2 or 1 or 4 if you wish, but I think 3 gives a good amount of certainty without flooding your spreadsheet with numbers.

This procedure can be used for all the "counting" categories (in my case, FGM/G, FTM/G, 3PTM/G, PPG, RPG, APG, SPG, and BPG). For categories like A/TO ratio and percentages, you need to do the same as above, but instead of automatically dividing by your "C" column (games played), you divide by FGA, FTA, or TO. For example, to calculate FT% you divide the FTM cell by the FTA cell. 4 decimal places should work just fine for these ratio categories.

If your column has a bunch of "######" cells in it, it means that your column is not wide enough to display the digits. Just double click on the cell border at the top of the column (i.e. next to the letter D) to widen the column.

One more thing; if a cell reads "DIV/O" it means that that player did not attempt a field goal (or free throw) during the season. For example, Kaniel Dickens (whoever the heck that is). Feel free to just delete these players right now to save you the hassle. Right click on the row number (i.e. "22") and choose "Delete." Alternately, if you wish to keep these players in the spreadsheet, you can chance the formula for that specific cell to "=IF(J110=0,0,J110/I110)" which states that if the player's FTA is 0, set the cell to 0, otherwise calculate it as normal.

When you are done, your spreadsheet should look something like this (this is a default 9 cat roto league setup):






As I promised last time, a brief word about what metrics we are going to use to compare players. For points leagues, going from here is really easy. You can just figure out how many points your player would get per game using your league's settings, then make a ranking of them. But for most leagues, it's just not that simple. For example, suppose we have 2 players, player A and player B. They are in every category identical, except for two, points and blocked shots. Player A averages 16 points per game, and player B averages 8 ppg. However, player A averages 1.5 blocked shots per game, while player B averages 3 bpg. A quick thought might tell you that the players are equal, because while player A is twice as good in one category, he's also half as good in another category (all other categories are equal). However, a few moments' thought beyond this would also instruct you that this is just not true. Blocked shots (primarily, but other categories like steals and three pointers) are not worth the same as others (points, rebounds). Having a guy block another 1.5 shots per game easily outweighs his deficiency in scoring. That is, not all categories are created equal; some are more scarce (and therefore more valuable).

So how do we compare players? There are several ways that I have found.

1. Something similar to VORP (value over replacement player) in baseball. Basically, you estimate the "average" player who would be on your waiver wire, and determine how much better (or worse) a player is compared to the average wire player.

2. Take a league average of per-game stats, and compare players to the league average.

3. Compare players to the league leaders in each category.

I will share my preferred method with you next time, and we will get into the real nitty gritty of working up these numbers.

Until then,
-M

Sunday, August 5, 2007

The Brand Conundrum

Greetings from Kauai! Yes, that's right, I'm making a blog entry from my honeymoon. The jokes tell themselves, folks. Don't go thinking you are the second coming of George Carlin or anything.

This post could just have easily been titled "The Gason Question" or "Amare or No?" after their draft-day question marks the last couple years. For Gasol, a broken ankle in international play left him out for the first few months of the season, and for Stoudemire, recovery from microfracture surgery. In Gasol's case, his return from the injury was a lot more predictable since a bone break has a very established timeline for a return. People generally picked him in about the 4th-5th round of their drafts (he went in the early 4th round of my 14 team competitive H2H league), depending on your scoring system and format (it's a heck of a lot easier to carry an injured guy in roto than in daily H2H leagues). He did come back on schedule and was a very productive player for the rest of the year, making his draft position well worth it.

The year prior, Stoudemire went somewhere around the 4th-6th round, which varied widely based on people's optimism or love for the Phoenix Suns. As we now know, Stoudemire wouldn't have merited a 16th round selection much less a 6th rounder based on his eventual performance (hint: he didn't do much). Apparently microfracture surgery is a real bitch to come back from!

Can we use these two very different past results to make a good suggestion of where to take Elton Q. Brand, Esquire?

Well, to start off this is all going to depend on the stated timetable for Brand's return. If it's "one year," then clearly he would be out for the season and we would all be looking forward to 2008-2009 (his draft position in that situation would best be discussed in another posting). If it's "six months," as has also been mentioned, that would put his return date at about February. The fantasy basketball season runs from the end of October to the end of April, give or take. The FBB regular season runs until the end of March. That would give a Brand return at the most optimistically about 3 months of playing time (probably more like 2 and a half).

A more relevant question is not "how long will he be playing?" but "how effective will he be?" I can't remember a prominent basketball player tearing his achilles tendon, but I would imagine that even after returning from the injury, Brand will be quite rusty and out of shape. Factor in at least a couple of weeks for him to get back in the swing of things, get his legs under him, and get his timing back. That gives you 2 months of playing time, and remember, that's the best case situation.

So where should we pick him? To me, a guy who is going to give you (at best) 2 months of playing time, with the distinct possibility of missing the entire season or being just plain ineffective, isn't worth anything more than a late-round flier in all but the deepest of the leagues. In roto you can burn a 9th or 10th rounder on him if you want, but in daily H2H the cost is simply too great to keep a guy on your bench for perhaps the entire year. I would not bother drafting him at all, but if forced to I would take him in the very last round. Of course, I'm sure some rocket scientists out there will take him in th 7th or 8th, hoping for a miracle comeback, but I don't believe in miracles. I believe in beating those guys who believe in miracles.

Aloha!

Wednesday, July 4, 2007

Build-Your-Own NBA Draft Kit, Part 2: Setup

Last time, I listed several excellent reasons why building your own NBA draft kit is a stellar idea. Now we can move on to the actual doing of stuff. If you don't like actually doing stuff, you should probably check back in a few months after the NBA season has started and I'm posting more timely things. But seriously, who doesn't like doing stuff? I sure as hell do. Let's get started.

First, go to Doug Steele's excellent NBA and MLB stats page. You can find it at http://dougstats.com/. Under "Past NBA Seasons," click on "07-08 Stats." Then, on the next page, click on "All Player's Raw Data." This will open up a page with a veritable sea of data. Right click on the page and choose "select all," which of course will highlight all the data. Paste that data in a notepad file on your computer desktop (If you are using Linux, well, I don't even know where to begin. Then again, if you're using Linux, you're probably not playing fantasy basketball in the first place). If you're seriously computer illiterate, go to your desktop, right-click -> new -> text document, then rename that document "markdashrules.txt" or something similarly appropriate. Enter this text document, then paste the data into it using control+v. Save and close the document.

Now fire up Microsoft Excel. If you don't have Excel, well, you probably have Linux or a Mac, in which case this post isn't for you. If you have Microsoft Windows but not Excel, you should probably buy it, or, you know, find someone who has it. It's great not only for fantasy basketball draft kits but all sorts of other useful purposes. Close the document that automatically opened, go to file->open, change "type of file" to "all files," change the path to desktop (or wherever you decided to put the raw data text document), and select your raw data text file. Something called a "text import wizard" will then open up, which helps you convert your text file into a manipulatable Excel spreadsheet. Click "next" twice and then "finish."

One quick tip--SAVE FREQUENTLY. I have had several instances of heavy data manipulation where Excel randomly shuts down and you lose all your progress. Annoying. First, click file-save as, choose your path (Jedi or Sith, err, I mean desktop or My Documents or wherever it is you put your dirty, dirty spreadsheets), change "save as type" to "Microsoft Office Excel Workbook" (which is at the top), then name it something appropriate like Markdashisawesome.xls (new file extensions are "xlsx," which should work fine).

After saving, you can re-size the columns to show the players' entire names (blame Dikembe Mutombo, but hey, at least we don't have to use his middle names) and to cut down on the size given to the rest of the columns. This helps you view as much data as possible at any one time. Double click on the column border (at the top, where it says A, B, C, etc.) to resize. This also works for rows, by the way. For example, click the right edge of column D header to reduce its size.

The first thing you want to actually change on the spreadsheet (and the last thing I will go over in this particular entry of BYONDK) is to delete columns that have no importance to your fantasy league. For most of us, categories such as PF (personal fouls), DQ (disqualifications) and the like are completely superfluous. Right click on the columns, then go to "delete" to delete them forever more. For reference, here are what the columns stand for, and their importance:

team = the last team that player played for that season (unnecessary)
PS = positions (I usually get rid of this one because every fantasy site has different position info)
GP = games played (vital)
Min = minutes played (unimportant, unless you draft based on PER or the like)
FGM = field goals made (vital)
FGA = field goals attempted (vital)
3M = three pointers made (most likely vital)
3A = three pointers attempted (depends on your league settings)
FTM = free throws made (vital)
FTA = free throws attempted (vital)
OR = offensive rebounds (most likely unimportant)
TR = total rebounds (vital)
AS = assists (vital)
ST = steals (vital)
TO = turnovers (most likely vital)
BK = blocks (vital)
PF = personal fouls (unimportant)
DQ = disqualifications (unimportant)
PTS = points (vital)
TC = technical fouls (unimportant)
EJ = ejections (unimportant)
FF = flagrant fouls (unimportant)
Sta = starts (unimportant)

Of course, the importance of the above categories all depends on your individual league and its settings. If you are in a no-percentages league, you can get rid of stuff like makes/attempts, and I have heard of some barbarians who actually use offensive rebounds as a category (yikes!). This is the best thing about making your own draft kit--you are not bound by "standard" ranking systems which will quite often not conform to your own personalized league settings.

Next time, the real fun begins--discussing the relative merits of Pops Mensah-Bonsu versus Ruben Boumtje-Boumtje. Oh, and I might also begin calculating per-game averages for everyone in the NBA and begin discussing some metrics for player comparison.

Until then,
-M

Sunday, May 13, 2007

Build-Your-Own NBA Draft Kit, Part 1: Overview

In case the title didn't give it away, there are going to be a series of articles detailing how you, my humble reader, can build your very own draft kit using only Microsoft Excel, a pile of stats and some American ingenuity (international readers: I do apologize. Feel free to substitute Djiboutian ingenuity, Icelandic ingenuity, or whatever ingenuity you prefer).

There are several good reasons to build your own draft kit, but the biggest one has to be...

1. YOU DON'T HAVE TO PAY A RED CENT

I suppose there are a lot of people out there who enjoy paying $20-$50 for a draft kit from one of the "expert" fantasy sites out there, but I certainly am not one of them. If your time is really that valuable that you can't spend a few hours churning some numbers, then purchasing a draft kit is perfectly fine. But why are you even reading this in the first place? Go back to managing your stock portfolio!

Anyway, for the rest of us who A) have a few hours to kill, B) like understanding why exactly Danny Granger is better than Dwyane Wade (...or is he?), and C) want to save a few bucks, this is the place for you! Other reasons for building your own draft kit are...

2. FULLY CUSTOMIZABLE

Running a non-standard league that uses offensive fouls, free throws attempted, and assist/turnover ratio? Some draft kits might have a problem giving you adjusted rankings based on these categories. If you make your own draft kit, you can feel free to include and exclude whatever statistics you want based on the parameters of your league.

3. THE NUMBERS NEVER LIE

Pardon me for stealing Matt Buser's favorite line, but it really is true. Memories have a tendency to betray us. We remember some things favorably and others unfavorably. Would you build a draft kit if you had watched every single NBA game all year long, but didn't ever see any statistics? Clearly, no. So use those numbers, folks!

Others have criticized me in the past for "just looking at the numbers." Well, this may come as a shock, but fantasy sports are all about numbers! (Gasp!) This is not to say that the human element has no place, but at its core, the player with the best numbers wins.

4. IT GIVES PEOPLE SOMETHING TO ARGUE ABOUT

I am sure that some of you might disagree with my methods. That's fine! I am always open to new ideas for improving the process. I myself have second- and triple-guessed my own means of building draft kits, and have honed the process over a period of years. One of the great things about Fantasy Sports is that it gives people a competitive outlet, and I would hope that that same competitive spirit transfers over to this series (even if it consists of "You're a moron, Mark.").

Tune in next time for the second installment of the series, which will cover the following topics:

-Where to obtain fancy statistics for the NBA
-How to import said statistics in Microsoft Excel
-Where to download free pirated copies of Excel (just kidding!)
-Jessica Alba's phone number (kidding again!)
-Initial customization of the spreadsheet for our particular league (serious on this one!)

Until then, take care.
-M

Saturday, April 21, 2007

Season Recap

Well, the 2006-07 fantasy basketball season has finally concluded. In what was probably the craziest year I can remember, I had the following finishes:

Standard 12 man public Yahoo! Roto League: 1st
Standard 12 man public Yahoo! Roto League: 1st
Private 8 man Yahoo! H2H League: 1st
Private 14 man Yahoo! H2H League: 2nd

Obviously, injuries totally marred this fantasy season from beginning to end. Rare was the player who didn't miss more than a game or two due to one malady or the other. Furthermore, the rampant tanking in the final few weeks of the season leads me to consider a solution to the problem. Clearly, fantasy basketball is in need of a similar system to what they use in fantasy football--that is, move the finals up one (or even two) week(s) in order to reduce the impact of tanking teams/playoff teams restings its stars. My 2nd place team had Terry, Billups, Camby, Garnett, and Redd, all of whom missed time in the final week for one of those two reasons.

I have a rather ambitious plan for the next few months. I plan on putting up a series of articles that guide you, step-by-step, through the process of building your own draft board via Excel spreadsheet. Hopefully I can help you learn a thing or two, and I am very keen to hear how my methods can be improved upon. Expect my first installment in a few days, with installments posted twice or three times a week.

Monday, April 2, 2007

NBA Streamers of the Day for Tuesday, April 3, 2007

Season to Date: 6-3

Kiddie Pool (shallow): Ersan Ilyasova (F), MIL
Let the Oden/Durant sweepstakes begin! They have already begun in earnest in Milwaukee, where the Bucks are being completely shameless in their late-season tanking efforts. First they bench Michael Redd for 8 minutes of the 4th quarter in a game in which he was 14/18 from the field, and then he mysteriously and suddenly missed their latest game with "knee pain." The main beneficiary of this chicanery is Ilyasova, who is getting a big bump in minutes and is also getting a lot of crunch-time looks.

Lake Tahoe (deep): Anderson Varejao (F/C), CLE
The bushy-haired Brazilian is a solid pickup for rebounds, steals, and the occasional block, and he also shoots a high percentage from the field. His minutes have increased as the season goes on, and he has actually been getting more minutes than Zydrunas Ilgauskas of late.

Marianas Trench (super deep): Ike Diogu (F/C), IND
Diogu had a monster game the last time out for the Pacers, and with the constant uncertainty about Jermaine O'Neal's cranky knees, Diogu could be in line for a huge spike in minutes. Hope that Rick Carlisle was impressed with Diogu's last game and plays him another 30 minutes tomorrow.

Sunday, April 1, 2007

NBA Streamers of the Day for Monday, April 2, 2007

There are no games scheduled for Monday, in a clear sign that the NBA only wants to piss of people such as me who have few things better to do than to constantly refresh in-progress box scores.

Yesterday's Score: 3-0
Season to Date: 6-3

Saturday, March 31, 2007

NBA Streamers of the Day for Sunday, April 1, 2007

Yesterday's Score: 1-2
Season to Date: 3-3

Since nearly all NBA teams are playing on Sunday (24 out of 30, to be precise), I am going to refrain from running a Streamers of the Day column. Most owners should have full rosters going tomorrow, and those who don't have a bevy of options to choose from. Streamers of the Day will run on days in which less than 20 teams are playing; the next such day will be Tuesday, April 3, 2007. There are no games on Monday, April 3, 2007.

Have a good weekend!

Friday, March 30, 2007

NBA Streamers of the Day for Saturday, March 31, 2007

There are only 4 games scheduled for Saturday, so we're going to have to look a little harder to find some worthy streamers today.

Also, I have decided to add a ledger of my "success rate," which is totally arbitrary in terms of what makes a player's performance a "win" or "loss." Deal with it.

Yesterday's Score: 2-1
Season to Date: 2-1

Kiddie Pool (shallow): Jason Hart (G), LAC
A good source of assists from a streamer spot, Hart's production is coming solely at the expense of Sam Cassell, who is sidelined with persistent back spasms. In his last game against the Rockets, Hart scored 16 points, pulled down 6 rebounds and had 5 assists. He also contributed a steal to your fantasy cause. Don't expect these kinds of numbers, but 10-12 points and 5 assists is a reasonable goal.

Lake Tahoe (deep): Nate Robinson (G), NYK
Another injury-replacement-as-streamer, Nate Robinson is seeing more action due to the depleted status of the Knicks' roster. With Jamal Crawford, Quentin Richardson and Steve Francis sidelined, Robinson should be the featured 2-guard for the Knicks for the immediate future. In the Knicks' last game, he scored 12 points with 7 boards, 3 assists, a steal, and a three. The boards are nice, but probably unlikely to be repeated from a guy of such, um, short stature. Pick him up for the points, and anything else he contributes is a bonus.

Marianas Trench (super-deep): Travis Outlaw (F), POR
To complete a trifecta of injury subs, Travis Outlaw is benefiting from the ankle injury suffered by small forward Ime Udoka. When he gets minutes (which isn't all that often, sadly), Outlaw is capable of some truly monstrous steal and block numbers. Hell, in only 21 minutes per game, he's averaging 0.8 steals and 1.2 blocks per game. Expect him to be around 1.0 and 1.5, respectively, for the duration of Udoka's injury.

Thursday, March 29, 2007

NBA Streamers of the Day for Friday, March 30, 2007

A pretty hefty slate of games are scheduled for Friday, so your options should be a-plenty.

Kiddie Pool (shallow): Brevin Knight (G), CHA
Despite the Bobcats' relative health, Brevin Knight is a favorite of coach Bernie Bickerstaff and should get more than his fair share of assists even with Ray Felton back in the mix. Don't expect a lot of scoring, of course, but if you are in need of assists and steals, Brevin is your man.

Lake Tahoe (deep): Josh Boone (F/C), NJN
After two stellar games in which he missed only two of his 23 total field-goal attempts and averaged 21.5 points and 8 rebounds, Boone could be in line for more minutes the rest of the year. The rookie from Connecticut has clearly outplayed Mikki Moore lately and could be worth a permanent roster spot if he plays well in another game or two.

Marianas Trench (super-deep): Stephen Hunter (F/C), PHI
A favorite streamer of mine for a couple years now, Hunter can give you solid big man stats: High FG%, rebounds, and blocks. Of course, if you're in a tight battle for FT% or TO, you may not want to pick him up, as he is prone to the free-throw yips (although his last few have seen a marked improvement) and turnovers.

Wednesday, March 28, 2007

NBA Streamers of the Day for Thursday, March 29, 2007

This is going to be my first recurring feature here on the blog. I aim to update it almost every day, although you never can be too sure with work and planning for a wedding and whatnot. This will be specifically for head-to-head (H2H) fantasy NBA leagues with daily rosters. This is the kind of league with which I am the most familiar, being the default setting for Yahoo! H2H leagues as well as the format for my longest-running fantasy NBA league (6 years and counting).

The format will be as follows:

Kiddie Pool - This player will be for those of you in shallow leagues (you know who you are). Think 10 owners, 12 players per team. This player would probably not be available in most leagues.

Lake Tahoe - This player will be available in a good number of 12 owner, 12 player leagues.

Marianas Trench - This player would only be desirable in a deep league (like my 14 x 14 league).

Without further ado, the Streamers of the Day for Thursday, March 29:

Kiddie Pool - Tarence Kinsey, Memphis
I'll admit that I had no idea who this guy was before Mike Miller's injury. But since the breakthrough swingman's tendinitis flared up and forced him to the bench, the rookie for South Carolina has been starting and contributing across the board, including a stellar 24-point, 7-rebound performance in the shocking win against the Lakers.

Lake Tahoe - Tyrus Thomas, Chicago
Thomas has been up and down since his increase in minutes about a month ago. Despite his free throw line and turnover woes, he is a solid contributor in points, rebounds, and blocks.

Marianas Trench - Jason Maxiell, Detroit
In a deep league such as mine, desperate times (such as the playoffs) call for desperate measures, like hoping that Chris Webber is not sufficiently recovered from his flu bug in order to play. If he sits, Maxiell is a great source of rebounds and a high shooting percentage, and in the Pistons' last game he also contributed 2 steals and 3 blocks.

Welcome to the Dashing Fantasy Sports Blog!

Welcome to my blog! I just started it, so please have patience as I get the hang of it (yeah, I know, welcome to 2003 and all that).

I have several goals in starting this blog:
-to provide free fantasy information that would cost money on other sites
-to educate people so they can make their own fantasy sports decisions
-to learn a thing or two myself
-to have fun

In my experience, the most enjoyable fantasy sports leagues are the ones with more educated, involved and active owners. Unlike most fantasy sports writers, I'm not going to hide "trade secrets" that could potentially be used by my competition. I believe that everyone benefits when owners make savvy moves and fair trades (well, maybe not in the win/loss column!).

Of course, if you have a suggestion, idea, thought, or criticism, feel free to send it my way. I would love to hear well-reasoned and well-thought-out arguments, even if they happen to prove that I'm an idiot.