Donald Trump was counting on the big cities to rally around him, but they rallied around Marco Rubio instead. Of the four largest cities in Iowa, Rubio took first in Des Moines (Polk County), second in Cedar Rapids (Linn County), and first in Davenport (Scott County). Trump won Sioux City, the smallest of those.
Ted Cruz won by following his long-time strategy, taking most of the smaller, more evangelical areas, and finishing ahead of Trump in most of the major cities.
The undecideds seemed to have shown up and voted for Rubio. At this point, it looks like the turnout is going to be well in excess of 170 thousand, probably in the vicinity of 180 thousand. By the polls and the models, Trump should have won.
Those voters who showed up at the caucuses broke for Rubio, not Trump. This is really important going into New Hampshire, where momentum is so important for second place.
And kudos to the first to call Iowa for Cruz. Decision Desk ruled the night, calling the race at 9:41 p.m. I told you they would outperform the AP. It will be even better in New Hampshire.