Getting Started

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 PageSnoopData Home

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 a Guest Archive so a new user has historical situations to explore immediately and can continue building the archive over time.

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

Historical Data
Archives

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.

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. Night Shift uses that perspective for every search. Night Shift searches all available years automatically 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 Guest Archive

A read-only collection of curated SnoopData situations. Open it to explore situations or load them into Query. Use Save Archive As… if you want your own editable copy.

Your Saved Archives

Open an archive to make it the Current Working Archive, or merge a saved archive into the current working archive. Saving does not stop Night Shift or start a new archive.

To merge two archives: Open the first archive, then click Merge on the second. Use Save Archive As… to save the combined archive separately.

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

Prediction Results

Analysis

Understanding SnoopData Results

SnoopData 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, SnoopData 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.

SnoopData 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. SnoopData 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 SnoopData 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

SnoopData Technical Terms

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

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. SnoopData groups these percentages into ranges for querying.

Rest

Rest is based on the number of days since the team's previous game. SnoopData 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. SnoopData 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. SnoopData uses Z-scores to help compare the strength of ATS and O/U situations. See Analysis 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.

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. SnoopData marks the archive as UNSAVED CHANGES when the working copy differs from its last saved version.

Guest Archive

The Guest Archive is a read-only collection of sample situations supplied by SnoopData. Open it to review the situations and use Load into Query to reproduce and explore any situation. To make your own editable version, use Save Archive As….

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 SnoopData treats large Z-scores as discoveries to investigate rather than guarantees of future performance. See Analysis for more discussion.