In short: Petrolia Pirates high school football (Petrolia, TX), 2026 season: 3-6. Last game: W 60-14 vs Electra on October 23, 2026. Next: at Munday, October 30, 2026. Schedule and results, player season stats, stat leaders, unit grades, ScorePirate ranking and the game-by-game log.
| RECORD | 3-6 this season |
| LAST GAME | W 60-14 vs ELECTRA |
| NEXT GAME | MUNDAY (10/30/2026) |
| UNIT GRADES | Pass Off 8.2 · Rush Off 16.6 · Pass Def 7.4 · Rush Def 34.8 |
| ENROLLMENT | 206 STUDENTS (2022-23) |
| TEAM | PASS O | RUSH O | PASS D | RUSH D |
|---|---|---|---|---|
| PETROLIA | 8.2 (-109) | 16.6 (-92) | 7.4 (+86) | 34.8 (+28) |
Petrolia has played a softer-than-average schedule in the pool so far (#841 of 1236), and what is left is a middle-of-the-road slate (#691 of 1145).
DATA WARNING: PETROLIA OFFENSIVE STATS FOR 10/23/2026 GAME VS. ELECTRA* MISSING
DATA WARNING: PETROLIA OFFENSIVE STATS FOR 10/09/2026 GAME VS. SEYMOUR* MISSING
DATA WARNING: PETROLIA OFFENSIVE STATS FOR 10/02/2026 GAME @ ARCHER CITY* MISSING
DATA WARNING: PETROLIA OFFENSIVE STATS FOR 09/25/2026 GAME VS. WINDTHORST* MISSING
DATA WARNING: PETROLIA OFFENSIVE STATS FOR 09/18/2026 GAME @ NOCONA MISSING
DATA WARNING: PETROLIA OFFENSIVE STATS FOR 09/11/2026 GAME VS. ALVORD MISSING
DATA WARNING: PETROLIA OFFENSIVE STATS FOR 08/28/2026 GAME VS. ERA MISSING
All stat areas in this report are subject to change as box scores are updated.
From the games on file through Sep 4.
Every player with a stat on file, listed only where he has one. Open the arrow beside a name for his game-by-game line. Stats through the Sep 4 game; last updated Sep 20.
| PASSING | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| NO | PLAYER | GP | C/ATT | COMP % | YDS | YPA | TD | INT | QBR |
| CODY COX | 1 | 2/3 | 66.7% | 49 | 16.3 | 0 | 0 | 203.9 | |
| RUSHING | ||||||
|---|---|---|---|---|---|---|
| NO | PLAYER | GP | CAR | YDS | YPC | TD |
| KASON GEE | 1 | 16 | 102 | 6.4 | 1 | |
| BRODIE JACKSON | 1 | 15 | 97 | 6.5 | 1 | |
| CODY COX | 1 | 7 | 18 | 2.6 | 1 | |
| TRIPP ADAMS | 1 | 1 | 16 | 16.0 | 0 | |
| TEAM TOTALS | 1 | 39 | 233 | 6.0 | 3 | |
| RECEIVING | ||||||
|---|---|---|---|---|---|---|
| NO | PLAYER | GP | REC | YDS | YPR | TD |
| BRODIE JACKSON | 1 | 2 | 49 | 24.5 | 0 | |
PROGRAM RECORD
| SEASON | RECORD | PF | PA | PPG |
| 2026 | 3-6 | 224 | 360 | 24.9 |
| 2026 | 3-6 | 24.9 |
| DATE | OPPONENT | SITE | RESULT | SCORE | WIN% |
| 08/28 | ERA | vs | L | 14-40 | |
| 09/04 | OLNEY | at | W | 30-26 | |
| 09/11 | ALVORD | vs | L | 8-49 | |
| 09/18 | NOCONA | at | L | 12-49 | |
| 09/25 | WINDTHORST | vs | L | 8-54 | |
| 10/02 | ARCHER CITY | at | W | 40-32 | |
| 10/09 | SEYMOUR | vs | L | 20-34 | |
| 10/16 | HASKELL | at | L | 32-62 | |
| 10/23 | ELECTRA | vs | W | 60-14 | |
| 10/30 | MUNDAY | at | PROJ | 27-39 | 28.7% |
| SEASON TO DATE | 3-6 | 1 REMAINING |
SEASON OUTLOOK
(full explanation: Appendix, Note 1)
| RECORD TO DATE | MOST LIKELY FINAL | PROJECTED RECORD | |
| Overall | 3-6 so far | 3-7 (71%) | 3.3-6.7 |
| League | 2-3 so far | 2-3 (100%) | 2.0-3.0 |
| SPLIT | GP | PPG | OPP PPG | YPG | OPP YPG | PLAYS/G | OPP PLAYS/G |
| OVERALL | 9 | 24.9 | 40.0 | 150.0 | 386.9 | 22.5 | 52.1 |
| HOME | 5 | 22.0 | 38.2 | -- | 357.2 | -- | 49.2 |
| ROAD | 4 | 28.5 | 42.2 | 150.0 | 416.5 | 22.5 | 55.0 |
PPG/OPP PPG use every played game on file. YPG/PLAYS-PER-GAME columns only ever come from games with a full box score on file, which can be a smaller sample than GP -- see the coverage note below when that's the case for this team.
Box-score coverage behind YPG/PLAYS-PER-GAME: Overall 2/9 game(s), Home 0/5 game(s), Road 2/4 game(s).
| DATE | OPPONENT | RESULT | PASS YDS | RUSH YDS | TOTAL YDS | PASS ALW | RUSH ALW | TOTAL ALW | SACKS ALW | SACKS | DEF INT | TO FORCED | TO MAR |
| 8/28 | vs. Era | L 14-40 | -- | -- | -- | 292 | 135 | 427 | 3 | -- | -- | 0 | -3 |
| 9/4 | @ Olney | W 30-26 | 49 | 233 | 282 | 220 | 91 | 311 | 0 | 0 | 0 | 1 | -2 |
| 9/11 | vs. Alvord | L 8-49 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
| 9/18 | @ Nocona | L 12-49 | -- | -- | -- | 203 | 248 | 451 | 3 | -- | -- | 0 | -3 |
| 9/25 | vs. Windthorst | L 8-54 | -- | -- | -- | 284 | 122 | 406 | -- | -- | -- | 0 | -2 |
| 10/2 | @ Archer City | W 40-32 | -- | -- | -- | 110 | 225 | 335 | -- | -- | -- | 0 | -1 |
| 10/9 | vs. Seymour | L 20-34 | -- | -- | -- | 164 | 177 | 341 | -- | -- | -- | 0 | 0 |
| 10/16 | @ Haskell | L 32-62 | 0 | 18 | 18 | 322 | 247 | 569 | -- | -- | -- | 0 | -1 |
| 10/23 | vs. Electra | W 60-14 | -- | -- | -- | 50 | 205 | 255 | -- | -- | -- | 0 | 0 |
| AVERAGES | 24.5 | 125.5 | 150.0 | 205.6 | 181.2 | 386.9 | 2.0 | 0.0 | 0.0 | 0.1 | -12 (season) |
Averages use only games with that number on file (offense 2/9, defense 8/9, sacks/INT 1/9, sacks allowed 3/9, turnovers 8/9 games). SACKS ALW comes from the opponent's box score; TO FORCED is takeaways; TO MAR is takeaways minus giveaways, and its bottom cell is the season total. Dashes mean not on file.
UNIT INDEX
Pass Offense: grade 8.2/100 (-109 yds/gm vs average)
Rush Offense: grade 16.6/100 (-92 yds/gm vs average)
Pass Defense: grade 7.4/100 (+86 yds/gm vs average)
Rush Defense: grade 34.8/100 (+28 yds/gm vs average)
Unit grades: 0-100 league percentile, opponent-curved (two-way solve over current + past seasons, recency-weighted). Composite counts yardage, efficiency vs league YPA/YPC (50% tilt), and negative plays at sack=7yd, INT=45yd, TFL=4yd -- adjustable v1 constants.
OPPONENT TRACKER
(full explanation: Appendix, Note 2)
| DATE | SITE | OPPONENT | THEIR RECORD | THEIR PPG |
| 2026-10-30 | at | MUNDAY | 6-2 | 47.1 |
• PET holds its opponents under 6.0 yards per play (.999), and has won 3 straight when doing so
• PET holds its opponents under 5.0 yards per carry (.667), and has won 2 straight when doing so
• PET holds its opponents under 200 passing yards (.667)
• PET commits fewer than 2 giveaways (.500)
• PET's defense has averaged 0.0 takeaways per game over their last 3 games. Their 8-game average is 0.1 takeaways per game. (-100%)
• PET's offense has averaged 0.3 giveaways per game over their last 3 games. Their 8-game average is 1.6 giveaways per game. (-79%)
• PET's defense has conceded 100+ rush yds in 6 straight games (09/18/2026-10/23/2026), going 2-4 over that stretch.
• PET's defense has was held under 1 turnover in 6 straight games (09/18/2026-10/23/2026), going 2-4 over that stretch.
• PET holds its opponents under 5.7 yards per carry (PET's own median) (.750)
• PET holds its opponents under 7.3 yards per play (PET's own median) (.750)
• PET holds its opponents under 10.1 yards per attempt (PET's own median) (.750)
• PET's offense has averaged 37.3 points scored per game over their last 3 games. Their 9-game average is 24.9 points scored per game. (+50%)
• PET's defense has conceded 150+ rush yds in 4 straight games (10/02/2026-10/23/2026), going 2-2 over that stretch.
• PET's defense has averaged 12.9 YPA over their last 3 games. Their 8-game average is 9.8 YPA. (+32%)
• PET's defense has conceded 8.0+ YPA in 3 straight games (10/09/2026-10/23/2026), going 1-2 over that stretch.
(full explanation: Appendix, Note 3)
PET -- MOST IMPORTANT NUMBERS
(top 2 of 2 scored; vs 349 cached team(s))
| # | SIDE | CONDITION | REC | WIN% | PPG | STRK | SCORE |
| 1 | DEF | Turnovers < 2 | 3-5 | .375 | 38.9 | W1 | 0.565 |
| 2 | DEF | Turnovers < 3 | 3-5 | .375 | 38.9 | W1 | 0.435 |
| SPLIT | REC | WIN% | PPG | STRK | |
| YPA 8.0+ | 1-0 | 1.000 | 30.0 | W1 | |
| YPA < 8.0 | 0-1 | .000 | 32.0 | L1 | 7 games without this stat on file |
| Pass Yds 200+ | -- | -- | -- | -- | |
| Pass Yds < 200 | 1-1 | .500 | 31.0 | L1 | 7 games without this stat on file |
| Rush Yds 100+ | 1-0 | 1.000 | 30.0 | W1 | |
| Rush Yds < 100 | 0-1 | .000 | 32.0 | L1 | 7 games without this stat on file |
| Rush Yds 150+ | 1-0 | 1.000 | 30.0 | W1 | |
| Rush Yds < 150 | 0-1 | .000 | 32.0 | L1 | 7 games without this stat on file |
| YPC 5.0+ | 1-1 | .500 | 31.0 | L1 | |
| YPC < 5.0 | -- | -- | -- | -- | 7 games without this stat on file |
| YPP 6.0+ | 1-1 | .500 | 31.0 | L1 | |
| YPP < 6.0 | -- | -- | -- | -- | 7 games without this stat on file |
| YPP 7.0+ | -- | -- | -- | -- | |
| YPP < 7.0 | 1-1 | .500 | 31.0 | L1 | 7 games without this stat on file |
| Turnovers 1+ | 2-4 | .333 | 22.7 | L1 | |
| Turnovers < 1 | 1-1 | .500 | 40.0 | W1 | 1 games without this stat on file |
| Turnovers 2+ | 1-3 | .250 | 16.0 | L2 | 1 games without this stat on file |
| Turnovers > 2 | 1-2 | .333 | 18.7 | L1 | 1 games without this stat on file |
| SPLIT | REC | WIN% | PPG |
| Scores <10 | 0-2 | .000 | 8.0 |
| Scores 10-19 | 0-2 | .000 | 13.0 |
| Scores 20-29 | 0-1 | .000 | 20.0 |
| Scores 30-39 | 1-1 | .500 | 31.0 |
| Scores 40+ | 2-0 | 1.000 | 50.0 |
| SPLIT | REC | WIN% | PPG | STRK | |
| YPA 8.0+ | 1-5 | .167 | 42.2 | W1 | |
| YPA < 8.0 | 2-0 | 1.000 | 29.0 | W2 | 1 games without this stat on file |
| Pass Yds 200+ | 1-4 | .200 | 46.2 | L3 | |
| Pass Yds < 200 | 2-1 | .667 | 26.7 | W1 | 1 games without this stat on file |
| Rush Yds 100+ | 2-5 | .286 | 40.7 | W1 | |
| Rush Yds < 100 | 1-0 | 1.000 | 26.0 | W1 | 1 games without this stat on file |
| Rush Yds 150+ | 2-3 | .400 | 38.2 | W1 | |
| Rush Yds < 150 | 1-2 | .333 | 40.0 | L1 | 1 games without this stat on file |
| YPC 5.0+ | 1-4 | .200 | 46.2 | L2 | |
| YPC < 5.0 | 2-1 | .667 | 26.7 | W2 | 1 games without this stat on file |
| YPP 6.0+ | 0-5 | .000 | 47.8 | L5 | |
| YPP < 6.0 | 3-0 | 1.000 | 24.0 | W3 | 1 games without this stat on file |
| YPP 7.0+ | 0-5 | .000 | 47.8 | L5 | |
| YPP < 7.0 | 3-0 | 1.000 | 24.0 | W3 | 1 games without this stat on file |
| Turnovers 1+ | 1-0 | 1.000 | 26.0 | W1 | |
| Turnovers < 1 | 2-5 | .286 | 40.7 | W1 | 1 games without this stat on file |
| Turnovers 2+ | -- | -- | -- | -- | 1 games without this stat on file |
| Turnovers > 2 | -- | -- | -- | -- | 1 games without this stat on file |
| SPLIT | REC | WIN% | PPG |
| Allows <10 | -- | -- | -- |
| Allows 10-19 | 1-0 | 1.000 | 14.0 |
| Allows 20-29 | 1-0 | 1.000 | 26.0 |
| Allows 30-39 | 1-1 | .500 | 33.0 |
| Allows 40+ | 0-5 | .000 | 50.8 |
PETROLIA
• PETROLIA has scored 30+ in 2 straight games (10/16/26–10/23/26). It has never reached 3 straight in the games on file, back to 2026.
• PETROLIA has allowed 200+ rushing in 2 straight games (10/16/26–10/23/26). It has never reached 3 straight in the games on file, back to 2026.
| Team | Side | Split | Games | Record | Win% | PPG | Strk |
| PET | OFFENSE | YPA 8.0+ | 1 | 1-0 | 1.000 | 30.0 | W1 |
| PET | OFFENSE | YPA < 8.0 | 1 | 0-1 | .000 | 32.0 | L1 |
| PET | OFFENSE | Pass Yds < 200 | 2 | 1-1 | .500 | 31.0 | L1 |
| PET | OFFENSE | Rush Yds 100+ | 1 | 1-0 | 1.000 | 30.0 | W1 |
| PET | OFFENSE | Rush Yds < 100 | 1 | 0-1 | .000 | 32.0 | L1 |
| PET | OFFENSE | Rush Yds 150+ | 1 | 1-0 | 1.000 | 30.0 | W1 |
| PET | OFFENSE | Rush Yds < 150 | 1 | 0-1 | .000 | 32.0 | L1 |
| PET | OFFENSE | YPC 5.0+ | 2 | 1-1 | .500 | 31.0 | L1 |
| PET | OFFENSE | YPP 6.0+ | 2 | 1-1 | .500 | 31.0 | L1 |
| PET | OFFENSE | YPP < 7.0 | 2 | 1-1 | .500 | 31.0 | L1 |
| PET | OFFENSE | Turnovers 1+ | 6 | 2-4 | .333 | 22.7 | L1 |
| PET | OFFENSE | Turnovers < 1 | 2 | 1-1 | .500 | 40.0 | W1 |
| PET | OFFENSE | Turnovers 2+ | 4 | 1-3 | .250 | 16.0 | L2 |
| PET | OFFENSE | Turnovers > 2 | 3 | 1-2 | .333 | 18.7 | L1 |
| PET | OFFENSE | Scores <10 | 2 | 0-2 | .000 | 8.0 | L2 |
| PET | OFFENSE | Scores 10-19 | 2 | 0-2 | .000 | 13.0 | L2 |
| PET | OFFENSE | Scores 20-29 | 1 | 0-1 | .000 | 20.0 | L1 |
| PET | OFFENSE | Scores 30-39 | 2 | 1-1 | .500 | 31.0 | L1 |
| PET | OFFENSE | Scores 40+ | 2 | 2-0 | 1.000 | 50.0 | W2 |
| PET | DEFENSE | YPA 8.0+ | 6 | 1-5 | .167 | 42.2 | W1 |
| PET | DEFENSE | YPA < 8.0 | 2 | 2-0 | 1.000 | 29.0 | W2 |
| PET | DEFENSE | Pass Yds 200+ | 5 | 1-4 | .200 | 46.2 | L3 |
| PET | DEFENSE | Pass Yds < 200 | 3 | 2-1 | .667 | 26.7 | W1 |
| PET | DEFENSE | Rush Yds 100+ | 7 | 2-5 | .286 | 40.7 | W1 |
| PET | DEFENSE | Rush Yds < 100 | 1 | 1-0 | 1.000 | 26.0 | W1 |
| PET | DEFENSE | Rush Yds 150+ | 5 | 2-3 | .400 | 38.2 | W1 |
| PET | DEFENSE | Rush Yds < 150 | 3 | 1-2 | .333 | 40.0 | L1 |
| PET | DEFENSE | YPC 5.0+ | 5 | 1-4 | .200 | 46.2 | L2 |
| PET | DEFENSE | YPC < 5.0 | 3 | 2-1 | .667 | 26.7 | W2 |
| PET | DEFENSE | YPP 6.0+ | 5 | 0-5 | .000 | 47.8 | L5 |
| PET | DEFENSE | YPP < 6.0 | 3 | 3-0 | 1.000 | 24.0 | W3 |
| PET | DEFENSE | YPP 7.0+ | 5 | 0-5 | .000 | 47.8 | L5 |
| PET | DEFENSE | YPP < 7.0 | 3 | 3-0 | 1.000 | 24.0 | W3 |
| PET | DEFENSE | Turnovers 1+ | 1 | 1-0 | 1.000 | 26.0 | W1 |
| PET | DEFENSE | Turnovers < 1 | 7 | 2-5 | .286 | 40.7 | W1 |
| PET | DEFENSE | Allows 10-19 | 1 | 1-0 | 1.000 | 14.0 | W1 |
| PET | DEFENSE | Allows 20-29 | 1 | 1-0 | 1.000 | 26.0 | W1 |
| PET | DEFENSE | Allows 30-39 | 2 | 1-1 | .500 | 33.0 | L1 |
| PET | DEFENSE | Allows 40+ | 5 | 0-5 | .000 | 50.8 | L5 |
| SIDE | SPLIT | STREAK | DATES | RECORD |
| DEFENSE | Rush Yds 100+ | 6 games | 09/18/2026 - 10/23/2026 | 2-4 |
| DEFENSE | Turnovers < 1 | 6 games | 09/18/2026 - 10/23/2026 | 2-4 |
| DEFENSE | Rush Yds 150+ | 4 games | 10/02/2026 - 10/23/2026 | 2-2 |
| DEFENSE | YPA 8.0+ | 3 games | 10/09/2026 - 10/23/2026 | 1-2 |
| Team | Side | Split | Streak | Dates | Record |
| PET | DEFENSE | Rush Yds 100+ | 6 games | 09/18/2026 - 10/23/2026 | 2-4 |
| PET | DEFENSE | Turnovers < 1 | 6 games | 09/18/2026 - 10/23/2026 | 2-4 |
| PET | DEFENSE | Rush Yds 150+ | 4 games | 10/02/2026 - 10/23/2026 | 2-2 |
| PET | DEFENSE | YPA 8.0+ | 3 games | 10/09/2026 - 10/23/2026 | 1-2 |
PET OFFENSE
PET's offense has averaged 0.3 giveaways per game over their last 3 games. Their 8-game average is 1.6 giveaways per game. (-79%)
PET's offense has averaged 37.3 points scored per game over their last 3 games. Their 9-game average is 24.9 points scored per game. (+50%)
PET DEFENSE
PET's defense has averaged 0.0 takeaways per game over their last 3 games. Their 8-game average is 0.1 takeaways per game. (-100%)
PET's defense has averaged 12.9 YPA over their last 3 games. Their 8-game average is 9.8 YPA. (+32%)
PET's defense has averaged 8.5 YPC over their last 3 games. Their 8-game average is 6.7 YPC. (+26%)
PET's defense has averaged 9.8 YPP over their last 3 games. Their 8-game average is 7.9 YPP. (+23%)
(moved to the Appendix, Data Export 1, to keep this section shorter -- the full spreadsheet-paste table is there unchanged)
Full-length explanations and full-size data exports for the shortened notes and relocated tables referenced throughout this report, numbered in the order their pointers appear above.
Explanatory Notes
Note 1 -- SEASON OUTLOOK
Every remaining game is projected from schedule-adjusted ratings; already-played games carry their real result. Records are simulated distributions, not a single guess -- MOST LIKELY FINAL is the single most probable record and its own probability, PROJECTED RECORD is the season's expected win total expressed in record form (an average across every simulated outcome, so it can land on a fraction of a game).
Note 2 -- OPPONENT TRACKER -- why some cards have no record shown
Only meaningful for an opponent who is ALSO a tracked team in the library -- an opponent with no games on file here at all shows the date and site alone.
Note 3 -- MOST IMPORTANT NUMBERS -- how a number is scored
Every split this report computes is scored on four weighted criteria and the top 5 per team are listed. In Cooper's own weighting order: (1) the WIN% attached to the condition, counted only when the condition has occurred at least 8 times -- a smaller sample is dropped outright, not discounted; (2) the PPG attached to it, with higher better on offense and lower better on defense, and each side normalized against its own kind so a defensive number competes with defensive numbers rather than against scoring averages; (3) how far the number sits from the OPPONENT's on the same condition, across win%, PPG and how often the condition happens at all; and (4) where it falls among every other team previously run through this workbook and cached. Criteria 1 and 2 measure how strong a number is; 3 and 4 measure how much it distinguishes this team. Weights: win_pct 40%, ppg 27%, matchup 20%, pool 13%. See important_numbers.py.
Full Data Exports
Data Export 1 -- TRENDS — TAB-SEPARATED (10 columns)
| Team | Side | Type | Stat | Opponent | Window/Meetings | Value | BaselineGames | BaselineAvg | Deviation |
| PET | OFFENSE | team | Points | last 3 | 37.3 | 9 | 24.9 | +50.0% | |
| PET | DEFENSE | team | Turnovers | last 3 | 0.0 | 8 | 0.1 | -100.0% | |
| PET | OFFENSE | team | Turnovers | last 3 | 0.3 | 8 | 1.6 | -79.5% | |
| PET | DEFENSE | team | YPA | last 3 | 12.9 | 8 | 9.8 | +31.5% | |
| PET | DEFENSE | team | YPC | last 3 | 8.5 | 8 | 6.7 | +26.2% | |
| PET | DEFENSE | team | YPP | last 3 | 9.8 | 8 | 7.9 | +23.2% |