A few days ago I posted about the predictability of Ken O’Keefe’s play calling. Since then, I have further analyzed the play calling data from last year and was able to come up with a formula for predicting pass or run for any given play (well almost any play…fourth down is not yet supported). I’ve permanently attached KOK Bot, which takes the current game condition (down, yards to go, field side, yard line, score, and time left in the game) and predicts the play as a pass or a run, to the side bar. [UPDATE: KOK Bot is not longer in the side bar.  The application is on the bottom of this post.] Go ahead an input some game situations and see what KOK Bot has to say. I tried this retroactively with the Iowa State game last year and KOK Bot correctly guessed 65% of the plays. That is pretty good I think, but like I said in my previous post, 65% is not really that predictable. Anyway, I plan on taking on KOK Bot head to head for one of the games next year to see who can predict the real KOK’s play calling more accurately. I’ll be sure to post about it then. Additionally, I plan on updating the formula accordingly when I have more data as more games are played. At some point, I may also try to figure out fourth down situations to determine punt, field goal, or go for it.

If you are interested in the formula and math behind KOK Bot, keep reading. If not, just go ahead and try the KOK Bot.

I split up the formula into 4 parts: Yards to Go by Down, Field Position, Score Margin, and Time Left by Winning/Losing. For each part, I found the correlation between the situation and the percentage of times a pass play is called. For the ease the calculation, I assumed linear relationships for each part. (more yard to go -> more likely to pass; closer to end zone -> less likely to pass; winning by less/losing by more -> more likely to pass; and less time left when losing -> more likely to pass) So, for each situation, I found the “line of best fit” to calculate the chance of pass.
Example: for second down, the chance of passing = 0.0349*Yards to go + 0.497

Then, using the correlations, I weighted each part of the formula accordingly.
Yards to Go by Down = 50%
Field Position = 30%
Score Margin = 15%
Time Left by Winning/Losing = 5%

Lastly, I multiplied the chance of passing for each part by the weight and summed the results to get an overall percent change of passing. To determine if the play will be a pass or run I account for some randomness/unpredictability from KOK, so I have a randomly generated number between 0 and 1. If the number is less than the chance of passing, then KOK Bot says Pass, otherwise it says Run. If you want to see the whole calculation you can view the source of this page and read through the JavaScript.


Down: Yards to Go:
Field Side: Yard Line:
Quarter: Time Left:
Iowa's Score: Opponent's Score: