In short: Brennan Bears high school football (San Antonio, TX), 2026 season: 7-1. Last game: W 69-7 vs Warren on October 22, 2026. Next: vs Marshall, October 30, 2026. Schedule and results, player season stats, stat leaders, unit grades, ScorePirate ranking and the game-by-game log.
The battle on the ground could decide Brennan's next game, against Marshall, and the recent returns favor Brennan. Brennan averaged 7.2 yards per carry (974 yards on 136 rushes) over its first 4 games (3-1), #241 in section in that timeframe. In the 4 games since that slow start (4-0), the Bears have averaged 12.1 yards per carry (1,359 yards on 112 rushes), a 69% rise, #17 in section in that window. The schedule deserves some of the credit: Brennan's last 4 opponents have averaged 6.5 yards per carry, a #774 run defense in section on the season, against 5.1 yards per carry, #344 for the first 4. Measured against those opponents' norms (6.5 yards per carry), Brennan ran for 85% more per carry than those run defenses usually allow. The level of competition matters too: in ScorePirate's SP Strength Index, the last 4 opponents average a rating that would rank #822 in section, well below the first 4 (#357), so the recent production comes against lower-level teams overall. Meanwhile, Marshall's run defense has struggled in recent weeks. The Rams have allowed 9.6 yards per carry (1,070 yards on 111 rushes) over their last 4 games (1-3), #1085 in section during that time. Those games came against a middle-of-the-pack set of rushing attacks in section (5.9 yards per carry on the season, which would rank #517). Against those norms, Marshall allowed 65% more per carry than those rushing attacks usually gain. On paper, that is a matchup that favors Brennan.
The number to watch when Brennan meets Marshall is Brennan's giveaways. Brennan committed 1.5 giveaways per game over its first 4 games (3-1), #716 in section through those games. In the 4 games since that slow start (4-0), the Bears have committed 0.5 giveaways per game, a 67% drop, #152 in section through that stretch. The schedule deserves some of the credit: Brennan's last 4 opponents have averaged 1.2 per game, a #638 defense in section on the season, against 1.5 per game, #465 for the first 4. Measured against those opponents' norms (1.2 per game), Brennan turned it over 58% less than those defenses usually force. The level of competition matters too: in ScorePirate's SP Strength Index, the last 4 opponents average a rating that would rank #822 in section, well below the first 4 (#357), so the recent production comes against lower-level teams overall. Meanwhile, Marshall's defense has been middle of the pack in recent weeks. The Rams have forced 0.8 takeaways per game over their last 4 games (1-3), #785 in section over that stretch. Those games came against a middle-of-the-pack set of offenses in section (1.3 per game on the season, which would rank #665). Against those norms, Marshall forced 42% fewer turnovers than those offenses usually give up. Marshall offers Brennan a fair measuring stick for whether the trend is real.
NOTES
The biggest shift in Brennan's season has come in its defense. Brennan allowed 11.7 points per game over its first 3 games (2-1), #99 in section within that period. In the 5 games since that slow start (5-0), the Bears have allowed 2.8 points per game, a 76% drop, #3 in section across those games. The schedule deserves some of the credit: Brennan's last 5 opponents have averaged 22.2 points per game, a #866 offense in section on the season, against 24.5 points per game, #797 for the first 3. Measured against those opponents' norms (22.2 points per game), Brennan held those offenses 87% below what they usually score. The level of competition matters too: in ScorePirate's SP Strength Index, the last 5 opponents average a rating that would rank #730 in section, well below the first 3 (#367), so the recent production comes against lower-level teams overall. On the season, Brennan ranks #6 in section in scoring defense. The trend lines up well against Marshall, whose offense ranks just #996 of 1235 (18.4 points per game).
Brennan's offense has come a long way since the season's early weeks. The Bears averaged 7.5 yards per play (1,472 yards on 196 snaps) over their first 4 games (3-1), #333 in section during those games. In the 4 games since that slow start (4-0), Brennan has averaged 10.7 yards per play (1,757 yards on 164 snaps), a 43% rise, #51 in section during that period. The schedule doesn't explain it: the opponents in both stretches have averaged about 6.3 yards per play on the season. Measured against those opponents' norms (6.5 yards per play), Brennan gained 64% more per snap than those defenses usually allow. The level of competition matters too: in ScorePirate's SP Strength Index, the last 4 opponents average a rating that would rank #822 in section, well below the first 4 (#357), so the recent production comes against lower-level teams overall. On the season, the Bears rank #106 in section in yards per play. The trend lines up well against Marshall, whose defense ranks just #1030 of 1233 (8.5 yards per play).
Something changed for Brennan's offense after the first 5 games of the season. Brennan averaged 46.6 points per game over its first 5 games (4-1), #92 in section during that stretch. Over the stretch of 3 games that followed (3-0), the Bears have averaged 67.3 points per game, a 44% rise, #9 in section over that period. The schedule deserves some of the credit: Brennan's last 3 opponents have averaged 36.7 points per game, a #928 scoring defense in section on the season, against 24.1 points per game, #409 for the first 5. Measured against those opponents' norms (36.7 points per game), Brennan scored 83% more than those defenses usually allow. The level of competition matters too: in ScorePirate's SP Strength Index, the last 3 opponents average a rating that would rank #912 in section, well below the first 5 (#402), so the recent production comes against lower-level teams overall. On the season, Brennan ranks #18 in section in scoring. The trend lines up well against Marshall, whose defense ranks just #1135 of 1235 (45.1 points per game). Brennan is 6-0 this season when it scores 46 or more, and 1-1 when it doesn't.
One of Brennan's most reliable areas lately has been its run defense. The Bears allowed 3.0 yards per carry (284 yards on 94 rushes) over their first 3 games (2-1), #77 in section over that timeframe. In the 5 games since that slow start (5-0), Brennan has allowed 2.3 yards per carry (360 yards on 154 rushes), a 23% drop, #30 in section over that span. The schedule doesn't explain it: the opponents in both stretches have averaged about 5.3 yards per carry on the season. Measured against those opponents' norms (5.2 yards per carry), Brennan held those rushing attacks 55% below their usual yards per carry. The level of competition matters too: in ScorePirate's SP Strength Index, the last 5 opponents average a rating that would rank #730 in section, well below the first 3 (#367), so the recent production comes against lower-level teams overall. On the season, the Bears rank #21 in section in run defense. The trend lines up well against Marshall, whose ground game ranks just #872 of 1057 (4.4 yards per carry).
TIDBITS (13 found)
• Club Brennan has won 7 straight, and a win would make it 8 in a row. The last time they won 8 or more in a row was 2024, a run of 9.
• Club The last time Brennan went a game allowing 5.0+ yards per carry was November 24, 2023 against Lake Travis (L, 7-34). Since then Brennan has gone 32 straight games holding the opponent under 5.0 yards per carry, a school-record 32 straight in the 5 seasons on record.
• Club The last time Brennan went a game allowing 6.0+ yards per play was November 24, 2023 against Lake Travis (L, 7-34). Since then Brennan has gone 32 straight games holding the opponent under 6.0 yards per play, a school-record 32 straight in the 5 seasons on record.
• Club The last time Brennan went a game being held under 100 rushing yards was September 20, 2025 against Harlan (L, 14-31). Since then Brennan has gone 16 straight games rushing for 100+ yards, a school-record 16 straight in the 5 seasons on record.
• Club Brennan is 34-0 all time when scoring 40+ points in the games on file (34 such games).
• Club Brennan is 13-1 all time when throwing for 200+ yards. Brennan's last loss when throwing for 200+ yards was August 27, 2022 against Steele (L, 34-35).
• Club Brennan has scored 202 points over its last 3 games (67.3 a game, October 1, 2026 through October 22, 2026) -- its most in a 3-game stretch since the 202 from October 2, 2025 through October 17, 2025.
• Player Johnas Brewster has gone 9 straight games making 10 or more tackles, the longest such streak of his career.
• Player Johnas Brewster has gone 8 straight games recording two or more tackles for loss, the longest such streak of his career.
• Player Jayshawn Mitchell has 408 rushing yards over his last 4 games (102.0 a game, September 4, 2026 through September 25, 2026) -- his most in a 4-game stretch on record.
• Player Jayshawn Mitchell has 266 receiving yards over his last 3 games (88.7 a game, September 12, 2026 through September 25, 2026) -- his most in a 3-game stretch on record.
• Player Jeremiah Conwell has 8 touchdown passes over his last 3 games (2.7 a game, September 12, 2026 through September 25, 2026) -- his most in a 3-game stretch on record.
• Player Nehemiah Lopez has gone 5 straight games recording two or more tackles for loss, the longest such streak of his career.
MILESTONE WATCH
Brennan
Jayshawn Mitchell needs 2 rushing touchdowns for 15 (averaging 2.6 a game)
Josiah Tolfree needs 9 tackles for 50 (averaging 10.2 a game)
Johnas Brewster needs 15 tackles for 100 (averaging 17.0 a game)
Jeremiah Conwell needs 2 touchdown passes for 10 (averaging 1.6 a game)
Nehemiah Lopez needs 1 sack for 5 (averaging 0.8 a game)
Win chances are the site's own game projections where one is on file, otherwise the SP Strength Index gap with a small home edge. The realistic range covers 80% of outcomes (10th to 90th percentile).
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 25 game; last updated Sep 30; roster and numbers checked Sep 13.
Click a column heading to sort. MIN hides players below that many attempts.
Top 4 in the district make the playoffs (line under 4th). Ordered by district record, then overall record and district point margin; UIL tiebreakers (head-to-head) are applied by the district, not here. Rank = SP Strength Index place in the classification / in Texas. Proj. = projected district finish and record, playing out each remaining district game by the two teams' ratings. From the 2026 results on file · UIL 6A rankings · player leaders.
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.
Averages use only games with that number on file (sacks/INT 5/8, sacks allowed 5/8 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 51.0/100 (-12 yds/gm vs average)
Rush Offense: grade 94.8/100 (+162 yds/gm vs average)
Pass Defense: grade 92.2/100 (-82 yds/gm vs average)
Rush Defense: grade 98.3/100 (-161 yds/gm vs average)
Unit grades: 0-100 league percentile, adjusted for the opponents faced.
BRE finished 2025 at 10-2. Made the playoffs (2 postseason game(s) on file; exact round/result not available). Notable win: 30-21 over SMITHSON VALLEY (SMITHSON VALLEY finished 94% that season). Toughest loss: 7-13 to LAKE TRAVIS (6-point margin).
"N/A" stands in for a box score that does not have stats entered. A total followed by a count in parentheses covers only the games with that stat on file.
TALKING POINTS (15 storylines)
BRE HAS PERFORMED BEST THIS DATA SET WHEN...
• BRE rushes for 150+ yards (.917), and has won 7 straight when doing so
• BRE averages 7.0+ yards per play (.999), and has won 6 straight when doing so
• BRE averages 8.0+ yards per attempt (.999), and has won 6 straight when doing so
• BRE holds its opponents under 100 rushing yards (.999), and has won 5 straight when doing so
• BRE's offense has exceeded 5.0 YPC in 8 straight games (08/28/2026-10/22/2026), going 7-1 over that stretch.
• BRE's defense has limited opponents to under 5.0 YPC in 8 straight games (08/28/2026-10/22/2026), going 7-1 over that stretch.
• BRE's defense has limited opponents to under 6.0 YPP in 8 straight games (08/28/2026-10/22/2026), going 7-1 over that stretch.
• BRE's defense has limited opponents to under 7.0 YPP in 8 straight games (08/28/2026-10/22/2026), going 7-1 over that stretch.
• BRE's defense has averaged 2.8 points allowed per game over their last 5 games. Their 32-game average is 10.3 points allowed per game. (-73%)
• BRE's offense has averaged 0.3 giveaways per game over their last 3 games. Their 9-game average is 0.9 giveaways per game. (-63%)
• BRE's offense has averaged 67.3 points scored per game over their last 3 games. Their 32-game average is 44.9 points scored per game. (+50%)
• BRE's offense has failed to reach 200 pass yds in 5 straight games (09/19/2026-10/22/2026), going 5-0 over that stretch.
• BRE's offense has averaged 340.0 rush yards per game over their last 3 games. Their 29-game average is 235.8 rush yards per game. (+44%)
• BRE averages 8.0+ yards per carry (BRE's own median) (.999)
• BRE averages 8.3+ yards per play (BRE's own median) (.999)
• BRENNAN has scored 40+ in 7 straight games (9/4/26–10/22/26). It has not reached 8 straight in the last 4 years of games on file (2023-present).
• BRENNAN has held the opponent under 14 in 7 straight games (9/4/26–10/22/26). It has not reached 8 straight in the last 4 years of games on file (2023-present).
• BRENNAN has rushed for 200+ in 8 straight games (8/28/26–10/22/26). Earlier games have no box score on file, so the run may be longer. It has not reached 9 straight in the last 4 years of games on file (2023-present).
• BRENNAN has won by 20+ in 7 straight games (9/4/26–10/22/26). It has not won by 20+ in 8 straight since 9/12/24–11/15/24 (2024).
BRE's defense has averaged 2.8 points allowed per game over their last 5 games. Their 32-game average is 10.3 points allowed per game. (-73%)
BRE's defense has averaged 3.8 YPA over their last 7 games. Their 8-game average is 5.5 YPA. (-31%)
BRE's defense has averaged 121.9 total yards per game over their last 7 games. Their 9-game average is 166.6 total yards per game. (-27%)
BRE's defense has averaged 64.0 pass yards per game over their last 7 games. Their 8-game average is 86.8 pass yards per game. (-26%)
BRE's defense has averaged 67.0 rush yards per game over their last 7 games. Their 9-game average is 89.4 rush yards per game. (-25%)
BRE's defense has averaged 1.4 takeaways per game over their last 5 games. Their 8-game average is 1.8 takeaways per game. (-20%)
(moved to the Appendix, Data Export 1, to keep this section shorter -- the full spreadsheet-paste table is there unchanged)
APPENDIX
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 how strong the number is and how much it sets this team apart from its opponent and the rest of the field, and the top 5 per team are listed. A condition needs at least 8 occurrences to count.
Full Data Exports
Data Export 1 -- TRENDS — TAB-SEPARATED (10 columns)
The program's index across 5 seasons on file -- 19.2 in 2022 to 15.2 in 2026.
These graphs were chosen by the program from this season's most notable numbers. Build your own -- any stat against any other, for any mix of teams, seasons or players, with a JPEG download -- in the Graph Builder.
Report Produced by ScorePirate | Commitment and offer data sourced from 247Sports | GENERATED
10/29/2026 09:21