Below Par Golf League
BPGL
Log in

Experimental · not official league stats

Advanced Metrics

A sandbox for the 2026 season to see what these stats look like with real numbers. Everything here is built on Strokes Gained vs. the field — for each hole, how many strokes better (or worse) than the group's average you played that night. Positive is good. Min 5 rounds to appear.

The foundation

Strokes Gained — Gross ⛳

Raw skill. Per round, how many strokes you beat the field's raw scores by, hole by hole. Weather and pin positions cancel out because everyone played the same holes the same night. This is the purest 'who actually played best' number.

Showing top 8 of 27.

Strokes Gained — Net 🎯

The handicap-adjusted, fair version: your net vs the field's net. It credits playing above your own number, so it doesn't just reward the lowest handicaps — a high-capper on a heater can top it.

Showing top 8 of 27.

Right now

Rolling Form — Who's Hot 🔥

Your net strokes gained over your last 3 rounds minus your earlier rounds this season. Positive = you're heating up vs your own earlier form; the coldest slide to the bottom. It's change-vs-yourself, so a mid-capper on a run can top a steady low-capper. This is the one board that swings week to week.

Showing top 8 of 27.

Trajectory — Most Improved 📈

The trend line through your whole season: the slope of your net strokes gained, round by round. Positive = steadily climbing all year (the objective 'most improved'); negative = fading. Unlike Rolling Form (a recent snapshot), this reads the full-season direction.

Showing top 8 of 27.

When you play well

Cold Start 🚀

Your strokes gained on hole 1 minus your strokes gained on the rest of the round. Positive = you come out hot with no warm-up. Negative = you need a range session (bottom of this list).

Showing top 8 of 27.

The Closer 🏁

Your strokes gained on the last 3 holes minus your first 6. Positive = you finish rounds strong; negative = you bleed out coming home.

Showing top 8 of 27.

By hole type

Strokes gained split by par — reveals wedge players vs bombers. (Each nine has only ~2 par-3s and ~2 par-5s, so those samples are thin.)

Par 3s

SG on the short holes.

Showing top 5 of 27.

Par 4s

SG on the par-4s (most of the round).

Showing top 5 of 27.

Par 5s

SG on the reachable holes.

Showing top 5 of 27.

Signature & Nemesis Holes 🏷️

Per player: the hole they beat the field on the most (Signature) and the one that beats them (Nemesis) — average strokes gained on that specific hole, min 3 plays. Front nine = holes 1–9, back = 10–18. Profile-page material; listed here to browse.

Putting

Putt Share of Score 🎯

What fraction of your total strokes are putts (round putts ÷ round gross). Higher = putts are a bigger slice of your game. Read it PAIRED with Strokes Gained: a high share alongside strong SG means a good ball-striker with a shaky putter — the greens are the leak. On its own it's confounded (low scorers show a higher share), so treat it as a diagnostic, not a ranking.

Showing top 8 of 27.

The only putting stat we can build — 1-putt/3-putt rate and SG-putting need per-hole putts, and we only record a round total.

Consistency

Steadiest 🎯

How much your hole-by-hole net bounces around (standard deviation of net). Lower = steadier, fewer wild swings. The metronomes rise to the top.

Showing top 8 of 27.

Best Bounce-Back 🔄

After a net bogey or worse, how often you card net par or better on the very next hole. High = you shake off a bad hole instead of compounding it.

Showing top 8 of 27.

Quality Rounds ✅

Share of rounds where your net total lands within 2 of par — you basically played to your number. The 'reliable' stat.

Showing top 8 of 27.

Blowup Rate 💥

Share of holes you card net double-bogey or worse. This is a disaster / tail-risk stat, so the TOP of the list is the most blow-up-prone — lower is better.

Showing top 8 of 27.

One Bad Hole Tax ⛔

How many strokes your single worst hole costs a typical round (vs. dropping it and rescaling). Big = a blowup problem, not a bogey problem. Top = most hurt by one bad hole; lower is better.

Showing top 8 of 27.

Against expectation

xPoints — Points vs Expected 📈

For each match, a win probability from the two players' season Strokes-Gained gap sets your EXPECTED points; this board is your actual points minus that, summed over the season. Positive = banking more than your golf predicts (clutch, or luck); negative = leaving points on the table. Builds right off the SG numbers up top.

Showing top 8 of 25.

Sandbag Coefficient 🤨

The gap between your typical round and your best rounds: median net-to-par minus the average of your best 25%. A big number = you routinely post the same score, then randomly drop a much better round — a ceiling well above your everyday game. Descriptive, not an accusation.

Showing top 8 of 27.

Caveat: small samples this early — both the Sandbag ceiling and xPoints firm up as more weeks land.

