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.
A current subscription is required for Query Situations and Night Shift.
Getting Started
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.
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.
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.
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.
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.
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
Current Situation
Home Team.
Run a query, choose ATS or O/U, then add this query situation to the current archive.
| Date | Day | Type | Season | Week | Team | Opp | Site | Spread | Total | Actual | O/U | Score | ATS | SU | Prev | Opp Prev | Days | W Streak | L Streak | Team % | Opp % |
|---|
Learn
Query Situations lets you find historical football situations by selecting conditions such as team, opponent, point spread, previous game result, rest, day of week, and other factors. You ask the database a question by selecting values and ranges in the Query screen. The Optimizer then finds the historical games that satisfy those conditions.
A Situation is a collection of factors together with the item selected from each factor.
These selections define one historical situation: Detroit playing at home after a loss. SnoopData searches the database for every game that matches all of the selected conditions.
Choose a team perspective first. For the other factors, leave a choice at All or Any when you do not want to restrict the search. Add only the conditions that define the situation you want to investigate.
The point spread is a handicap given to the underdog, or equivalently a number taken away from the favorite. In SnoopData, a positive spread means the team is an underdog, a negative spread means the team is a favorite, and 0 is pick-em.
Enter a point-spread range using the two boxes labeled Spread Min and Spread Max. The order does not matter: -3 to 3 is the same range as 3 to -3, and -3 to -7 is the same range as -7 to -3.
To search for one exact spread, enter the same value in both boxes, such as -3.5 and -3.5. You can set any spread range whose endpoints are between -20 and +20, using half-point increments.
After selecting the values that define your situation, click Run Query. The results are displayed below the query controls. To start over, click Clear Query, choose new conditions, and run another query.
The Current Situation line summarizes the conditions you selected. The summary boxes then show the number of matching games and the principal results for those games.
The Matching Games table is especially important. It lets you inspect the individual historical games behind the summary instead of relying only on the percentage or Z-score.
If you find an interesting result yourself, choose ATS or O/U under Save Result and click Add Query Situation to Current Archive. The situation is then available to the archive and can be considered by This Week's Predictions just like a Night Shift discovery.
Query Situations is also the final verification step in The Optimizer program flow. When Night Shift or This Week's Predictions identifies an interesting situation, load or reproduce its conditions here and examine the historical games behind the result.
The purpose is not merely to find a large number. It is to investigate the evidence that produced it.
Z-scores, sample size, and statistical interpretation are discussed separately in the Analysis documentation.
Night Shift V1
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.
Current Working Archive: Untitled Archive · 0 situations · Saved
💾 Reminder: Save your current Night Shift archive before exiting SnoopData.
Showing the best archived discoveries. Use the filter above to display ALL, O/U, or Teams.
| Date Found | Window | Type | Z | Games | Record | Recommend | Situation | Query |
|---|
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.
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.
Learn
Night Shift automatically searches the historical games database for interesting situations. Instead of requiring you to construct each query yourself, Night Shift repeatedly selects combinations of factors, evaluates the historical results, and keeps qualifying discoveries in the current archive.
It is called Night Shift because once you start it, it can continue making searches while you are doing something else. You can return later to inspect the discoveries it has accumulated.
Night Shift does not save every search it attempts. It evaluates each search and retains only the good situations—those that satisfy its qualifying rules.
The Research Focus tells Night Shift what perspective to use while it searches. You can focus on a specific team or on a broader perspective such as Home Team, Visiting Team, or Neutral Team. Night Shift keeps that focus fixed while choosing the other search conditions automatically.
For example, select Home Team to see how the home team performs in different situations. Choose Visiting Team, Neutral Team, or a specific NFL team to change the research focus. The other factors used in each search are selected by Night Shift.
Click Start Night Shift to begin searching. While it runs, the search counter shows how many attempts have been made. Click Stop Night Shift whenever you want to stop the search. Stopping Night Shift does not erase the qualifying discoveries already collected in the current archive.
Night Shift evaluates the historical games returned by each attempted situation. Only situations meeting the current Night Shift qualification requirements are retained. The purpose of the archive is therefore to collect promising discoveries rather than every query Night Shift has tried.
Sample size and Z-score are important parts of this screening process. Their statistical interpretation is discussed separately in the Analysis documentation.
Filter Results controls what you see on the screen. It does not control what Night Shift searches for and it does not determine what is stored in the archive.
When ALL is selected, SnoopData displays all qualifying Night Shift discoveries in the current archive, regardless of category. Selecting another filter simply narrows the display.
Changing the display filter does not remove the other situations from the archive.
Each displayed discovery summarizes the type of result, its Z-score, the number of historical games, and the conditions defining the situation. Star ratings provide a quick visual indication of the strength of the displayed result.
Night Shift is a discovery tool. A strong result is a reason to investigate the situation further, not a substitute for examining the historical evidence.
The current archive is the collection Night Shift is presently building or that you have loaded for review. Saving an archive preserves those discoveries so they can be used again later, including when checking upcoming games.
The Optimizer also includes a Guest Archive containing previously discovered historical situations. This gives a new user a useful collection to explore while still allowing personal archives to grow through additional Night Shift research.
When Night Shift finds an interesting situation, click Load into Query next to that situation. The Optimizer opens Query Situations, enters the conditions that produced the Night Shift result, and runs the query automatically.
Once the situation is loaded, you can inspect the individual historical games, change any query condition, rerun the analysis, or save the query situation to the current archive.
Night Shift discovers the pattern. Query Situations lets you examine the evidence.
Night Shift
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
Learn
This Week's Predictions searches the situations in your archive—including Night Shift discoveries and situations you add from Query Situations—and identifies those that apply to the selected week's games. The purpose is not simply to produce picks. It is to connect upcoming games with historical situations that you can investigate further.
Select the Season and Week you want to examine, then load the games. SnoopData displays the games for that week before predictions are generated.
The Use Archive control determines which category of archived situations is considered when generating predictions. You can use all applicable archived situations or narrow the analysis to the available categories.
The Minimum |Z| setting lets you require a minimum absolute Z-score before an archived situation is included in the prediction results.
After the week's games are loaded, click Generate Predictions. SnoopData compares those games with the qualifying situations in the archive and displays the matches.
The matching situations are ranked by Z-score and recommendation strength. Star ratings provide a quick visual indication of the strength of a displayed match.
A prediction is not meant to be accepted simply because The Optimizer displays it. Each matching situation can be taken back to Query Situations for further investigation.
There you can examine the complete set of historical games satisfying the conditions and see the evidence behind the result.
This Week's Predictions finds the match. Query Situations lets you investigate it.
Night Shift searches historical data and builds archives of qualifying situations. This Week's Predictions asks whether those archived situations apply to upcoming games. Query Situations then provides the final verification step.
Z-scores, sample size, and statistical interpretation are discussed separately in the Analysis documentation.
Analysis
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.
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.
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.
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.
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.
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.
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.
The Optimizer finds statistical patterns. The user evaluates whether the evidence is convincing.
Technical Terms
This glossary explains the football, wagering, and statistical terms used throughout SnoopData.
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.
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.
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.
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.
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.
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.
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 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 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 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 describes whether the current opponent won, lost, or tied its preceding game.
A Division Game is a game between two teams in the same NFL division.
A streak describes consecutive Straight-Up results entering the game. Win Streak identifies consecutive wins; Losing Streak identifies consecutive losses.
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 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 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.
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.
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.
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.
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 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.
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.