SnoopData

Welcome to The Optimizer for Pro Football

Discover Winning Patterns

The Optimizer for Pro Football finds significant patterns in historical pro football data in an attempt to discover situations with high predictive power. The software combines historical searches, automated pattern discovery, and weekly prediction tools into a single research environment.

The Optimizer is designed around a simple idea: use historical data to find interesting situations, save the strongest discoveries, and determine whether those situations apply to upcoming games.

Product Page

Query Situations

Explore the historical database yourself. Select conditions such as team, opponent, point spread, previous game result, rest, day of week, and other factors. The Optimizer finds the historical games satisfying those conditions.

Night Shift

Let The Optimizer do the searching for you. Select a Research Focus and Night Shift automatically searches the historical database for interesting situations and saves qualifying discoveries in your current archive.

Archives

Your archive is your collection of Night Shift discoveries. The Optimizer also includes the read-only SnoopData Starter Archive so a new user has historical situations to explore immediately and can save an editable copy as My Starter Archive.

This Week's Predictions

Compare upcoming games with the situations in your currently loaded archive. Matching situations can be loaded into Query Situations so you can examine the historical evidence behind them.

How The Optimizer Works

↓
↓
↓
↓
↓

Verify Before You Decide

When The Optimizer identifies a situation that applies to an upcoming game, load that situation into Query Situations and examine the historical games behind it.

This lets you see what produced the result rather than simply accepting a prediction because the computer generated it.

The Optimizer finds the patterns. You evaluate the evidence.

See The Optimizer in Action

★★★ O/U: Under

O17-U43-P2 · Z = -3.36 · 62 games

Home Team, Monday, Home, previous Loss, previous site Road, seasons 2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017, 2016

A Night Shift discovery from the SnoopData Starter Archive. Examine the historical games behind a situation in Query before deciding what it means.

Query Engine

Query Situations

Ready.

Seasons

Current Situation

Home Team.

Run a query, choose ATS or O/U, then add this query situation to the current archive.

Games0
ATS—
ATS Win %—
Straight-Up—
ATS Z—
Over—
Under—
O/U Push—
Over %—
O/U Z—

Matching Games

0 rows
DateDayTypeSeasonWeekTeamOppSiteSpreadTotalActualO/UScoreATSSUPrevOpp PrevDaysW StreakL StreakTeam %Opp %

Night Shift V1

Night Shift

Choose Home Team, Visiting Team, Neutral Team, or a specific NFL team, then select the historical season range. Night Shift uses those choices for every search and saves situations with at least 10 games and |Z| ≥ 1.75.

Ready.

Current Working Archive: Untitled Archive · 0 situations · Saved

💾 Reminder: Save your current Night Shift archive before exiting SnoopData.

The Best Currently Archived Situations

Showing the best archived discoveries. Use the filter above to display ALL, O/U, or Teams.

Situations in “Untitled Archive”

Date FoundWindowTypeZGamesRecordRecommendSituationQuery

SnoopData Starter Archive

A read-only collection of curated SnoopData situations. Open it to explore situations or load them into Query. When you save it, The Optimizer creates My Starter Archive, your own editable copy.

Your Saved Archives

Open an archive to make it the Current Working Archive. Saving does not stop Night Shift or start a new archive.

To share an archive: Click Export to download its .json sharing file, then send that file to another SnoopData user. The recipient clicks Import Archive and selects the file.

Cloud archives: preparing…

No personal saved archives yet.

Night Shift

This Week's Predictions

Choose games for a season/week and apply your archived Night Shift discoveries. Each result separates the prediction target from the historical evidence and can be loaded into Query for verification.

Using Archive: Untitled Archive · 0 situations

Ready.

Games — select games to analyze

Prediction Results

Analysis

Understanding The Optimizer Results

The Optimizer uses historical win-loss results and Z-scores to help compare situations. Z-scores are useful because the percentage alone does not tell the whole story: the number of games in the situation also matters.

