Brief overview of the rankings can be found here, and an oultine of the linear optimization algorithm can be found here.
As the season progresses it looks as though the $/pt value for players is starting to settle down - there are fewer outlandish outliers to take advantage of at this point in the season. However, you can still find some value if you look hard enough. Chris Ogbonnaya is a must-buy if you're playing on DraftKings this week simply because he's priced incredibly low with his easiest matchup of the year with a home game versus a porous Bears run defense. When you consider that "lead" Browns runningback Willis McGahee out with a concussion, Ogbonnaya will be playing a lot of downs. Don't expect him to carry your team to victory this week, but as a bargain bin pickup he'll allow you to upgrade elsewhere in your lineup. In this case, it looks like Shane Vereen and Dez Bryant offer the best value of the elite talents at RB and WR.
Elsewhere it looks like Brandon Marshall is great value at DraftStreet, but this is a potentially risky pick. It seems like part of his value is due to the fact that it's unclear which of Marshall and Jeffery Browns CB Joe Haden will shadow tomorrow afternoon. In fact, if Marshall is stuck on Haden Island, look to replace him with Alshon Jeffery, as #2 WRs have fared incredibly well vs the Browns all year long, and Jeffery is one of the most capable #2s in the entire league.
Pierre Garcon and Roddy are also fairly well priced across the board, but with a new QB in Washington it may be a slightly risky pick with potentially high reward. Both Washington and Atlanta have pretty terrible defenses, so both players could be in for big days.
Saturday, December 14, 2013
Thursday, November 21, 2013
Week 12 Forecasts
Week 12 is here, and since I'll be unable to update my rankings and projections this weekend (vacation in Cleveland!) I've got some preliminary Thursday projections for everyone.
This week Victor Cruz is great value across all sites, so if you can fit him into your lineup that would be highly recommended. Chris Ogbonnaya is also priced very well across the board, but it's hard to recommend him as more than an efficient and cheap fill-in who could allow you to upgrade at another position like QB. Speaking of which, Brees and Peyton are on a level of their own this week, so it would definitely be advisable to try and pick one of them up, especially Brees (who's priced lower). However, as Brees is playing Thursday, it's still slightly risky.
Results from last week:
- Antonio Brown was priced extremely well in all leagues, and showed last week why it's a good idea to trust the high-volume WRs when the price is right.
- Ray Rice finally payed off for those willing to trust him. Unfortunately his performance bumped up his price in all leagues, and he's no longer a good value.
Saturday, November 9, 2013
Week 10 Projections
Another week brings with it new projections! While I didn't have time to put together projections before Thursday nights game between the Redskins and Vikings, if that game is a sign of things to come, this week will be great for fantasy players. Garcon, Reed and Peterson all had great games, and unsurprisingly were all ranked quite highly going into the game.
Anyway, with those players out of the picture, the landscape changes slightly. While Garcon's price has been rising across most sites recently, he generally still holds very decent value. That might change after his second 20+ point performance, however.
A couple players to keep an eye out for this week are Cecil Shorts, Keenan Allen, and Mike James. These three guys are priced relatively well across almost all sites. Allen is a particularly good buy if priced well, as he's proved over his past 4-5 games that he's not only a great red-zone threat but has been able to rack up the targets and yardage extremely consistently. It's very surprising he's still being priced as a WR2-3 when he's clearly in the WR1-2 range.
Cecil Shorts is a slightly different story. After teammate Justin Blackmon was suspended last week for repeated violation of the NFLs substance abuse policy (marijuana) Shorts will step right back into the #1 role at Jacksonville. Fortunately for him, he now has Chad Henne hucking the ball rather than the indomitable Blaine Gabbert. While both Jacksonville and Henne are still terrible, Henne is a massive step up from Gabbert. Since JAX will still be playing from behind every game, Shorts should see an uptick in targets and some (hopefully) impressive garbage time points. Another much deeper sleeper to keep an eye on in Jacksonville is Mike Brown, the team's third receiver who will be playing in the spot of Blackmon.
Mike James is final value pick who is under-priced at almost every site. With news this week that Doug Martin has been placed on the season-ending IR in Tampa, James is now the teams one and only back, and will be the focal point of their run game for the rest of the season. With another week to train as the primary back, James should be good for some solid points in favorable matchups. This week vs. the Dolphins is definitely one of those favorable matchups. Pick him up.
The last guy I want to talk about is Jimmy Graham. With Gronk on bye and Gonzalez in a difficult matchup vs the Seahawks Graham is by far the best TE pickup this week. However, he's still priced very high in most leagues, so picking him up will necessitate some bargains and value-picks in other positions. However, despite his steep price tag, he's still worth a pickup in most sites due to his ridiculous ability. Graham is one of those guys you can count on for 1-2 touchdowns every game. It's not fair. If you can afford him, pick him up.
Anyway, without further ado, the full week 10 value rankings and lineup optimizations:
Anyway, with those players out of the picture, the landscape changes slightly. While Garcon's price has been rising across most sites recently, he generally still holds very decent value. That might change after his second 20+ point performance, however.
A couple players to keep an eye out for this week are Cecil Shorts, Keenan Allen, and Mike James. These three guys are priced relatively well across almost all sites. Allen is a particularly good buy if priced well, as he's proved over his past 4-5 games that he's not only a great red-zone threat but has been able to rack up the targets and yardage extremely consistently. It's very surprising he's still being priced as a WR2-3 when he's clearly in the WR1-2 range.
Cecil Shorts is a slightly different story. After teammate Justin Blackmon was suspended last week for repeated violation of the NFLs substance abuse policy (marijuana) Shorts will step right back into the #1 role at Jacksonville. Fortunately for him, he now has Chad Henne hucking the ball rather than the indomitable Blaine Gabbert. While both Jacksonville and Henne are still terrible, Henne is a massive step up from Gabbert. Since JAX will still be playing from behind every game, Shorts should see an uptick in targets and some (hopefully) impressive garbage time points. Another much deeper sleeper to keep an eye on in Jacksonville is Mike Brown, the team's third receiver who will be playing in the spot of Blackmon.
Mike James is final value pick who is under-priced at almost every site. With news this week that Doug Martin has been placed on the season-ending IR in Tampa, James is now the teams one and only back, and will be the focal point of their run game for the rest of the season. With another week to train as the primary back, James should be good for some solid points in favorable matchups. This week vs. the Dolphins is definitely one of those favorable matchups. Pick him up.
The last guy I want to talk about is Jimmy Graham. With Gronk on bye and Gonzalez in a difficult matchup vs the Seahawks Graham is by far the best TE pickup this week. However, he's still priced very high in most leagues, so picking him up will necessitate some bargains and value-picks in other positions. However, despite his steep price tag, he's still worth a pickup in most sites due to his ridiculous ability. Graham is one of those guys you can count on for 1-2 touchdowns every game. It's not fair. If you can afford him, pick him up.
Anyway, without further ado, the full week 10 value rankings and lineup optimizations:
Tuesday, November 5, 2013
Week 9 Rankings
Week 9 player rankings have finally taken a more consistent turn as the ideal "buy low" candidates like Keenan Allen, Zac Stacy and Fred Jackson have finally decisively emerged as solid starters with a high volume of targets and touches. Going forward it will be interesting to see how the changing RB landscape at teams like Philly (Riley Cooper), St. Louis (Zac Stacy), Arizona (Andre Ellington) and New York (Andre Brown) evolves for the rest of the season.
Before I crunch the numbers for week 9 (consensus rankings haven't been adequately updated at this point in time) we should make sure to keep an eye out on the following players:
QB:
- Nick Foles (possibly solidified is start ahead of Vick even when he returns to health)
- Jay Cutler (coming back from injury earlier than expected, Alshon Jeffery showing he's the real deal)
- Tom Brady (was priced extremely low due to his horrible first half of the season)
- Case Keenum (great showing as a solid QB option for Texas)
RB:
- Zac Stacy (a few great games in a row, now the obvious starter and focal point of STL offense)
- Andre Ellington (this is riskier, depends on how he is utilized by the AZ coaches)
- Andre Brown (coming back from injury, might now get full workload immediately but the only back in NY and very talented)
- Lamar Miller (finally getting consistent 15-18 carries a game, a solid option if priced reasonably)
WR:
- Riley Cooper (Foles loves this guy so much that he'll be a solid pick every week)
- Alshon Jeffery (looked the part of a legit WR1, if Jay Cutler comes back could do even better)
- Keenan Allen (if he's still priced dirt cheap he'll be a great option)
- Antonio Brown (finally showed what kind of numbers he's capable of if he finds the end zone)
Anyway, this is all purely speculative, it might not make sense to pick up most of these guys if they're not priced advantageously at the various websites.
Week 9 Optimized Lineups and Player Value Rankings:
Sunday, October 27, 2013
Linear Programming and an Optimization Model
I finally taught myself how to create a linear optimization model in Excel (it's excessively easy with an Add-In I just learned about). This is pretty cool because it allows my fantasy football predictive model to evolve from a series of gut-feelings and potentially fruitful lineups to a solitary optimized lineup. Obviously an optimized lineup does not guarantee success, but over the (infinitely) long term, consensus rankings should be approximately accurate and optimizing those rankings should result in success.
How it works:
Linear programming and optimization models in general attempt to maximize (or minimize) a calculated value given a set of constraints. For fantasy football this translates very simply: we want to maximize the projected points in a starting lineup given that the players in the lineup meet all relevant salary cap and player-position restrictions.
I've already discussed how the projected points are calculated (from FantasyPros consensus rankings), and the player salary cap data comes directly from the different daily/weekly fantasy sites. The one somewhat tricky piece of this puzzle was to figure out how to tell the model that certain players can only play in certain positions and that there are restrictions on how many players of each position can be drafted into the starting lineup.
This turned out to be relatively easy; I created a list of all available players with their position, projected points and salary. The model makes a binary choice with respect to each player as to whether or not to draft them. I then added certain position constraints depending on the format of the website. For example, DraftKings requires a lineup be composed of 1 QB, 2 RBs, 2 WRs, 1 TE, 1 FLEX, 1 K, and 1 D/ST. The FLEX spot can be either a runningback, receiver or tight end.
Thus, I added the following constraints: QB = 1, RB ≥ 2, WR ≥ 2, TE ≥ 1, K = 1, and D/ST = 1. Then, to satisfy the FLEX requirements the following constraint needed to be added as well: RB + WR + TE = 6.
These constraints are easy to adjust depending on the format of the various websites, and the results were fantastic. The following lineup is the optimized projections for DraftKings, and even some of the professional Fantasy pundits seem to think it's got potential. My plan is to update my optimization model each Saturday or Sunday in preparation for the week's games. At the end of the season I'll try to aggregate all my optimal lineups and see how well the performed and whether or not it is feasible to consistently win money in the weekly/daily fantasy pools using this strategy.
How it works:
Linear programming and optimization models in general attempt to maximize (or minimize) a calculated value given a set of constraints. For fantasy football this translates very simply: we want to maximize the projected points in a starting lineup given that the players in the lineup meet all relevant salary cap and player-position restrictions.
I've already discussed how the projected points are calculated (from FantasyPros consensus rankings), and the player salary cap data comes directly from the different daily/weekly fantasy sites. The one somewhat tricky piece of this puzzle was to figure out how to tell the model that certain players can only play in certain positions and that there are restrictions on how many players of each position can be drafted into the starting lineup.
This turned out to be relatively easy; I created a list of all available players with their position, projected points and salary. The model makes a binary choice with respect to each player as to whether or not to draft them. I then added certain position constraints depending on the format of the website. For example, DraftKings requires a lineup be composed of 1 QB, 2 RBs, 2 WRs, 1 TE, 1 FLEX, 1 K, and 1 D/ST. The FLEX spot can be either a runningback, receiver or tight end.
Thus, I added the following constraints: QB = 1, RB ≥ 2, WR ≥ 2, TE ≥ 1, K = 1, and D/ST = 1. Then, to satisfy the FLEX requirements the following constraint needed to be added as well: RB + WR + TE = 6.
These constraints are easy to adjust depending on the format of the various websites, and the results were fantastic. The following lineup is the optimized projections for DraftKings, and even some of the professional Fantasy pundits seem to think it's got potential. My plan is to update my optimization model each Saturday or Sunday in preparation for the week's games. At the end of the season I'll try to aggregate all my optimal lineups and see how well the performed and whether or not it is feasible to consistently win money in the weekly/daily fantasy pools using this strategy.
@nickfoosball @btxj @DraftKings That's a damn good lineup.
— Paul Charchian (@PaulCharchian) October 27, 2013
Wednesday, October 23, 2013
Week 8 Projections - Thursday Edition
As always, Thursday projections are very far from ideal, as we really don't know exactly who will be starting and who will be 100% until closer to Sunday. However, since the first game of the week is Thursday many leagues lock at this point, so having a good idea of where to find value picks is extremely important.
FanDuel lineups and value projections: http://imgur.com/a/rZecP
DraftStreet lineups and value projections: http://imgur.com/a/2vuzm
DraftKings lineups and value projections: http://imgur.com/a/biLWq
DraftDay lineups and value projections: http://imgur.com/a/CwQi2
DailyDraft lineups and value projections: http://imgur.com/a/sDkMO
Happy drafting, and as always make sure to pay attention to breaking injury news up until Sunday, as one player starting or sitting can have a huge impact on your lineup. I'll try to make a final update either Saturday night or Sunday morning if I can use a computer with my sling.
FanDuel lineups and value projections: http://imgur.com/a/rZecP
DraftStreet lineups and value projections: http://imgur.com/a/2vuzm
DraftKings lineups and value projections: http://imgur.com/a/biLWq
DraftDay lineups and value projections: http://imgur.com/a/CwQi2
DailyDraft lineups and value projections: http://imgur.com/a/sDkMO
Happy drafting, and as always make sure to pay attention to breaking injury news up until Sunday, as one player starting or sitting can have a huge impact on your lineup. I'll try to make a final update either Saturday night or Sunday morning if I can use a computer with my sling.
Week 8 Improvements
After a relatively disappointing week 7 (who would have predicted the lowest scoring game of the week to be Dallas vs Philadelphia...) I've made a couple of small changes to the player value calculations and a slight change in my approach to determining three optimal lineups for each site. The basic process remains unchanged: take consensus rankings from FantasyPros, assign projected points to players based on their FantasyPros rankings, and determine player values by comparing projected points to salary.
The first suggested modification was to use the FantasyPros average ranking rather than their ECR (expert consensus ranking). The difference is pretty straightforward: ECR aggregates the projections from all possible experts, and then weights their opinions based on how accurate their projections have been thus far. At this point they are then rank-ordered. This is great if you're looking for a rank-ordering (1st, 2nd, 3rd, etc), however it was pointed out to me that rank-order might not be ideal in our valuations. For example, consider the quarterback rankings this week. Peyton Manning, Drew Brees and Aaron Rodgers are considered to be in a "tier" of their own. The difference between Rodgers (3rd) and Stafford (4th) should in theory be larger than a single place.
Average Rank (AR) helps us define these tiers slightly better. AR is a simple average of player rank across the different expert's individual rankings. When a certain group of players are considered to be in a "tier" of their own we end up seeing gaps in their AR. When you look at the chart below, we see that Peyton, the clear #1, is followed very closely by Breews and Rodgers with AR values of 2.5 and 2.9. After this elite tier of QBs there's a fairly significant drop down to Matt Stafford at 4.8. This isn't to say that Stafford isn't the 4th best QB in week 8, but it means that he shouldn't be considered part of the same tier as the top 3.
The first suggested modification was to use the FantasyPros average ranking rather than their ECR (expert consensus ranking). The difference is pretty straightforward: ECR aggregates the projections from all possible experts, and then weights their opinions based on how accurate their projections have been thus far. At this point they are then rank-ordered. This is great if you're looking for a rank-ordering (1st, 2nd, 3rd, etc), however it was pointed out to me that rank-order might not be ideal in our valuations. For example, consider the quarterback rankings this week. Peyton Manning, Drew Brees and Aaron Rodgers are considered to be in a "tier" of their own. The difference between Rodgers (3rd) and Stafford (4th) should in theory be larger than a single place.
Average Rank (AR) helps us define these tiers slightly better. AR is a simple average of player rank across the different expert's individual rankings. When a certain group of players are considered to be in a "tier" of their own we end up seeing gaps in their AR. When you look at the chart below, we see that Peyton, the clear #1, is followed very closely by Breews and Rodgers with AR values of 2.5 and 2.9. After this elite tier of QBs there's a fairly significant drop down to Matt Stafford at 4.8. This isn't to say that Stafford isn't the 4th best QB in week 8, but it means that he shouldn't be considered part of the same tier as the top 3.
How do we incorporate this information into our model? If you remember, we take the consensus projected points for the position and order them largest to smallest. Before, we assigned the largest projection to the 1st ranked player using ECR, and the 2nd largest projected point total to the 2nd ranked ECR player and son on. However, what we do now is take the same weekly consensus projections and assign them based on AR.
For this example, consider Matthew Stafford, who has an AR of 4.8. To project his points we will project him to be partway between the 4th and 5th projected values. Because 4.8 is 80% of the way to 5, we use 20% of the 4th value and 80% of the 5th value. Thus, Stafford's projected points (PP) becomes $PP=(0.2*21.5)+(0.8*21.2) = 21.26$.
This gets us slightly closer to an ideal model in that we now account somewhat for tiers and accentuate the fact that certain players simply operate at a higher (or lower) level than their peers.
That is the biggest change to the modeling I've undertaken this week. The only other change is somewhat more philosophical; you may have noticed that Nick Foles or Tony Romo was present in nearly every single one of my optimal lineups. This may be good over the long-run (infinitely many weeks of football) as they were 'projected' to have the best value, but that turned out not to be the case in a freakishly low-scoring affair between the Eagles and Cowboys. While this was unexpected, it had the net effect of influencing every single one of my drafted lineups extremely unfavorably. What I've learned is that, much like ones stock portfolio, diversification is key. While I could have ended up winning every single pool if Nick Foles had a great game, betting that much on the performance of any one player is always an extremely risky gamble. Thus, going forward I'll try and make sure that I (almost) never put one player in all three optimal lineups I project for a given fantasy site. This will spread out the risk associated with following these consensus rankings and hopefully give you all a better shot at maximizing your profit when you play.
Stay tuned to my week 8 projections Wednesday afternoon. I've got a fairly serious shoulder surgery so I might not be able to update the lineups and information until Saturday afternoon or Sunday morning. Good luck!
Saturday, October 19, 2013
Final Week 7 Projections for DraftDay, FanDuel, DraftStreet and DraftKings
DraftDay
DraftStreet
DraftKings
FanDuel
For the full methodology please refer to my previous post. One key difference and update in this iteration is I am no longer using an average-score curve to project fantasy points. Instead, I am using a list of consensus fantasy projections from FantasyPros to come up with a top-25 scores in each position. These top-25 projected points I am then similarly applying to the top-25 players in each position according to the consensus rankings at FantasyPros. The reason is that I am far more comfortable using the ordinal consensus rankings than I am simply using their consensus projections with no modifications. Their consensus projections only represent the views of a half-dozen analysts and are not particularly scientific in nature.
Feel free to ask any questions, you can contact me on twitter @nickfoosball. Good luck!
Thursday, October 17, 2013
Methodology and WEEK 7 PROJECTIONS!
Before I set out making a perfect lineup I had to figure a couple things out. First, what site was I going to use? I was watching TV, saw an ad for DraftKings and like a sucker decided to use it for my testing purposes. The idea behind the site itself is pretty basic: you start with $50,000 and need to pick a lineup. Different players are priced according to some hidden combination of demand and perceived or projected talent. It seems relatively accurate, and there aren't too many obvious "sleeper" picks right off the bat.
Additionally, the scoring in DraftKings is fairly standard as well. The only things that might differ from your own league are 4 points per passing touchdown (my league scores them as 6) and there is 1 point-per-reception (DraftKing is full-PPR style, FanDuel does half-PPR).
Now, are we going to use this information to make an informed optimization model? In order to optimize a fantasy football lineup under these conditions we need a few pieces of information. We need the salaries of the players and the total cap we're working with. DraftKings gives us this right away. We also need rankings projected point values for each player so that we can min-max our team. This is where things get more complicated.
Any person can come up with their own personal rankings of fantasy football players on any given week, but it will be based entirely upon opinion. The rise of fantasy football in America has brought with it the rise of fantasy football "experts". People paid to totally immerse their professional lives in fantasy football and use that specific knowledge and insight to come up with weekly rankings for the rest of us. Matthew Berry is one of the more well known analysts working full time on fantasy football at ESPN. His celebrity-like status has even earned him cameos on shows like The League.
Anyway, how does this help us? No one person is every 100% correct, even if he or she is a certified "fantasy guru". Even the best of these experts are rarely right more than two-thirds of the time. This is where another site, FantasyPros, comes in to help us. While each individual expert may not be always right all the time, it is possible through aggregation to come up with a much more accurate set of rankings. One real world example of this predictive aggregation is found in Las Vegas. Currently the most accurate predictor of real-world sporting event outcomes is the collective odds in Vegas. When thousands of people place bets on who they think will win given the initial odds you end up with a very, very accurate predictor.
The idea of FantasyPros is similar. They take the personal rankings of over 70 fantasy football experts and essentially use a weighted average to aggregate them all. Experts who have traditionally been more accurate are weighted more heavily than those who are perpetually off bit a larger margin. The site also allows you to pick and chose which experts you want to display in their aggregation. For my purposes, I chose all experts that had updated their rankings within the past day (as injuries and other things move very fast in fantasy football, and outdated information can kill you).
So this is a great start. We have access to the consensus opinion of the aggregated community of fantasy football experts. However, an ordinal ranking of players doesn't actually help us as much as we might think. Sure we can use these rankings to see that Pierre Garcon is expected to score fewer points than Justin Blackmon, but by how many? If Garcon demands a substantially lower fantasy salary it might make sense to draft him even if his projected point total is lower.
Here's where I implemented my own modeling design (that may or may not work perfectly, we'll see going forward). What I did was divide all the players into their respective positional categories (QB, RB, WR, TE, FLEX, K, D/ST). For each category I took the average points per game from all of the players and ordered them smallest to largest. The largest average point total I "gave" to the highest ranking player for the week, the 2nd largest I applied to the 2nd ranked player, etc. Basically we had an ordering, but needed to come up with a projected point curve to attach to that ordering. The curve I ended up using was the average points per game of the top 25 players in their respective categories.
In the running back example above, Jamaal Charles and Matt Forte had the 1st and 5th highest average points per game at 25.8 and 20.1 respectively. Thus, the 1st ranked player in the consensus rankings would be projected at 25.8 (this happens to be Jamaal Charles) and the 5th ranked player (Reggie Bush) would projected to earn the 5th highest average of 20.1. This would go down, so the Xth ranked player would be given the Xth highest average point per game for his projection.
While this methodology isn't perfect, it's a fairly good way to apply projected point totals to the ordinal ranking that we get from FantasyPros. Additionally, while these average rankings will likely be much lower than the highest values achieved each year, explosive games and huge point totals are not something that you can plan on. The higher averages simply mean that, on average, we expect the 1st ranked running back to score about 25.8-20.1 = 5.7 points more than the 5th ranked running back at the end of the week.
What do the final running back projections look like? Well, the top 25 are all projected between 25.8 and 10.9 fantasy points.
No we have all the data and information we need to make informed optimization decisions. The first step to maximizing fantasy points under a salary cap constraint is to look at the cost of projected fantasy points in salary dollars. This is done by dividing the salary of each player by their projected points and gives us a Dollar/Point value. In this situation the lower the number the more optimal a player is. Additionally, we need to keep an eye on the total salary of our entire team, so we want to put a premium on players with low total salaries and low $\$$/Pt values. To do this we multiply the $\$$/Pt by their total salary. Players with low values of this $\$*\$$/Pt metric are those that represent the best value given their salary.
The table above shows the top 5 wide receiving options sorted by $/Pt. As you can see the salary values in DraftKings has not quite caught up to some of the hype and projected talent in sleeper picks like Keenan Allen. I expect this discrepancy to fix itself in the next week or so, but as you can see Keenan Allen is a must draft receiver in this format, especially with an extremely favorable match-up against Jacksonville this week. This was something I was interested in seeing during the drafting process: would low value sleeper picks from traditional fantasy football still maintain value in these weekly competitions? Absolutely. I have a feeling if we did this same process last week we would have seen Justin Blackmon topping the charts by a significant amount as well, as his salary has only recently caught up to his skill level and fantasy football potential. The result: snatch up San Diego's rookie receiver from Cal while he's still priced favorably, especially given how well Phillip Rivers is playing. And it's Jacksonville. Enough said.
Some studs like Dez will show up, but very careful as an $\$$8,800 salary is very hard to fit into a $\$$50,000 roster. You can see that while Dez has the highest point total with the second best $\$$/Pt value he doesn't look so hot when you consider his price tag as he has the highest value of $\$*\$$/Pt of any of the top 5 options.
The Optimization
Now that we have all our data and valuations made we can begin to make the optimized lineup. This is an iterative process, as I don't know any algorithms that can solve something this complicated in one step.
The first step is to select the top picks at each position based purely on $/Pt and see where we land. After this first run through we end up with the following lineup:
One surprise here but be the inclusion of Brandon Jacobs. However, with a price tag of only 3,900 he's the clear number one choice in value, especially considering the fact that every other RB in New York is currently either injured or terrible. However, with a price tag like that Jacobs is similar to Allen in that he's someone you can't quite pass up. Joseph Randle would be another under-valued option, but with a price tag of 4,800 he's almost 25% more expensive than Jacobs with very similar projections.
As you can see we're 2,400 over our 50,000 salary. The first step is to remove the player with the least value based on $\$*\$$/Pt and replace him with the next highest value player at the position. This results in replacing Dez Bryant (8,800) with Victor Cruz (7,100). However, at this point we're still 700 short. We could remove Jamaal Charles now, as he's the next player on the chopping block based on value, but replacing him would bring us far below the salary cap, which isn't necessarily what we want to do. Additionally, I have a lot of faith in Jamaal Charles going up against the struggling Texans this week, especially given the PPR aspect of our league as Charles is Alex Smiths favorite target in Kansas City.
At this point the final tweaks and optimizations are fairly subjective in nature. As much as I love Jordan Cameron (answer: A LOT) I personally think Brandon Weeden is an absolutely worthless shitter, so my first step was to replace Jordan Cameron with his next cheapest alternative, Jermichael Finely. Finley's stock has only been rising in Green Bay of late as the season-ending injury to Randall Cobb could actually result in Finley lining up out wide more often, letting him score like a wide-receiver. Couple this with the fact that the only healthy receiver in Green Bay, Jordy Nelson, will be shadowed by Cleveland's shut-down corner Joe Haden you've got yourself a perfect storm of opportunity and talent in Finely to come through with a big game.
At this point we're still a few dollars over our cap, so we need to make one more minor change. Rather than replacing Jamaal or Foles (who I think is currently under-projected by the consensus rankings), I want to make a small adjustment at Flex and replace Knowshon Moreno with Reggie Wayne. Moreno just came off the best few weeks of his career, and as such probably has a slightly inflated value. Additionally, many of these daily leagues have dozens of competitors. Putting a WR in your flex spot generally is viewed as a higher-risk higher-reward play. Considering the Colts are playing the Broncos and the atrocious state of the Denver secondary I feel like this could be a very, very keen move as Wayne should have a higher ceiling than Moreno. Also, this puts us just underneath the $50,000 salary cap and leaves us with a very nice lineup.
So there we have it, our very first DraftKings lineup for Week 7. I'll continue to update the model and projections each week, so stay tuned for the results of these projections as well as optimized lineups going forward. The beauty of this is that it combines some basic math but still allows us to make some subjective and gut-feeling tweaks and changes to get under the hard salary cap.
A second lineup that can be achieved by taking advantage of the relatively low salaries at the tight end position can be achieved by placing another tight end at Flex, which allows more money to be spent at the other positions. Be careful, however, as the boom-and-bust nature of tight ends makes this strategy slightly more risky:
For full rankings by position check the following links:
Additionally, the scoring in DraftKings is fairly standard as well. The only things that might differ from your own league are 4 points per passing touchdown (my league scores them as 6) and there is 1 point-per-reception (DraftKing is full-PPR style, FanDuel does half-PPR).
Now, are we going to use this information to make an informed optimization model? In order to optimize a fantasy football lineup under these conditions we need a few pieces of information. We need the salaries of the players and the total cap we're working with. DraftKings gives us this right away. We also need rankings projected point values for each player so that we can min-max our team. This is where things get more complicated.
Any person can come up with their own personal rankings of fantasy football players on any given week, but it will be based entirely upon opinion. The rise of fantasy football in America has brought with it the rise of fantasy football "experts". People paid to totally immerse their professional lives in fantasy football and use that specific knowledge and insight to come up with weekly rankings for the rest of us. Matthew Berry is one of the more well known analysts working full time on fantasy football at ESPN. His celebrity-like status has even earned him cameos on shows like The League.
Anyway, how does this help us? No one person is every 100% correct, even if he or she is a certified "fantasy guru". Even the best of these experts are rarely right more than two-thirds of the time. This is where another site, FantasyPros, comes in to help us. While each individual expert may not be always right all the time, it is possible through aggregation to come up with a much more accurate set of rankings. One real world example of this predictive aggregation is found in Las Vegas. Currently the most accurate predictor of real-world sporting event outcomes is the collective odds in Vegas. When thousands of people place bets on who they think will win given the initial odds you end up with a very, very accurate predictor.
The idea of FantasyPros is similar. They take the personal rankings of over 70 fantasy football experts and essentially use a weighted average to aggregate them all. Experts who have traditionally been more accurate are weighted more heavily than those who are perpetually off bit a larger margin. The site also allows you to pick and chose which experts you want to display in their aggregation. For my purposes, I chose all experts that had updated their rankings within the past day (as injuries and other things move very fast in fantasy football, and outdated information can kill you).
So this is a great start. We have access to the consensus opinion of the aggregated community of fantasy football experts. However, an ordinal ranking of players doesn't actually help us as much as we might think. Sure we can use these rankings to see that Pierre Garcon is expected to score fewer points than Justin Blackmon, but by how many? If Garcon demands a substantially lower fantasy salary it might make sense to draft him even if his projected point total is lower.
Here's where I implemented my own modeling design (that may or may not work perfectly, we'll see going forward). What I did was divide all the players into their respective positional categories (QB, RB, WR, TE, FLEX, K, D/ST). For each category I took the average points per game from all of the players and ordered them smallest to largest. The largest average point total I "gave" to the highest ranking player for the week, the 2nd largest I applied to the 2nd ranked player, etc. Basically we had an ordering, but needed to come up with a projected point curve to attach to that ordering. The curve I ended up using was the average points per game of the top 25 players in their respective categories.
In the running back example above, Jamaal Charles and Matt Forte had the 1st and 5th highest average points per game at 25.8 and 20.1 respectively. Thus, the 1st ranked player in the consensus rankings would be projected at 25.8 (this happens to be Jamaal Charles) and the 5th ranked player (Reggie Bush) would projected to earn the 5th highest average of 20.1. This would go down, so the Xth ranked player would be given the Xth highest average point per game for his projection.
While this methodology isn't perfect, it's a fairly good way to apply projected point totals to the ordinal ranking that we get from FantasyPros. Additionally, while these average rankings will likely be much lower than the highest values achieved each year, explosive games and huge point totals are not something that you can plan on. The higher averages simply mean that, on average, we expect the 1st ranked running back to score about 25.8-20.1 = 5.7 points more than the 5th ranked running back at the end of the week.
What do the final running back projections look like? Well, the top 25 are all projected between 25.8 and 10.9 fantasy points.
No we have all the data and information we need to make informed optimization decisions. The first step to maximizing fantasy points under a salary cap constraint is to look at the cost of projected fantasy points in salary dollars. This is done by dividing the salary of each player by their projected points and gives us a Dollar/Point value. In this situation the lower the number the more optimal a player is. Additionally, we need to keep an eye on the total salary of our entire team, so we want to put a premium on players with low total salaries and low $\$$/Pt values. To do this we multiply the $\$$/Pt by their total salary. Players with low values of this $\$*\$$/Pt metric are those that represent the best value given their salary.
The table above shows the top 5 wide receiving options sorted by $/Pt. As you can see the salary values in DraftKings has not quite caught up to some of the hype and projected talent in sleeper picks like Keenan Allen. I expect this discrepancy to fix itself in the next week or so, but as you can see Keenan Allen is a must draft receiver in this format, especially with an extremely favorable match-up against Jacksonville this week. This was something I was interested in seeing during the drafting process: would low value sleeper picks from traditional fantasy football still maintain value in these weekly competitions? Absolutely. I have a feeling if we did this same process last week we would have seen Justin Blackmon topping the charts by a significant amount as well, as his salary has only recently caught up to his skill level and fantasy football potential. The result: snatch up San Diego's rookie receiver from Cal while he's still priced favorably, especially given how well Phillip Rivers is playing. And it's Jacksonville. Enough said.
Some studs like Dez will show up, but very careful as an $\$$8,800 salary is very hard to fit into a $\$$50,000 roster. You can see that while Dez has the highest point total with the second best $\$$/Pt value he doesn't look so hot when you consider his price tag as he has the highest value of $\$*\$$/Pt of any of the top 5 options.
The Optimization
Now that we have all our data and valuations made we can begin to make the optimized lineup. This is an iterative process, as I don't know any algorithms that can solve something this complicated in one step.
The first step is to select the top picks at each position based purely on $/Pt and see where we land. After this first run through we end up with the following lineup:
One surprise here but be the inclusion of Brandon Jacobs. However, with a price tag of only 3,900 he's the clear number one choice in value, especially considering the fact that every other RB in New York is currently either injured or terrible. However, with a price tag like that Jacobs is similar to Allen in that he's someone you can't quite pass up. Joseph Randle would be another under-valued option, but with a price tag of 4,800 he's almost 25% more expensive than Jacobs with very similar projections.
As you can see we're 2,400 over our 50,000 salary. The first step is to remove the player with the least value based on $\$*\$$/Pt and replace him with the next highest value player at the position. This results in replacing Dez Bryant (8,800) with Victor Cruz (7,100). However, at this point we're still 700 short. We could remove Jamaal Charles now, as he's the next player on the chopping block based on value, but replacing him would bring us far below the salary cap, which isn't necessarily what we want to do. Additionally, I have a lot of faith in Jamaal Charles going up against the struggling Texans this week, especially given the PPR aspect of our league as Charles is Alex Smiths favorite target in Kansas City.
At this point the final tweaks and optimizations are fairly subjective in nature. As much as I love Jordan Cameron (answer: A LOT) I personally think Brandon Weeden is an absolutely worthless shitter, so my first step was to replace Jordan Cameron with his next cheapest alternative, Jermichael Finely. Finley's stock has only been rising in Green Bay of late as the season-ending injury to Randall Cobb could actually result in Finley lining up out wide more often, letting him score like a wide-receiver. Couple this with the fact that the only healthy receiver in Green Bay, Jordy Nelson, will be shadowed by Cleveland's shut-down corner Joe Haden you've got yourself a perfect storm of opportunity and talent in Finely to come through with a big game.
At this point we're still a few dollars over our cap, so we need to make one more minor change. Rather than replacing Jamaal or Foles (who I think is currently under-projected by the consensus rankings), I want to make a small adjustment at Flex and replace Knowshon Moreno with Reggie Wayne. Moreno just came off the best few weeks of his career, and as such probably has a slightly inflated value. Additionally, many of these daily leagues have dozens of competitors. Putting a WR in your flex spot generally is viewed as a higher-risk higher-reward play. Considering the Colts are playing the Broncos and the atrocious state of the Denver secondary I feel like this could be a very, very keen move as Wayne should have a higher ceiling than Moreno. Also, this puts us just underneath the $50,000 salary cap and leaves us with a very nice lineup.
So there we have it, our very first DraftKings lineup for Week 7. I'll continue to update the model and projections each week, so stay tuned for the results of these projections as well as optimized lineups going forward. The beauty of this is that it combines some basic math but still allows us to make some subjective and gut-feeling tweaks and changes to get under the hard salary cap.
A second lineup that can be achieved by taking advantage of the relatively low salaries at the tight end position can be achieved by placing another tight end at Flex, which allows more money to be spent at the other positions. Be careful, however, as the boom-and-bust nature of tight ends makes this strategy slightly more risky:
For full rankings by position check the following links:
Fantasy Football is Here!
This year I finally made my first foray into the rabbit hole of fantasy football. Unfortunately, I'm not one to take competitive games lightly, especially when the competition has a statistical or game-theoretic slant like fantasy football.
I spent some time thinking about different math or modeling projects I could do for fantasy football, but the problem was that so much of those predictive modeling and projections only mattered during the initial draft (and subsequent waiver wire pickups and trades, but these are fairly infrequent). However, I was recently watching TV and noticed that there were approximately 18 commercials per night for various weekly fantasy football contest websites. These are sites like FanDuel and DraftKings where you are given a hard salary cap and access to every NFL player. Your goal is then to draft the best possible team for that one week under the constraints that the total salaries payed to your 9 starters must fall below the designated cap.
Perfect! This is exactly the kind of situation in which predictive modeling and mathematical optimization can be applied on a weekly basis, and this time we only have to worry about a single weeks worth of match-ups. Additionally, we have same-season games to base our models off. Nobody predicted Trent Richardson would be traded to the Colts on draft day, but now we can use all this information on a week by week basis.
So now I have finally defined my next project: come up with one (or a few) optimal lineups based on various rankings and projections for each week. My next post will provide an overview of the methodology of the optimization process, and then I'll hopefully be able to provide some not-terrible analysis and predictions!
Wednesday, March 20, 2013
Predictions!
This long overdue post may wind up on the longer side as there have been a lot of pretty important and interesting results that have come out of my model. Anyway, before talking about the results of my model, let's talk about picking your bracket in general, and some useful guidelines to consider when choosing picks for your office or friendly pool.
Does your pool provide bonus points for upset picks?
This is the first question you should ask yourself when picking your bracket. Many pools will add bonus points to correctly predicted "upset" picks as an added incentive to make what would otherwise be considered traditionally risky choices. For example, consider a pool that gives 1 bonus point for a correct upset pick in the first round regardless of the relative seeding of the teams; so a 9-seed beating an 8-seed is treated identically to a 15-seed beating a 2-seed. For second round upsets, 2 bonus points are awarded, etc.
In the first round this kind of incentive structure can add a lot of complications to what might otherwise be considered optimal picks, especially if we assume that correct first-round picks grant 1 point themselves. For the sake of example, let's suppose for a second that the win probabilities in Nate Silver's Blog are accurate, at least for the first round. If we take a look at the South Bracket we the 7-seed San Diego State has a 56.1% chance of beating 10-seed Oklahoma. Without the bonus points in place, the optimal choice when maximizing your expected points would be to always pick San Diego State, as you'd expect 1-point 56.1% of the time for a correct pick, and 0-points 43.9% of the time when Oklahoma is expected to win.
However, what happens to this example when we add the 1-point upset bonus for correctly guessing an Oklahoma victory? Well, when you look at the expected-payoffs for each of your two choices you can quickly see that the optimal strategy has changed: picking San Diego State will result in 1-point 56.1% of the time and 0-points 43.9% of the time, for an expected 0.561 points. Picking Oklahoma will give you 0-points 56.1% of the time when S.D. State wins, but will net you 2-points the 43.9% of games when Oklahoma ends up winning, thus giving you an expected 0.878 points! Thus, it becomes clear that certain upsets are worth picking purely from the perspective of maximizing your own points (there are also some game theory arguments to picking upsets that we'll discuss a little bit later). So, for the first-round what is the break-even point where you'll want to pick the upset over the favored team? Well, let's define $A$ as the probability that the higher seed wins, and $B=1-A$ as the probability that the lower-seeded team wins the upset. Assuming you get 2-points for the upset pick and 1-point for the non-upset pick, in the first round you'll want to pick the upset if $2*B>1*A$ or $2(1-A)>A$ which simplifies into $A<2/3$. Thus, if the probability of the higher-seeded team winning a first-round game is less than 66.7%, you'll want to pick the upset in a system like this.
At this point, if we look back at Nate Silvers predictions, we can see that Missouri, Oregon, St. Mary's, Cincinnati, Wichita St., Iowa St., Minnesota, Oklahoma, Bucknell, Davidson and Colorado all become optimal upset-picks for maximizing your expected points out of the first round, with Villanova being right on the fence.
Applying game theory to your bracket decisions
Up until this point we've been talking about optimal picks in the sense that they represent the picks that maximize your expected point total given the likelihood of various teams' performances. However, is this the best way to win your bracket? It's certainly the best way to maximize the point-total you'll receive in your pool, but is that really what you're after? No. You want to win your pool, and you want to find the strategy that maximizes the likelihood of that happening regardless of the point-total at the end of the day. After all, a win's a win, and close only counts in horse-grenades and sneakers, or something like that.
Anyway, what do I mean by all of this? Well, game theory tells us that your optimal strategy given a particular set of goals and circumstances will depend on the strategies of your fellow competitors. Thus, it depends whether the pool you are entering is populated by a bunch of risk-hungry Basketball fanatics who are convinced that X team is severely under- or over-rated, or are you playing with a more conservative group of coworkers or friends who might tend to make safer, higher-seeded picks on average.
Let's assume that you're playing in a pool where people will tend to make safer picks based on seed and expected-value-maximization, as this is generally the norm. In this scenario it is actually advantageous in certain situations to make picks that might be non-optimal in terms of expected value. If the expected value for Team A is 2.5 points, while the expected value for Team B is 2.3 points, it will most likely make sense to pick the lower expected value team if you believe most of your competitors will do the opposite. The reason is that you want to find places where you can create distance from your competition in terms of points. If you play it safe you'll likely end up near the top, but most likely not at the top. Picking teams that you feel others in your pool will choose against can substantially increase the likelihood of you winning the overall pool, especially if the expected payoff is relatively close between the two choices.
Alright, so now that we know how we're going to think about our picks let's take a look at what my model actually produced.
Results
So after all this work, what did the model have to say about the teams in this years tournament? Well, after running and testing extensively, the final iteration spat out a surprisingly accurate and interesting set of results:
When compared to the AP Rankings these results are fairly consistent, especially towards the top half of the list. However, there are a few notable differences: AP lists Florida as the 12-seed and Memphis as the 19-seed, who my model places in 3rd and 4th, respectively. As far as Florida is concerned, I'm relatively proud my model was able to place them so highly, as Nate Silver has calculated them as being the 3rd most likely to win the overall tournament, while Ken Pomeroy, a famous sports statistician (from whom I have taken all my underlying data), actually ranked Florida 1st among all Division-I teams in the country. Memphis on the other hand... we'll find out shortly how far-off I was there. At the very least, there's no denying they've had a great season as far as absolute results are concerned; they actually have the second-highest win-total of any team this season at 30, trailing only Gonzaga at 31.
Okay, that's great and all, but how the hell did we get these rankings?
As mentioned in previous posts, we used the Elo ranking system with a few key modifications. Let me go over those changes now.
To calculate the probability that a given team will win a match, use the Elo's provided in the above link in conjunction with the formula provided in my second blog post. Have fun!
Does your pool provide bonus points for upset picks?
This is the first question you should ask yourself when picking your bracket. Many pools will add bonus points to correctly predicted "upset" picks as an added incentive to make what would otherwise be considered traditionally risky choices. For example, consider a pool that gives 1 bonus point for a correct upset pick in the first round regardless of the relative seeding of the teams; so a 9-seed beating an 8-seed is treated identically to a 15-seed beating a 2-seed. For second round upsets, 2 bonus points are awarded, etc.
In the first round this kind of incentive structure can add a lot of complications to what might otherwise be considered optimal picks, especially if we assume that correct first-round picks grant 1 point themselves. For the sake of example, let's suppose for a second that the win probabilities in Nate Silver's Blog are accurate, at least for the first round. If we take a look at the South Bracket we the 7-seed San Diego State has a 56.1% chance of beating 10-seed Oklahoma. Without the bonus points in place, the optimal choice when maximizing your expected points would be to always pick San Diego State, as you'd expect 1-point 56.1% of the time for a correct pick, and 0-points 43.9% of the time when Oklahoma is expected to win.
However, what happens to this example when we add the 1-point upset bonus for correctly guessing an Oklahoma victory? Well, when you look at the expected-payoffs for each of your two choices you can quickly see that the optimal strategy has changed: picking San Diego State will result in 1-point 56.1% of the time and 0-points 43.9% of the time, for an expected 0.561 points. Picking Oklahoma will give you 0-points 56.1% of the time when S.D. State wins, but will net you 2-points the 43.9% of games when Oklahoma ends up winning, thus giving you an expected 0.878 points! Thus, it becomes clear that certain upsets are worth picking purely from the perspective of maximizing your own points (there are also some game theory arguments to picking upsets that we'll discuss a little bit later). So, for the first-round what is the break-even point where you'll want to pick the upset over the favored team? Well, let's define $A$ as the probability that the higher seed wins, and $B=1-A$ as the probability that the lower-seeded team wins the upset. Assuming you get 2-points for the upset pick and 1-point for the non-upset pick, in the first round you'll want to pick the upset if $2*B>1*A$ or $2(1-A)>A$ which simplifies into $A<2/3$. Thus, if the probability of the higher-seeded team winning a first-round game is less than 66.7%, you'll want to pick the upset in a system like this.
At this point, if we look back at Nate Silvers predictions, we can see that Missouri, Oregon, St. Mary's, Cincinnati, Wichita St., Iowa St., Minnesota, Oklahoma, Bucknell, Davidson and Colorado all become optimal upset-picks for maximizing your expected points out of the first round, with Villanova being right on the fence.
Applying game theory to your bracket decisions
Up until this point we've been talking about optimal picks in the sense that they represent the picks that maximize your expected point total given the likelihood of various teams' performances. However, is this the best way to win your bracket? It's certainly the best way to maximize the point-total you'll receive in your pool, but is that really what you're after? No. You want to win your pool, and you want to find the strategy that maximizes the likelihood of that happening regardless of the point-total at the end of the day. After all, a win's a win, and close only counts in horse-grenades and sneakers, or something like that.
Anyway, what do I mean by all of this? Well, game theory tells us that your optimal strategy given a particular set of goals and circumstances will depend on the strategies of your fellow competitors. Thus, it depends whether the pool you are entering is populated by a bunch of risk-hungry Basketball fanatics who are convinced that X team is severely under- or over-rated, or are you playing with a more conservative group of coworkers or friends who might tend to make safer, higher-seeded picks on average.
Let's assume that you're playing in a pool where people will tend to make safer picks based on seed and expected-value-maximization, as this is generally the norm. In this scenario it is actually advantageous in certain situations to make picks that might be non-optimal in terms of expected value. If the expected value for Team A is 2.5 points, while the expected value for Team B is 2.3 points, it will most likely make sense to pick the lower expected value team if you believe most of your competitors will do the opposite. The reason is that you want to find places where you can create distance from your competition in terms of points. If you play it safe you'll likely end up near the top, but most likely not at the top. Picking teams that you feel others in your pool will choose against can substantially increase the likelihood of you winning the overall pool, especially if the expected payoff is relatively close between the two choices.
Alright, so now that we know how we're going to think about our picks let's take a look at what my model actually produced.
Results
So after all this work, what did the model have to say about the teams in this years tournament? Well, after running and testing extensively, the final iteration spat out a surprisingly accurate and interesting set of results:
When compared to the AP Rankings these results are fairly consistent, especially towards the top half of the list. However, there are a few notable differences: AP lists Florida as the 12-seed and Memphis as the 19-seed, who my model places in 3rd and 4th, respectively. As far as Florida is concerned, I'm relatively proud my model was able to place them so highly, as Nate Silver has calculated them as being the 3rd most likely to win the overall tournament, while Ken Pomeroy, a famous sports statistician (from whom I have taken all my underlying data), actually ranked Florida 1st among all Division-I teams in the country. Memphis on the other hand... we'll find out shortly how far-off I was there. At the very least, there's no denying they've had a great season as far as absolute results are concerned; they actually have the second-highest win-total of any team this season at 30, trailing only Gonzaga at 31.
Okay, that's great and all, but how the hell did we get these rankings?
As mentioned in previous posts, we used the Elo ranking system with a few key modifications. Let me go over those changes now.
- As the Elo system was initially designed for Chess, home-court advantage is not something that comes up very often. Thus, when calculating a team's probability of winning a game, the home team's chances are increased accordingly. As it turns out, in NCAA Division-I basketball, the home team wins an astonishing 60% of the time. I wasn't expecting a number quite this large, but never-the-less incorporated this fact into the model.
- Margin of victory now plays a very important factor in determining a team's Elo gains. While in absolute terms a win is a win, especially in a single-elimination tournament, losing a game by a single point is certainly much less damning than getting blown-out by 25. To take this into account, I calculated the average margin of victory across all games over the past 12-years, which came to 12.92-points. Winning by double this margin of victory resulted in an Elo gain twice as large as would otherwise be expected. Losing by only 3-points would result in an Elo loss of 3/12.92, or 23% of what would otherwise be expected. This change alone shot Florida from 28th in my rankings to 3rd.
- As there are too few games in a season to accurately predict a teams Elo, or skill level, I simply doubled the results of each season, running through all the games start-to-finish twice.
- As not all players or coaches will remain on a team year-to-year I partially reset each team's Elo at the end of a season. As you may recall, the "neutral" Elo in our model is 1200. To do this partial reset, I moved each teams Elo 1/3rd of the way back to 1200. Thus, a 1500 Elo team would be reset to $(2*1500+1200)/3=1400$ for the beginning of the proceeding season. While this is a relatively arbitrary split, it takes into account that most but not all of a team's skill is retained year-to-year.
Alright, with all that said, I'll let you get back to making last-second changes to your bracket. For me, I'll probably go with the final-four as suspected by my model: Louisville, Florida, Gonzaga and Indiana. However, do not take this as any indication that I have any faith in my model: I am mostly interested in seeing how it performs. Plus, my only unwaivering rule is that Xavier and Gonzaga must always win their first round games. Seeing as Xavier isn't even in the tournament this year, it's only natural that I put all my eggs in the 'Zags basket.
Subscribe to:
Posts (Atom)