My 2016 NCAA Bracket

In my previous post, I introduced the quantitative rating system I’m using this year as a guide for filling out my bracket. I didn’t go strictly by the book – I went with the lower rated team on a small number of occasions. I did this mostly because the system’s picks were too boring (not enough upsets). Without further ado…


My first discretionary call was taking Yale over Baylor. I couldn’t NOT pick a 12-5 upset, and according to my system, this is the most probable one.

I then took Cincinnati over Oregon in the second round, even though Oregon is rated higher. It seems like this year has the potential to be really bloody, and I doubt all the 1 seeds will make it through to the next weekend. I have Oregon as the lowest rated 1 seed (by a fair margin), so I knocked those ducks out.

I also felt a need to have at least one low rated seed (10+) in the sweet 16 (I expect there will be more than 1, possibly several). Gonzaga looked like the most probable team to pull this off.

Also, though the ratings on my previous post show Kansas as the #1 team, I reran the algorithm after eliminating the Michigan St games that Denzel Valentine missed due to injury, and that change put the Spartans on top. Was I cheating to get the team I wanted to pick as the champs into the #1 slot in my system? Yeah, sure, maybe. But Valentine is arguably the best player in the nation, and missing him obviously hurt their rating.

One final note before I display the game-by-game win probabilities throughout the tournament (adhering to my system’s calls): I did another trial with my algorithm where I replaced the margin-of-victory game probability extrapolation with one that ignores the score. I noticed a couple of teams rated much higher in those results, and I think they could be dangerous – St. Joe’s and Seton Hall.

Below, you can see the game-by-game probabilities by round given by my system:

First Round

Kansas 93.21% Austin Peay 6.79%
Connecticut 56.33% Colorado 43.67%
Maryland 65.78% San Diego St 34.22%
California 63.98% Hawaii 36.02%
Arizona 53.62% Wichita St 46.38%
Miami FL 80.45% Buffalo 19.55%
Iowa 67.52% Temple 32.48%
Villanova 87.00% UNC Asheville 13.00%
Oregon 92.62% Holy Cross 7.38%
Cincinnati 54.43% St Joseph’s PA 45.57%
Baylor 63.76% Yale 36.24%
Duke 74.28% UNC Wilmington 25.72%
Texas 68.31% Northern Iowa 31.69%
Texas A&M 80.12% WI Green Bay 19.88%
VA Commonwealth 57.44% Oregon St 42.56%
Oklahoma 81.15% CS Bakersfield 18.85%
North Carolina 91.22% FL Gulf Coast 8.78%
USC 57.14% Providence 42.86%
Indiana 76.02% Chattanooga 23.98%
Kentucky 75.99% Stony Brook 24.01%
Notre Dame 53.04% Michigan 46.96%
West Virginia 74.10% SF Austin 25.90%
Pittsburgh 54.58% Wisconsin 45.42%
Xavier 81.93% Weber St 18.07%
Virginia 91.86% Hampton 8.14%
Butler 54.25% Texas Tech 45.75%
Purdue 73.95% Ark Little Rock 26.05%
Iowa St 74.52% Iona 25.48%
Gonzaga 51.98% Seton Hall 48.02%
Utah 76.29% Fresno St 23.71%
Syracuse 53.28% Dayton 46.72%
Michigan St 88.23% MTSU 11.77%

Second Round

Kansas 69.73% Connecticut 30.27%
Maryland 51.87% California 48.13%
Arizona 50.69% Miami FL 49.31%
Villanova 66.34% Iowa 33.66%
Oregon 59.89% Cincinnati 40.11%
Duke 53.83% Baylor 46.17%
Texas A&M 57.86% Texas 42.14%
Oklahoma 65.14% VA Commonwealth 34.86%
North Carolina 70.49% USC 29.51%
Kentucky 52.76% Indiana 47.24%
West Virginia 68.30% Notre Dame 31.70%
Xavier 59.40% Pittsburgh 40.60%
Virginia 66.83% Butler 33.17%
Purdue 55.01% Iowa St 44.99%
Utah 53.54% Gonzaga 46.46%
Michigan St 75.56% Syracuse 24.44%

