PP
Predictive Playbook Database
Historical — NBA
Saved Queries Results Matching Rows Field Reference Numeric Field Stats Query Syntax & Examples

Query (PPQL) — historical_nba_games

New here? That's just a sample query so you have something to look at — type over it, or use the plain-English box above instead.
Typing after team=, opponent=, conference=, opponentconference=, venue=, lineprovider=, or gametype= pops up matching values — click one, or arrow-key + Enter/Tab to pick it, so you never have to remember the exact spelling.
Run a query to see available columns.
Saved queries

Result significance

Run a query above to see its record, ROI/profit, and per-game averages here.
Record after a loss — how the system does on the very next game, immediately following one of its own losses
—
—
—

Matching rows

Field reference

Browse all fields, live from the server, plus shortcuts — click any field to insert it
Loading field list…

Numeric field stats ?

Count / sum / mean / median / std / variance / quartiles / min / max for every numeric field
FieldCountSumMeanMedianStdVarianceQ1 (25%)Q3 (75%)MinMax

Query syntax & examples

Operators, ranges, prefixes (tpS, p:/n:/o:), shortcut fields (PPG, 3DPCT...), and field coverage notes
Combine with and / or. Ranges: 9.5>=line>=3.5. Set membership: team in ['BOS','NYK','BKN'].
Teams are 3-letter franchise codes (BOS, LAL, GSW, NYK, OKC...). A franchise keeps one code across moves — the Sonics are OKC, the old Bobcats/Hornets history is CHA/NOP per franchise id.
line is from THIS team's side: negative = favored, positive = underdog. total is the game total. atsmargin > 0 = covered; oumargin > 0 = went over. Betting lines start with the 2007-08 season; earlier seasons have box scores only.
season is the START year (2025 = the 2025-26 season). seasontype is 'regular', 'playoffs', 'playin', 'cup' (in-season tournament) or 'preseason' — use the PLAYOFFS / REG shortcuts for the common cases. Preseason and All-Star games aren't loaded by default.
Schedule spots: rest = days since the team's previous game (0 = back-to-back), B2B = second game in two nights, gameslast7 = games in the previous 7 days. Example: B2B and A and line<=-5 = road favorites of 5+ on the second night.
Season lookback: tpS(field) / tpA(field) = SUM / AVERAGE over the team's previous season, tppS/tppA = two seasons back, tpMAX/tpMIN = max/min. Example: tpA(W)>=.6 and H = home team that won 60%+ last season.
Previous/next games: p:/pp:/p3: (back) and n:/nn: (forward) — e.g. p:W and pp:W and A. Head-to-head: P:/N:. Opponent's side of the same game: o: — e.g. o:points>=120. Opponent's own games: op:, on:.
H/A/N/W/L = home/away/neutral/win/loss and work bare at the top level, e.g. team='BOS' and H and W.
Season-to-date entering the game: SUW/SUL/ATSW/ATSL/OVERS/UNDERS and the SUPCT/ATSPCT/OVERPCT percentages. Season averages (PPG, PAPG, FG3PCT, PACE, NETRTG...) are listed under the Shortcuts in the field reference.
Quarter scoring: Q1-Q4, halves H1/H2, cumulative TS1-TS4. Example: H1>=60 and A.
Group by any field right in the query with @field — e.g. season>=2015 and PLAYOFFS @team.
Advanced stats (pace, ratings, eFG%, TS%, rebound/assist/turnover %) are available from the 1996-97 season; quarter scores, paint/fast-break points and bench points from the 2000s depending on the stat. Anything not tracked in a season is simply empty for that season.
Use the grouping dropdown to break the record out by season/team/etc. Click a breakdown row to drill into its games.