Why Percentage Alone Is Not Enough

Suppose one situation has a record of 1-0. Its winning percentage is 100%. Another situation has a record of 9-1, a winning percentage of 90%.

The 9-1 result is much more informative. A perfect result can happen easily in a single game just by chance. Maintaining a strong percentage over a larger number of games is more difficult.

Z-scores take both the observed percentage and the sample size into account.

What Is a Z-Score?

In statistics, a Z-score measures how many standard errors an observed result is from a reference value. For ATS analysis, The Optimizer uses 50% as the reference winning percentage. If the point spread is doing its job, either side of an ATS wager should be approximately equally likely to win.

The Optimizer compares the observed ATS winning percentage with 50% and scales the difference according to the number of games in the situation. The program performs this calculation automatically.

Positive ATS ZThe situation has produced more ATS wins than expected from a 50% reference.
Negative ATS ZThe situation has produced fewer ATS wins than expected from a 50% reference.
Larger |Z|The historical result is farther from the 50% reference after accounting for sample size.
Z near 0The historical ATS result is relatively close to the 50% reference.

Over / Under Z-Scores

The same general idea is used for totals. The Optimizer compares Over and Under results with a 50% reference. A positive O/U Z favors Over; a negative O/U Z favors Under. Pushes are not wins or losses.

Sample Size Matters

A large Z-score is more meaningful when it is supported by a reasonable number of historical games. This is why The Optimizer displays the number of games along with the record, percentage, and Z-score rather than presenting any one number by itself.

An Important Caution: Searching Creates False Positives

The Optimizer can examine a very large number of possible situations. With enough searches, some apparently impressive results will occur simply by chance.

This is the statistical problem of multiple comparisons. A large Z-score found after thousands of searches should therefore be treated as a discovery worth investigating, not automatic proof that the pattern will continue.

Large Z-scores identify interesting situations. They do not guarantee future results.

How to Use the Analysis

When The Optimizer finds a strong result, consider the Z-score together with the sample size and the conditions defining the situation. Then use Query Situations to inspect the individual historical games behind the result.

This is especially important for discoveries made by Night Shift, because Night Shift can perform many searches automatically.

PercentageShows how often the result occurred.
Sample SizeShows how much historical evidence produced the percentage.
Z-ScoreCombines the size of the departure from 50% with the amount of data.
VerificationLets you inspect the historical games rather than relying on the summary alone.

The Optimizer finds statistical patterns. The user evaluates whether the evidence is convincing.

Technical Terms

Technical Terms

This glossary explains the football, wagering, and statistical terms used throughout The Optimizer.

ATS — Against the Spread

ATS describes the result of a game after the point spread is taken into account. An ATS Win means the selected team covered the spread; an ATS Loss means it did not. If the adjusted result is exactly tied, the ATS result is a Push.

Point Spread

The point spread is designed to balance the two sides of a wager. In The Optimizer, a positive team spread means the team is an underdog, a negative team spread means the team is a favorite, and 0 is pick-em. The Optimizer uses the spread when calculating ATS results. In Query Situations, enter two range endpoints from −20 through +20 in half-point increments; either order produces the same range.

Favorite / Underdog

The favorite is represented by a negative team spread; the underdog is represented by a positive team spread. A spread of 0 is pick-em.

O/U — Over / Under

The Over/Under, also called the total, is the predicted combined score of both teams. If the combined final score is greater than the total, the result is Over. If it is less than the total, the result is Under. If it equals the total, the result is a Push.

Push

A Push occurs when the final adjusted result exactly equals the betting line. For ATS, this means the point-spread-adjusted score is tied. For O/U, it means the combined score exactly equals the posted total.

Situation

A Situation is a set of historical games satisfying a specified collection of conditions. For example, a situation might specify a team, previous game result, previous site, rest category, and selected seasons. Query Situations finds the historical games that meet all of the selected conditions.

Factor and Item