Sweet Sixteen

Kansas 65.72% Maryland 34.28%
Villanova 59.12% Arizona 40.88%
Duke 51.58% Oregon 48.42%
Oklahoma 57.97% Texas A&M 42.03%
North Carolina 58.84% Kentucky 41.16%
West Virginia 59.09% Xavier 40.91%
Virginia 54.40% Purdue 45.60%
Michigan St 68.07% Utah 31.93%

Elite Eight

Kansas 53.32% Villanova 46.68%
Oklahoma 54.64% Duke 45.36%
North Carolina 52.13% West Virginia 47.87%
Michigan St 56.94% Virginia 43.06%

Final Four

Kansas 57.20% Oklahoma 42.80%
Michigan St 53.62% North Carolina 46.38%


Michigan St 51.71% Kansas 48.29%


Yet Another CBB Rating System

It’s here! March Madness, that time of year where we all try to predict how a bunch of 20-year-olds playing a game filled with randomness will perform. It’s fun! But we sure don’t bet real money on it, cause that would be illegal!

Actually guys, it’s not as much fun for me again this year, because, for the 3rd consecutive season, my team was not invited to keep playing. Someone please fix this. Sigh…

Anyway, this year I decided to build my own quantitative rating and prediction system to help me fill out my bracket. Here’s how my system works:

I define a numeric rating, R(i), for each team i. I also define the probability of team i defeating team j on a neutral court as

P(i->j) = R(i) / (R(i) + R(j)).

I then create a cost function, defined over all games played during the season, which is the sum over

[P(i->j) – GP(i->j)]^2,

where GP(i->j) is an estimated game probability that depends only on the result of each individual game. The GP probability value for each game must be provided as an input to the algorithm.

Of course, coming up with a good value for GP(i->j) is tricky, since we only have one occurrence (one result) for each game. The simplest method for determining GP(i->j) is to assign 100% probability if team i defeated team j, and 0% otherwise. But this ignores home/away, so it’s not ideal.

For my system, I decided to build a model based on the home/away adjusted margin of victory for the game. If team i wins by a large margin, P(i->j) will be close to 100%, but if it’s a close game, the value will be closer to 50%. (The home/away factor adjusts the margin in favor of the road team by 3.5 points)

To compute the final ratings for all teams, I initialize all teams with an equal rating (1.0) and perform an iterative optimization that minimizes the overall cost function with respect to the ratings. I use gradient descent as the optimization procedure.

