Member-Member Historical Track Record — Findings (2021–2025)
Built 2026-06-09. Sources: 2021/2022/2023 JPEGs, 2024 PDF (Flight results_MM2024.pdf),
and the pre-extracted results_2025.csv. Outputs:
data/raw/history/results_2021.csv…results_2025.csv(per year)data/raw/history/results_all.csv(unified long table, 466 rows)analysis/history/player_track_record.csv(300 surname-players)analysis/history/team_2026_track_record.csv(120 current teams + score)
1. Per-year extraction notes
| Year | Source | Flights | Format | Confidence |
|---|---|---|---|---|
| 2021 | JPEG (table + photos) | 15 (6 teams each) | "Team" col is pairing order (e.g. 1-1), finish = Total points | Good; several low-res cells re-cropped & verified |
| 2022 | JPEG | 15 | M1/M2/M3/Day1/M4/M5/Day2/Total; finish by Total | Good |
| 2023 | JPEG | 15 | same as 2022 | Good |
| 2024 | PDF, 3 pages | 18 (6 each) | Pos. explicit, R1–R5 + Points; ties shown T1/T5 | High (rendered 400 dpi) |
| 2025 | pre-extracted | 15 | year,flight,pos,team,points | given |
Position convention. For 2021–2023 the printed row order is the pairing/seed order, NOT the
finish. pos was derived by ranking the Total column descending within each flight (ties share
the better position, next skipped — matching 2025 and the 2024 PDF T1/T5 style). 2024 and 2025
carry an explicit finish position.
Field size grew: 15 flights x 6 = 90 teams in 2021–2023 and 2025; 18 flights (108 teams) in 2024. Flight numbering runs low = strongest (lowest handicap). Because field size/flight count differ by year, the player table normalizes finish to finish percentile = (field − pos + 1)/field × 100, so a win ~100 regardless of year.
2025 anomaly (resolved): Vaniman + Leingang and Pilger + Bhatia each appeared in BOTH
flight 2 and flight 15 of results_2025.csv. No other year duplicates either team. Vaniman +
Leingang are a high-handicap pairing (flight 19 in 2026), so a flight-2 (lowest handicap)
placement is implausible; the flight-15 rows are genuine. The two flight-2 rows are dropped when
building results_all.csv (logged: "2 anomaly rows dropped"). The per-year results_2025.csv was
left untouched (input, not ours to edit).
Low-confidence / flagged transcriptions (re-cropped and double-checked; residual risk noted):
- 2021 fl3: Lennon + Lennon 15.5 and Kulik + Kulik 26.5 (initially mis-read 25/19; corrected
on tight crop). 2021 fl3-5 = Pearson + Walsey (won, 31.5).
- 2021 fl14: row1 Fetter + Truitt 22.0, row2 Perry + Mattice 28.5 (different Perry/Fetter
pairings than later years).
- 2024 fl17 row2 McDaniel + Granger = 30.0 (one early read said 27.5; 30.0 confirmed on zoom).
- 2024: DNF'd round 5 ("11:30 AM, Hole 9/5", 0.00 pts): Kraemer+Kraemer, Whaley+Yancey (fl11),
Seeley+Fought, Mangine+Hall (fl15). Totals real but depressed by the missing round.
- Spellings kept as printed: Muenchen+Muenchen (2024), Forbidussi, Coirini, Goerlich.
Nothing was illegible enough to require a blank/guess; everything in the CSVs was read.
2. Biggest caveat — surname collisions
Historical sheets give surnames only. The player track record keys on surname and pools everyone who shares it. In the 2026 field alone, 21 surnames map to ≥2 distinct people, including high-value names:
- Wright -> Adam Wright (2026 fl5, w/ Copeland) vs Kyle Wright. Historical "Wright" pools Copeland's partner AND Wright+Estes (2024 fl7) AND Wright+Stroman/Goodrick.
- Smith -> Don vs Matt Smith (history pools Florak/Rhea/Saccone partners).
- Doyle -> Matthew (Oberholtzer's partner) vs Mason (Higdon's partner).
- Also: Brown, Perry, Benson, Bhatia, Green, Leprohon, Pilger, Shirley, Taylor, Vaniman, Walsey, Jaillet, Hatz, Rosenthal, Seeley, Tear, Fought, McLaughlin.
team_2026_track_record.csv has a name_ambiguous column listing any ambiguous surname on a 2026
team. Treat those teams' scores as an upper bound. Pairs with stable partner names across years
(Stafford+Rekenthaler, Barbaree+Williford, Downey+Shearer, Bachstein+Hancock, Ballard+Armstrong)
are high-confidence.
3. Consistent OVERPERFORMERS (results-based ability signal)
Ranked by flight wins, then top-2, then avg finish pos (5-yr window). "Move" = first-year flight number minus last-year; positive = climbed to a stronger (lower-numbered) flight = under-rated / sandbag signal.
Tier 1 — repeat winners climbing into tougher flights (BUY / sandbagger signals): - Perry+Dye (Ryan Perry / Wes Dye, 2026 fl1): Perry 3 wins / 5 T2 over 5 yrs; pair won fl1 in 2021, 2024, 2025; promoted fl7->fl1. Caveat: "Perry" ambiguous; the Dye+Perry pair is genuine. - Walsey (Dustin, fl2 2026): climbed fl3->fl1, won fl1 2023/2024/2025 (Kulik+Walsey). - Bachstein + Hancock (fl5): together 5 straight yrs, avg pos 1.6, fl1 in 2023. Clean names, high confidence. Under-rated overperformer. - Copeland (+Wright) (fl5): won fl4 2021 & 2024, won fl5 2025, fl4 2nd 2022 — avg pos 1.75. Corroborates sandbagger intel. - Levin+Oxman (note: 2026 David Levin partners Leaf, not Oxman): pair won fl4-6 thrice (2021–2024), avg pos 1.75 — only partial transfer to 2026. - LeProhon+LeProhon (Billy/Scott, fl5): pooled = 4 wins / 6 T2 but conflates brothers (2022 fl9 2nd, 2023 fl8 win, 2024 fl11 win). Strong family; per-person split ambiguous.
Tier 2 — proven, stable-flight winners: - Downey + Shearer (fl2): together 5 yrs, fl2 throughout, won 2022 & 2025, 2nd 2021/2023. High-confidence buy at par. - Hartz + Fann (fl2): 4 yrs, fl3-4, 2 wins, slight climb. - Pokorny + Huban (not a 2026 pair): 5 yrs, 2 wins (fl7), avg pos 2.4. - Ballard + Armstrong (fl20): 5 yrs in fl15/18 (weak handicap flights), 2 wins incl. highest score in all of 2025 (34.5). Wins reliably but small pot. Clean names. - Barbaree + Williford (fl8): won fl9 2022 & 2024 (32.0 both), 3rd 2021 — then last in fl7 2025 (18.0) after a move up. See intel.
Chronic UNDERPERFORMERS / fades: - Stafford + Rekenthaler (fl7): 5 yrs, 0 wins, avg pos 4.2, finish pct 47; only cash = 2025 2nd. Results say fade; intel says buy (genuine disagreement — see §5). - Smith (Don/Matt pooled): 0 wins/5 yrs, avg pos 3.7. - Gallagher (fl9 w/ Hansell): 4 yrs, 1 win, avg pos 4.0. Matches "fade Gallagher+Hansell." - Higdon (fl14 w/ Doyle): 1 appearance, last (fl12 2025). No record.
4. 2026 teams with strongest track records (results-based BUY list)
From team_2026_track_record.csv (top combined track_record_score; * = name_ambiguous):
| Rank | 2026 Team | Flt | Score | W/T2 | Note |
|---|---|---|---|---|---|
| 1 | Leprohon + Leprohon | 5 | 18.7 | 8/12 | * pooled brothers — split unclear |
| 2 | Wilson + Slavis | 16 | 16.3 | 4/6 | * Wilson; Wilson+Slavis was a real 2022/2025 pair |
| 3 | Wright + Copeland | 5 | 15.8 | 4/7 | * Wright; Copeland half is the real sandbag signal |
| 4 | Brown + Brown | 3 | 15.5 | 0/8 | ** heavily pooled (4 Browns) — discount hard |
| 5 | Perry + Dye | 1 | 14.7 | 5/8 | * Perry; Dye+Perry fl1 dynasty is genuine |
| 6 | Oberholtzer + Doyle | 9 | 14.5 | 4/6 | * Doyle; won fl9 2025 (intel = FADE on price) |
| 7 | Shirley + Aronson | 10 | 13.7 | 2/7 | * Shirley pooled |
| 8 | Ballard + Armstrong | 20 | 12.9 | 4/6 | clean names, smallest pot |
| 11 | Downey + Shearer | 2 | 12.6 | 4/8 | clean names, very consistent — best confidence/value |
| 12 | Hancock + Bachstein | 5 | 12.5 | 3/9 | clean names, 9 top-2s in 5 yrs — strong |
| — | Knapp + Keister | 6 | 11.1 | 4/4 | both halves won recently |
| — | Panessa + Ratliff | 13 | 10.8 | 4/4 | * — won fl11 2023 |
Cleanest high-confidence results buys (unambiguous names + repeat top-2): Downey + Shearer (fl2) and Hancock/Bachstein (fl5); then Ballard + Armstrong (fl20) and Knapp + Keister (fl6). The brothers/duplicate-surname teams (Leprohon, Brown+Brown, Green+Green, Walsey+Walsey) score high but carry pooling risk.
5. Cross-reference vs manual intel & the model
| Intel claim | Results say | Verdict |
|---|---|---|
| Williford strong sandbagger -> BUY | Barbaree+Williford WON fl9 2022 & 2024 (32 both); last in fl7 2025. | Corroborated as proven ability; 2025 collapse adds caution (may have been re-rated). |
| Copeland sandbagger, hothead -> BUY w/ caveat | Wright+Copeland won fl4 2021 & 2024, fl5 2025; avg pos 1.75. | Corroborated — consistent winner across changing flights. |
| Rekenthaler+Stafford proven, 2nd fl6 2025 -> BUY | 5 yrs, 0 wins, avg pos 4.2; only cash 2025 2nd. | Partially CONTRADICTED. Multi-year record below average. Results lean FADE; intel BUY. Coin-flip, not a lock. |
| Goodloe won "the whole thing ~2 yrs ago" -> proven (small pot) | Milhous+Goodloe WON fl10 2021 & fl12 2022; middling since (28/23/28). | Corroborated as flight winner (w/ Milhous, not 2026 partner Santivanez). Recent form only middling. |
| The Doyles -> AVOID both | Oberholtzer+Doyle won fl9 2025, avg pos 2.2 (good). Higdon+Doyle: Higdon last in only appearance. | Corroborated as a PRICE call. Oberholtzer+Doyle genuinely good; Higdon+Doyle easy avoid. Two different Doyles (Matthew vs Mason). |
| Matt Smith (Smith+Warden fl15) hot | "Smith" pooled: 0 wins, avg pos 3.7; can't isolate Matt. | Not corroborated (and not contradicted — pooling hides him). Trust the human read; data silent. |
| Gallagher+Hansell -> fade; take Wood+Estes | Gallagher 1 win/4 yrs, avg pos 4.0. Wood+Estes won fl7 2025 (Estes also fl7 2024). | Corroborated. |
| 2025 validation winners (Wood+Estes, Downey+Shearer, Gelinas+Chafin, Wright+Copeland, Armstrong+Ballard) | All confirmed in results_all.csv. | All corroborated. |
Where results AGREE with model + intel: Downey+Shearer, Bachstein/Hancock, Ballard+Armstrong, Wood+Estes, Copeland.
Where results DISAGREE / add nuance: 1. Rekenthaler+Stafford — intel BUY vs 5-yr record (0 wins, avg pos 4.2) FADE; the model also fades (−$158). Results side with the model against the human intel. Low-confidence flier. 2. Williford — proven winner (intel right) but 2025 last-place hints the handicap caught up; don't pay full "flight favorite" price blind. 3. Oberholtzer+Doyle — genuinely good (won fl9 2025), so the "avoid" is a price judgment, not ability. If the price isn't actually inflated, they're a real team. 4. Surname pooling inflates several headline scores (Brown+Brown, Leprohon, Wright). The full-name GHIN model is MORE reliable than surname-only history for those teams.
Method notes / assumptions
- track_record_score = Σ over a player's results of weight × (finish_pct + win_bonus)/100, where recent years (2024–2025) weight 2×, older 1×; win_bonus = 25 for a win, 10 for top-2. Team score = sum of both players' scores (credits two strong individuals even if never partnered). It rewards volume of strong finishes, so 5-yr veterans outrank one-hit wonders — read alongside avg finish pos / win count, not in isolation.
- Finish percentile normalizes across 15- vs 18-flight years.
- Ties: shared position (T1/T5) per source convention.
- Scripts: analysis/history/_build_year_csvs.py and analysis/history/_build_analysis.py. Re-runnable.