A factor is a characteristic used to define a situation, such as Team, Home/Road, Previous Game, or Rest. An item is the selected value within that factor—for example, Team → Detroit or Previous Game → Loss.

Straight-Up (SU)

Straight-Up refers to the actual game result without adjusting for the point spread. A team that wins the game has a Straight-Up Win even if it does not cover the spread.

Home / Road / Neutral

Home means the team is designated as the home team, Road means it is the visiting team, and Neutral identifies a game played at a neutral site.

Previous Game / Previous Site

Previous Game describes whether the team won, lost, or tied its preceding game. Previous Site describes whether that preceding game was Home, Road, or Neutral.

Opponent Previous

Opponent Previous describes whether the current opponent won, lost, or tied its preceding game.

Division Game

A Division Game is a game between two teams in the same NFL division.

Win Streak / Losing Streak

A streak describes consecutive Straight-Up results entering the game. Win Streak identifies consecutive wins; Losing Streak identifies consecutive losses.

Win % to Date

Team Win % to Date and Opponent Win % to Date describe each team's Straight-Up winning percentage entering the game. The Optimizer groups these percentages into ranges for querying.

Rest

Rest is based on the number of days since the team's previous game. The Optimizer groups rest as Short (5 days or fewer), Normal (6–8 days), or Long Rest / Bye (9 days or more).

Sample Size

Sample size is the number of historical games in a situation. It matters because an extreme percentage based on only a few games can occur easily by chance. The Optimizer displays sample size along with percentages and Z-scores.

Z-Score

A Z-score measures how far an observed result is from the 50% reference after accounting for sample size. The Optimizer uses Z-scores to help compare the strength of ATS and O/U situations. Continue below for a fuller explanation.

Archive

An Archive is a saved collection of qualifying situations discovered by Night Shift. Archives can later be used by This Week's Predictions to identify archived situations that apply to selected games.

Sharing archives: In Your Saved Archives, click Export to download a .json archive file to your browser's Downloads folder. You can send that file to another user of The Optimizer. The recipient opens Your Saved Archives, clicks Import Archive, and selects the shared file. Importing adds a saved copy without replacing the recipient's Current Working Archive.

Current Working Archive

The Current Working Archive is the collection Night Shift is presently building or the archive currently loaded for review and prediction matching. The Optimizer marks the archive as UNSAVED CHANGES when the working copy differs from its last saved version.

SnoopData Starter Archive

The SnoopData Starter Archive is a read-only collection of sample situations supplied with The Optimizer. Open it to review the situations and use Load into Query to reproduce and explore any situation. Saving it creates My Starter Archive, your own editable version.

Research Focus

Research Focus tells Night Shift which perspective to keep fixed while it automatically searches other conditions. The focus can be a specific team or a broader perspective such as Home Team, Visiting Team, or Neutral Team.

Multiple Comparisons

When many different situations are searched, some apparently strong results can occur simply by chance. This is why The Optimizer treats large Z-scores as discoveries to investigate rather than guarantees of future performance. Continue below for more discussion.

SnoopData

About SnoopData

SnoopData develops research tools for exploring sports data and discovering statistically interesting patterns.

The Optimizer was created by PhD statisticians and data scientists who wanted to improve and automate the querying of sports databases to help discover predictive patterns and situations that might shed light on the outcomes of games.

Although SnoopData is not a gambling website, The Optimizer may be useful to sports bettors, handicappers, researchers, and others interested in using historical data to look for an edge.

Our Approach

Rather than simply presenting a prediction, The Optimizer lets users examine the historical situations and individual games behind the results. Users can explore the data themselves with Query Situations or use Night Shift to search automatically for statistically interesting patterns.

The goal is not to tell users what will happen next. It is to provide tools for investigating what has happened before—and whether those historical patterns may provide useful information about upcoming games.

Questions or Support

For questions about The Optimizer for Pro Football, email us at support@snoopdata.com.