Below, I list my ratings for the top 100 teams in division 1. (My Marquette Golden Eagles just managed to sneak in at #99, woo!). Note that the value of a team’s rating carries no particular meaning by itself – it’s only useful when compared to the other team ratings.

Rank Team Rating
1 Kansas 8.779
2 Michigan St 8.317
3 North Carolina 8.174
4 Villanova 7.717
5 West Virginia 7.504
6 Virginia 7.149
7 Louisville 6.637
8 Oklahoma 6.602
9 Purdue 6.035
10 Kentucky 5.737
11 Duke 5.483
12 Arizona 5.342
13 Xavier 5.200
14 Miami FL 5.199
15 Oregon 5.151
16 Indiana 5.136
17 Iowa St 4.919
18 Texas A&M 4.802
19 Baylor 4.700
20 Maryland 4.601
21 SMU 4.514
22 Utah 4.400
23 Iowa 4.390
24 California 4.266
25 Vanderbilt 4.246
26 Wichita St 3.983
27 Gonzaga 3.842
28 Connecticut 3.827
29 Pittsburgh 3.552
30 Butler 3.543
31 Seton Hall 3.538
32 VA Commonwealth 3.531
33 Notre Dame 3.496
34 Texas 3.487
35 USC 3.465
36 Cincinnati 3.444
37 Florida 3.443
38 St Mary’s CA 3.221
39 Creighton 3.182
40 South Carolina 3.154
41 Kansas St 3.117
42 Michigan 3.107
43 Syracuse 3.057
44 Texas Tech 2.990
45 Colorado 2.969
46 Wisconsin 2.953
47 St Joseph’s PA 2.882
48 Washington 2.825
49 Florida St 2.791
50 Valparaiso 2.700
51 Dayton 2.682
52 Yale 2.671
53 SF Austin 2.620
54 Oregon St 2.617
55 Georgia Tech 2.589
56 Clemson 2.589
57 Providence 2.559
58 Northwestern 2.529
59 Ohio St 2.515
60 Georgia 2.467
61 Hawaii 2.400
62 San Diego St 2.388
63 BYU 2.353
64 Arkansas 2.330
65 UCLA 2.309
66 Tulsa 2.297
67 G Washington 2.284
68 Virginia Tech 2.209
69 Arizona St 2.182
70 Georgetown 2.167
71 Houston 2.114
72 Ark Little Rock 2.110
73 Rhode Island 2.089
74 Nebraska 2.072
75 UC Irvine 2.046
76 Mississippi 2.045
77 Stanford 2.029
78 LSU 2.023
79 Princeton 2.012
80 NC State 2.006
81 Memphis 2.003
82 Monmouth NJ 1.994
83 Evansville 1.949
84 Alabama 1.925
85 St Bonaventure 1.921
86 UNC Wilmington 1.896
87 Richmond 1.896
88 S Dakota St 1.887
89 Temple 1.884
90 Mississippi St 1.881
91 Stony Brook 1.806
92 Oklahoma St 1.794
93 Akron 1.787
94 Tennessee 1.764
95 Davidson 1.751
96 William & Mary 1.749
97 Santa Barbara 1.732
98 James Madison 1.731
99 Marquette 1.727
100 Iona 1.674

Just the Beginning

After just over 5 months and about 115,000 words, the first draft of Daughters of Darkness is complete!

I found the experience of writing this draft different from my previous manuscripts. Most of the time, I’ll struggle to keep a good pace going early on, but as I near the end, I’ll finish strong, usually averaging a lot more words per day over the last 10-20% of the book than the first 80-90%. In this case, though, I pushed forward faster than normal through the first 70% of the book, but slowed down quite a bit after that.

The main reason is that as I neared the end of Act II, I got a bad feeling about a couple of the plot threads, and I stressed out for awhile, unsure what to do about it. As I talked about in an earlier post, I did far more outlining in this project than I’ve ever done before, and I thought I had all the subplots mapped out nicely. But when I got to a particular part in the story, I started to think what I had planned was going to come off as contrived, messy, and wrong for the characters.

In the end, I decided to cut out a pair of subplots. Or maybe I should say I cut them short. Because of this, the draft ended up shorter than I expected – I had a target of 125,000 words, and I usually overshoot. At the time, I was worried about the decision I was making, and I think that slowed down my progress going forward. As I look back on it now, though, I’m pretty sure I did the right thing.

But now the real work begins.

I’ve always enjoyed writing more than revising. For me, writing is something like 75% play and 25% work, whereas revising is more like the reverse, 25/75. Still, I figure I’ll (mostly) enjoy working to make this MS super awesome.

I thoroughly enjoyed writing this book, though somewhat less after I reached that sticking point. Not every character came out as I expected, but I think some of them ended up better than I’d originally hoped. I don’t know what will come of this project (statistically speaking, almost certainly nothing), but it’s still been a cool experience.

Tweet-cap of DoD So Far

Last night I finished chapter 24 of my current manuscript, Daughters of Darkness (working title). I’m about 84k words in, and I’m targeting 120k-125k as the length of the first draft.

After a writing session, I frequently tweet about what I just wrote, making silly little comments on the subject of the scene. I thought it might be fun to go back and recap those tweets here in one post. I’m not putting all of them in here – just selected tweets – but I think this is more than half.

Here they are:

Writing Soundtracks

I’m a little over halfway through writing the first draft of my current MS, tentatively titled Daughters of Darkness. And if there’s one thing I’ve learned since I started it, it’s that I like Halestorm.

I follow a lot of writers on twitter, and it appears that many, like me, listen to music while writing. I occasionally see writers tweeting what bands/songs they’re listening to while writing.

I’m not sure how other writers set up music to listen to, but I personally like to create a soundtrack before I write a book. Typically, I pick one band – or sometimes one album – to use as the core for that novel. I’ll put in other songs that I want to listen to while I write, but I tend to associate one band with one of my books. I started this with my third book, and I’ve done it since.

The Book of Terrors = Breaking Benjamin

Wizards’ Curse = A7X – Hail to the King

Blood Price = Linkin – Park The Hunting Party

Daughters of Darkness = Halestorm

I find this useful to me, because whenever I need to get in the writing mode, I’ll play the soundtrack, and I instantly feel like I should be writing. It also creates an emotional connection for me, linking the songs with the associated characters. That can be good and bad, though, as I can’t listen to the other soundtracks while I’m writing a book. I feel like I’m cheating on my other characters somehow – and yes, this definitely means I’m a fucking weirdo. Blah.

Anyway, I recommend listening to Halestorm if you like rock music. They have a nice range, and the songs carry a lot of emotion behind them. And also Lzzy is pretty hot.

Brief Star Wars Review – No Spoilers

So I saw Star Wars: The Force Awakens last night. It was fun fun. I figured I would post my initial thoughts, leaving out any spoilers.

Overall, I thought it was an excellent addition to the Star Wars library. It was far more in line with the original movies than the prequels, which, of course, everyone appreciates. I do have a couple criticisms about the writing, but since those are spoilery, or at least spoiler-adjacent, I will have to save them for now. (I may do another post in a week or two with more details)

First, I’ll say that unlike the prequels, the acting was superb all around. The new stars in particular, John Boyega and Daisy Ridley, did a great job. I was a little surprised about the tone of the film – it was a little darker than I was expecting – but there were plenty of comedic moments, and the cast, especially Boyega and Harrison Ford, were great with their timing and delivery here.

The visuals were also great. Here again, much more like the originals than the prequels. While the creators used CGI throughout, I didn’t find much of it annoying, distracting, or unrealistic. And they did make fairly extensive use of puppets, giving the movie the same kind of gritty, realistic feel of the originals. I found the battle scenes to be pretty stunning, and the landscapes visually pleasing.

One of the most important aspects of this installation was the return to focus on the main characters as the drivers of the story, rather than politics and trade regulations and that sort of shit that ruined the prequels, especially episode I. Okay sure, the bad acting, shitty writing, annoying characters and visual effects contributed too. But still.

So, a fun, compelling movie, done well (with some flaws I may talk about in the future). But it’s hard to say that this was a life-changing movie. Hoping to recapture the magic of the originals that we all saw as kids is a bit of a tough task. Much of that is probably nostalgia, anyway. But I’m glad this happened, and I look forward to more.

Rising Tension

As we near the end of 2015, and I reflect back, one of the things that stands out in my mind about the year is that I was pretty disappointed in many of the books I read. Not everything I read this year was published in the last twelve months, but I’d say that over half of my selections came out in the last three years. I’m not sure if my standards are getting higher as I study writing more, or if the industry is getting weaker in general, or if I just picked the wrong books through bad luck.

I did find a few books that I liked. I always enjoy Brandon Sanderson, and Firefight was one of my favorite reads this year. Mark Lawrence is another one of my top authors, and Liar’s Key was a solid installment, though the books from the Red Queen trilogy aren’t as good as those in the Broken Empire. I found Brian Staveley’s The Emperor’s Blades (2014) and Naomi Novik’s Uprooted to be quality reads as well.

But I tried quite a few others that I didn’t like, some of which I found so weak I didn’t even bother finishing them. While they all had their own flaws, I think the biggest commonality among those stinkers was a failure to elevate tension throughout.

Because I’m a fledgling writer, I feel obliged to use a silly metaphor here. I like to think of creating, maintaining, and elevating tension in a (long-form) story as the act of blowing up a balloon. Take a deep breath right before you start, push it all into the balloon, and repeat. There will be short breaks for you (and the reader) to catch a breath, but make sure you never let any air leak out during the process. From start to finish, the balloon should only grow in size, until it pops at the end.

Some of the weakest books I’ve read recently either failed to work at building tension early in the story, or even worse, blew the balloon up part of the way and then let a bunch of air leak out halfway (or 1/4 of the way) into the book. I really think this kills the story.

Yeah, I’m sure some people don’t mind reading stories that meander around and eventually sorta just wander into the point. But I (usually) don’t, and I think most readers of genre fiction feel the same way. And I’m still surprised when I find traditionally published (meaning Big 5) genre novels that fail at this. Yet I still see it a lot, even among books that are nominated for awards.

I Lost at NaNoWriMo…Again

And you know what? I don’t mind a bit.

Just before November, I posted my thoughts on NaNoWriMo. I participated in the event once again this year, as I have the last few years. But I never seriously expected to reach 50,000 words, nor did I really try to do so. I prefer to write at my own pace, and that pace doesn’t lead to writing 50k words in a single month.

But that’s okay. I’m confident I’ll finish my current project, which sports the working title Daughters of Darkness. I wrote 22,572 words in the month of November, and up to this point, the work totals about 43,300 words. I’m expecting the first draft to come in around 125,000 words when it’s done. That’s long for a (potential) debut novel in general, but I write epic fantasy, which has a different standard for length compared to other genres.

Here’s the chart of my progress from the NaNoWriMo website:


You can see I hit a little snag as we got to Thanksgiving. Excessive quantities of wine and turkey are not conducive to writing a lot of words, let me tell you.

Anyway, I’m still hoping to finish the first draft in March, with the goal of querying agents on the book in early Summer.


Ranting on the RPI

College basketball starts this week! It seems like it’s been a longer offseason than normal to me. I thought it would never get here…

I guess that’s just how it works when your team finishes (tied for) last in conference one year, but you expect big things from the upcoming season. MU has a top 10 ranked recruiting class, including the phenom Henry Ellenson, who many think will be a top 10 pick in this year’s NBA draft. So I’m super excited, but…

I’m a little concerned that we may have screwed ourselves when it comes to selection/seeding for the NCAA tournament. Our non-conference schedule is set up in such a way that we play a handful of games against quality opponents (Belmont, Iowa, LSU, NC State/ASU, Wisconsin), but then face a slew of total crap. I mean the real bottom feeders in division I. In December/January, we play 7 games against teams not expected to finish within the top 300. Barring some type of unpredictable catastrophe, we will win all those games. Easily.

But here’s the problem. The NCAA selection committee uses the RPI as a ranking tool to guide them when selecting/seeding the tourney. It’s a simple (really, simplistic) formula for rating teams, based on win percentage (25%), opponent’s win percentage (50%), and opponent’s-opponent’s win percentage (25%). And this rating system is flawed. The MU non-conference SOS (strength of schedule) will look terrible, and if you only look at the rating itself, it will look like MU didn’t play a single decent team.

I’m far from the first person to complain about the RPI and using it for selection/seeding. But I think it’s likely to anger me even more than usual this year due to my team’s schedule. And I want to add my own view, which I think differs somewhat from the most common sentiments.

The biggest criticism I’ve heard about the RPI is that it rewards achievement rather than performance – meaning a win is a win no matter how the 2 teams performed during the game. And it turns out that performance is a much better predictor than end result. The KenPom ratings are probably the most well-known system that rates teams based on performance. Another common criticism is that it weights SOS (75%) too much in the formula.

But there’s another flaw with the RPI that I believe is even worse. Because the rating for a team is an aggregation of win/loss percentage over all games, the actual results of individual games don’t even matter. And every single game is given equal weight, no matter how uninteresting the result. So, imagine a scenario where a bubble team, with a current RPI of 50, plays a bottomfeeder, with an RPI of 325. Let’s say the bubble team wins by 35 points. Expected result, right? This result wouldn’t change any sane person’s opinion of the bubble team. But what happens? The bubble team’s RPI is almost guaranteed to drop by a significant amount. That makes no logical sense. I refuse to believe in the validity of a system that punishes teams for winning games they are expected to win.

Another consequence of this is that tournament teams are rewarded for scheduling a slew of mediocre competition, while punished for playing some really good teams and a few really bad teams. The really bad opponents will kill your SOS, enough that playing those really good teams won’t be enough to balance it out. And if you schedule a bunch of games against good teams, you’ll probably lose some. Much safer, much better, to avoid playing teams that might beat you, as long as you also avoid the really terrible teams with atrocious records. No one can tell me this system is good for the game.

So what could we do to fix this problem? KenPom (and others) use performance, which includes margin of victory. But another way to deal with this issue, even without using scoring margins, is to weight games based on information.

When you weight games based on information, you’ll ignore results that tell you nothing you didn’t already know. Example: if UNC is currently ranked 5th, and they beat the 250th team, that result tells you nothing. So it should have no impact on the ratings. If, however, UNC loses to the 250th team, that tells you a lot, since it’s a big surprise, and should have a major impact. If UNC beats the 25th best team, that does tell you something, as #25 will sometimes beat #5, so that game should be given a moderate weight. But #25 beating #5 would be given an even higher weight, since it’s a more surprising result.

My View on NaNoWriMo

NaNoWriMo starts on Sunday. If you aren’t familiar with it, NaNoWriMo – which stands for National Novel Writing Month – is a writing community event in which participants attempt to write a 50,000 word novel during November.

This will be the fourth year I’ve participated in the event, although I use the word participate loosely. What I do is enter my information and update my word count by day for the book I’m already writing anyway. I’ve never reached the 50,000 word goal, and except for one year, I’ve always started prior to November 1 – I guess that’s cheating? Also, I think that some people go to meet ups to write, something I’m not really interested in.

I’m not really sold on the value of NaNoWriMo to me personally, though I imagine there are plenty of people who want to write but have issues committing to actually doing it. For these writers, the event makes sense, as its designed to break down the mental barriers keeping writers from completing a book.

I’m not a binge writer – I can’t sit down for several hours and write the whole time. I prefer to work for an hour or two every day, typically six days a week – Sundays are for football – and build the story in a steady manner over a few months. This is partly because I get tired after an hour or two, and have a hard time continuing to write. But it’s also because I feel the need to work ideas out in my head in between sessions.

Given my style of writing, 50,000 words is difficult to churn out in one month (even though its too short to be an adult novel). Actually, it’s a lot of words to write in a month regardless of the style of writing. And I doubt that I’m the only writer who can’t write that fast without the product suffering. Some people feel the quality of the 1st draft doesn’t matter, that you should write shitty-as-you-please and just revise everything afterward. But I really aim to make my first drafts good, then revise to make them great (not that they always/ever get there). So while I keep track of my word count on the NaNoWriMo website during the month, I always expect to “lose” the challenge each year, and honestly, I think that’s better for my writing than reaching the word count goal.

Still, I think that it’s sort of a cool, fun event, and one that’s probably useful for a number of other writers. It’s just not one that I take too seriously. I plan to keep on writing after November’s over – at a pace that’s right for me – for as long as it takes me to finish the book.