Zoltar 2021 NFL Football Predictions – Preparing Schedule Data

Zoltar is my NFL football prediction computer program. It uses a deep neural network and a form of reinforcement learning. I’ve been running Zoltar for several years and always enjoy the challenge — success or failure is unambiguous.

It’s not enough to merely predict which team will win. A prediction system must predict which team will win and by how many points so a hypothetical wager can be placed.

Las Vegas maintains a point spread, which is best explained by example. Suppose Rams are playing the Bears and the Vegas point spread is that the Rams will win by 5.0 points. This would normally be expressed as “Rams -5.0 Bears” — the favored team has a negative point value.



I currently implement Zoltar using the C# language. The three key data files are 1.) schedule data, 2.) Las Vegas point spread data, 3.) results data.


If you place a wager on the Rams, you win your wager only if the Rams win by more than 5 points. You lose if the Rams win but by fewer than 5 points (i.e., 4 points or less) or if the Bears win by any score or if the game is a tie. If you place wager on the Bears, you win your wager if the Bears win by any score, or if the game is a tie, or if the Rams win but by fewer than 5 points. You lose your wager only if the Rams win by more than 5 points.

In all cases in the Rams-favored-by-5 example, if the Rams win by exactly 5 points, all wagers are a push and money is returned. Because this is a real nuisance, in many cases the Vegas point spread is something like “Rams -5.5 Bears” (the Rams are favored by 5.5 points). This prevents a push on the game because no team can win by x.5 points.

I started preparing Zoltar for the 2021 season, which starts on Thursday, September 9, by setting up the schedule data. I got this information from the Web site at pro-football-reference.com. Dealing with machine learning data is always full of glitches. For example, schedules will surely change as games are postponed due to weather and other unforeseen circumstances. And the Washington Redskins team changed their name to the hideous “Washington Football Team” temporarily while they try to determine a better name. And there are tentatively two games which might be played in the UK, which means they’ll really be neutral site games which must be handled differently from regular games because the home field advantage is significant.

Anyway, I got Zoltar 2021 to compile and read in schedule data from a text file. Next, I’ll have to do some testing with dummy test game-results data.



Left: My system is named after the Zoltar fortune teller machine you can find in arcades. Center: A photo of the “sports book” at the MGM Grand hotel in Las Vegas — one of the world’s largest books. Right: An example of a sheet bettors can use to figure out what they want to bet on. The “PK” means “pick-em” which means neither team is favored. The M/L is the “money line” which is a different way to bet. If I had infinite time, I’d create a version of Zoltar that analyzes money line bets.

This entry was posted in Zoltar. Bookmark the permalink.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s