Match play & trends

Front-Runner 🏇

Your win% in matches where you GIVE strokes (you're the lower handicap — the favorite). High = you take care of business against players you're supposed to beat, even after spotting them shots.

Showing top 8 of 13.

Upset Artist 🥷

Your win% in matches where you RECEIVE strokes (you're the higher handicap — the underdog by raw skill). High = you punch above your weight and beat better players.

Showing top 8 of 14.

The Vulture 🦅

In your WINS only: how far above the opponent's own season average their net landed that night. Positive = you tend to win when opponents collapse (you feast on their bad days); near zero or negative = your wins are earned against opponents playing their normal game.

Showing top 8 of 17.

Trending Down 📉

Handicap change per week across the season — negative means your number is dropping, i.e. you're improving. Feeds the sandbag conversation; noisy early while handicaps are still settling.

Showing top 8 of 27.

Ratings & luck

The computed tier. Elo is a chess-style rating built match-by-match over 20242026: everyone starts at 1500, beat someone rated above you and you take more of their points, with bigger net-score margins moving the needle further. Luck re-plays this season's real schedule 2,000 times with each player's own shot distribution.

Below Par Elo ♟️

The league's power rating. It only cares who you actually beat and by how much — no handicaps, no averages. Beating a top-rated player as an underdog pays big; grinding wins over lower-rated players barely moves you.

Showing top 8 of 28.

Toughest Schedule 🧗

Average Elo of the opponents you've faced this season, measured at the time you played them. Top = you've been thrown to the wolves; bottom = a friendly draw. Context for every other board.

Showing top 8 of 28.

Luck Index 🎲

Your actual match points minus your average across the season re-simulations. Positive = the points are outrunning the golf (bounces going your way); negative = you've played better than your points show.

Showing top 8 of 27.

Kryptonite Index ☄️

The opponent you lose to for no statistical reason: your actual head-to-head win% against them vs. what the Elo gap says it should be (min 3 decided meetings, career 20242026). Biggest anomalies first.

  • Jon Hazeltine ☄️ Joe Firleywins 0% vs expected 59% (3 games)
  • Matt Smaldon ☄️ Todd Allenwins 0% vs expected 51% (3 games)
  • Pat Beckwith ☄️ Will Cotterwins 0% vs expected 45% (3 games)
  • Todd Allen ☄️ Jeff Sergottwins 0% vs expected 44% (4 games)
  • Joe Hazeltine ☄️ Pat Beckwithwins 0% vs expected 42% (3 games)
  • Keith Pomeroy ☄️ Brandon Allenwins 0% vs expected 40% (3 games)
  • Chad Miller ☄️ Tom Gannonwins 0% vs expected 37% (3 games)
  • Josh Lamb ☄️ Nick Matwijecwins 33% vs expected 69% (3 games)
  • Joe Firley ☄️ Mike Srecawins 0% vs expected 35% (3 games)
  • Eric Kasper ☄️ Todd Allenwins 33% vs expected 67% (3 games)

Team dynamics

We've always shown team points but never a team record. Each week your two-player team plays another team; combined points decide who won the week.

Team Record 🤝

Weekly win-loss from combined points vs the opposing team.

  • 1Matt Smaldon / Joe Hazeltine10-4-1
  • 2Eric Kasper / Joe Firley9-3-3
  • 3Dave Gagnon / Tom Gannon8-4-3
  • 4Jeff Sergott / Josh Lamb8-6-1
  • 5Frank Gentile Jr. / Michael Gentile8-7
  • 6Todd Allen / Jon Hazeltine7-6-2
  • 7Chad Miller / Ryan Bates5-5-5
  • 8Brandon Allen / Matt Sreca7-8
  • 9Pat Beckwith / Kenny Dudeck6-7-2
  • 10Keith Pomeroy / Ben Woodlan5-7-3
  • 11Mike Sreca / Nick Matwijec5-7-3
  • 12Jim Miglin / Chris Brillante6-9
  • 13Shawn Hughes / Frank Acquaviva5-10
  • 14Will Cotter / Jake Lyman4-10-1

The Carry 🦸

Weeks you WON your own match, your partner LOST theirs, and the team still won — you picked up the slack and dragged the team to a W. Counts only clean splits where both partners actually played.

Showing top 8 of 9.

Rescued 🛟

The flip side: weeks you lost your match but your partner won and carried the team to a W. Your partner had your back.

Showing top 8 of 9.

Rivalry heat map 🗺️

Career head-to-head among current members. Read a row as that player vs. everyone: green = they own that opponent, red= they get owned, deeper = a bigger edge over more meetings. The number in each cell is the record (W-L, or W-L-T). It's wide on purpose — this is the desktop version; a phone would get a per-player row instead.

Row player vs. ↓12345678910111213141516171819202122232425262728
1.
E. Kasper
111-92-4
·12-8-217-517-79-11-114-85-40-84-81-36-53-51-05-4-12-03-24-73-31-12-22-1
2.
R. Bates
86-89-9
8-12-2·6-58-913-10-17-7-10-16-66-42-28-5-13-1-12-25-7-11-22-3-11-51-1-14-21-11-41-0
3.
K. Pomeroy
80-93-7
5-175-6·4-94-5-28-66-5-24-6-13-34-63-35-45-23-54-6-14-22-02-23-1-12-01-22-10-10-11-0
4.
S. Hughes
79-87-12
7-179-89-4·8-12-16-6-16-0-13-52-15-3-12-15-7-13-3-23-3-11-80-12-11-2-11-1-12-12-31-0-21-0
11-9-110-13-15-4-212-8-1·6-40-13-40-25-62-26-53-61-16-2-13-11-26-42-23-12-30-30-1
6.
T. Gannon
74-89-7
8-147-7-16-86-6-14-6·6-34-5-11-34-85-33-5-13-25-3-11-33-10-50-12-1-22-11-10-31-01-01-0
7.
4-51-05-6-20-6-11-03-6·3-7-17-10-12-7-14-8-14-34-48-54-14-4-15-43-11-1-12-41-21-11-21-02-2
8.
8-06-66-4-15-34-35-4-17-3-1·5-8-13-23-1-12-5-14-47-45-35-54-12-12-02-4-11-10-21-02-31-0
9.
J. Firley
85-71-7
3-31-22-03-110-7-18-5-1·6-27-7-14-45-212-92-33-6-16-21-12-4-13-52-01-1-10-12-52-10-0-1
10.
8-44-66-43-5-16-58-47-2-12-32-6·6-8-21-54-35-14-31-33-2-11-12-1-12-02-22-01-14-01-0-11-0
11.
C. Miller
70-75-12
3-12-23-31-22-23-58-4-11-3-17-7-18-6-2·2-5-14-56-43-24-44-5-31-4-10-32-2-21-20-22-11-11-01-0
12.
5-65-8-14-57-5-15-65-3-13-45-2-14-45-15-2-1·6-32-32-54-23-1-10-20-11-30-1
13.
T. Allen
65-71-4
5-31-3-12-53-3-26-32-34-44-42-53-45-43-6·6-40-25-53-11-50-2-11-05-02-31-01-2
14.
D. Gagnon
64-72-1
0-12-25-33-3-11-15-84-79-121-54-63-24-6·2-16-33-32-13-21-11-21-11-00-13-1
15.
B. Allen
58-59-5
4-5-17-5-16-4-18-12-6-13-5-11-43-53-23-42-35-22-01-2·3-22-41-10-10-22-1
16.
J. Miglin
55-55-2
0-22-12-41-01-33-14-4-15-56-3-13-14-42-45-53-62-3·5-30-22-10-11-21-03-0
17.
K. Dudeck
41-60-6
2-33-2-10-21-22-11-34-51-42-62-3-15-4-31-33-34-23-5·0-11-20-22-22-00-0-12-20-20-1
18.
J. Sergott
41-29-3
7-45-12-22-1-14-65-01-21-11-3-15-11-22-01-0·0-12-31-01-2-1
19.
3-31-1-11-3-11-1-12-21-01-30-21-11-2-14-1-12-0-12-31-11-22-11-0·4-13-11-20-1
20.
Mike Sreca
31-29-5
1-12-41-21-31-2-21-1-14-2-14-2-10-23-02-00-11-11-01-02-03-2·1-00-31-10-11-1
21.
J. Lamb
30-28-3
0-21-24-21-15-32-22-2-22-12-02-12-21-40-1·0-22-12-1-11-11-0
22.
2-21-12-13-23-21-12-10-20-22-11-00-51-11-20-20-11-32-0·2-01-10-1
23.
W. Cotter
26-14-3
1-24-11-20-1-23-03-03-13-20-12-1-12-13-00-2·1-0
24.
Matt Sreca
14-14-2
1-00-11-00-11-11-1-11-12-00-10-10-0-11-01-11-21-10-1·1-12-1
25.
J. Lyman
14-12-2
1-02-12-01-00-41-21-02-21-01-2-11-01-1·0-0-1
26.
B. Woodlan
12-14-1
0-10-10-15-20-1-11-11-32-01-11-11-2·
27.
0-10-10-12-23-21-20-11-02-10-31-00-10-0-1·0-1
28.
0-10-0-10-10-11-0·

These are experimental stats, still being refined — numbers may change and none of this is official. Got a favorite, or one that should go? Feedback welcome.