pga_player_seasons <- read_csv("https://bcdanl.github.io/data/pga_player_seasons.csv")Golf
PGA TOUR performance explorer
Explore player-season statistics and compare golf performance measures.
Loading the explorer…
Data
On-page tables preview a sample of rows. Download the files to analyze the complete datasets.
Updated October 6, 2026. Each main download contains previous and current records together, at a consistent unit of observation:
pga_player_seasons: One player-season, with official PGA TOUR statistics for 2022–2026.pga_tournament_history: One player-tournament, with comparable tournament scores from earlier events through October 4, 2026, plus available original 2022 tournament measures.golf_world_rank_history: One player-ranking snapshot, combining the original June 2022 rankings, official published snapshots for 2022–2025, and the October 4, 2026 rankings.
The 2026 PGA season is partial. Season averages and player-tournament records stay in separate files because their denominators differ.
PGA TOUR player seasons (pga_player_seasons)
1,198 player-season records. Historical years were collected from the official PGA TOUR statistics using the same statistic definitions as the current year. Each field has its own qualification rules; a blank means that the player is absent from that statistic’s table.
| Variable | Definition and unit |
|---|---|
season, player_id, playerName, country |
Tour season, PGA TOUR player identifier, player name, and represented country |
avgDriveDist |
Average drive distance in yards, measured on the tour’s selected holes |
drivePct, onePuttPct |
Driving accuracy and one-putt percentage, on a 0–100 scale |
avgPuttsPerRound |
Average putts per round |
avgScore |
Adjusted scoring average, in strokes per round |
Money |
Official earnings in US dollars |
Points |
2026 FedExCup points; historical values have mixed units (see note below) |
driveSG, puttsSG, sg_app, sg_arg, sg_t2g, sg_total |
Per-round strokes gained off the tee, putting, approach, around the green, tee to green, and total |
season_status |
Complete historical season or partial current season |
Positive strokes gained indicates better performance than the statistical baseline. Each season uses its own field and baseline, so changes in opponents and schedule can affect comparisons.
Most 2026 statistics extend through the Bank of Utah Championship on October 4. The current Points table extends through the BMW Championship on August 23. Historical statistics use their published season-end tables, with statistic-specific dates. Before 2024, the PGA TOUR season could include events in the preceding calendar year; a tour season is not always a calendar year.
Historical Points values mix TOUR Championship scores relative to par and points from the published standings. For example, Scottie Scheffler’s 2024 value of -30 is his TOUR Championship score, rather than a points total. Do not compare this column across seasons or use the historical values as a common points measure. The 2026 values are FedExCup points through August 23; the explorer omits Points from every season.
PGA TOUR tournament history (pga_tournament_history)
28,512 player-tournament records. The 2022–2025 calendar schedules include completed individual stroke-play events from ESPN leaderboards. The latest year extends through October 4, 2026. Fall 2021 events from the original 2022 tour-season archive are also retained. The 2021 coverage is a selected historical sample.
pga_tournament_history <- read_csv("https://bcdanl.github.io/data/pga_tournament_history.csv")| Variable | Definition |
|---|---|
season |
Calendar year of the tournament’s end date |
tournament_id, espn_player_id |
ESPN event and player identifiers; together they identify a row |
tournament, start_date, end_date |
Event name and dates |
player, country |
Player name and represented country |
round_1_strokes–round_4_strokes |
Strokes taken in each available scheduled round |
total_strokes, rounds_played |
Total scheduled-round strokes and number of scored rounds |
score_relative_to_par |
Published leaderboard score relative to par |
leaderboard_order |
ESPN display order, which is not a tie-adjusted finish rank |
source, source_url, retrieved_date, season_status |
Source, retrieval date, and coverage context |
The common score variables have the same units across years. Totals exclude sudden-death playoff holes. A smaller rounds_played can indicate a cut, a withdrawal, or a shortened tournament; it does not by itself identify a missed cut. Leaderboard scores can include starting-stroke adjustments in older TOUR Championship formats. Team events, match play, and the Stableford-scored Barracuda Championship are excluded. ESPN’s PGA schedule includes affiliated Q-School and invitational events; filter by tournament when defining the project sample.
The original 2022 archive’s tournament statistics are attached to the matching player-event records. legacy_tour_season preserves its original tour-season label. For example, an October 2021 event has calendar season = 2021 and legacy_tour_season = 2022. Optional historical fields include course, hole_par, made_cut, no_cut, legacy_finish_position, legacy_finish_display, legacy_purse_millions, strokes gained (sg_ott, sg_putt, sg_app, sg_arg, sg_t2g, sg_total), and fantasy-point components ending in _DKP, _FDP, or _SDP.
hole_par is the sum of par across the player’s tournament holes. total_strokes counts all tournament strokes. These are tournament totals, so they cannot support a hole-by-hole birdie analysis. legacy_purse_millions is the event purse in millions of US dollars. Strokes-gained and fantasy fields are blank for newer years when no compatible free source exists. Season averages are never inserted into tournament rows.
One original Si Woo Kim/CJ Cup row was duplicated with conflicting advanced statistics. The common ESPN score is retained once, and the conflicting optional historical metrics are blank. Optional archive fields are also blank when its score conflicts with ESPN’s published round totals, including withdrawals and incompletely recorded rounds. Zero-stroke placeholder rounds are excluded; rounds_played can include a partially played withdrawal round.
The original average-stat table was omitted from the project downloads because some player-tournament labels contain conflicting duplicates, including apparent U.S. Open statistics labeled as RBC Canadian Open. Comparable historical player-season statistics were collected from PGA TOUR instead. The original table remains preserved as an archive.
World-ranking history (golf_world_rank_history)
5,290 player-snapshot records, with the previous and current rankings in one file.
golf_world_rank_history <- read_csv("https://bcdanl.github.io/data/golf_world_rank_history.csv")world_rank is the Official World Golf Ranking; lower is better. snapshot identifies the ranking release. The original June 2022 file did not record an exact day, so ranking_month = "2022-06" and ranking_date is blank. Official historical snapshots have their source’s exact published date in ranking_date and its caption in source_as_of; the 2023 source snapshot is dated January 1, 2024. The current snapshot has ranking_date = "2026-10-04". Tied ranks are retained. Points columns are blank in the original June snapshot because it contained only ranks.
Historical and current player_id comes directly from the PGA TOUR’s published OWGR table. The original June 2022 file only had abbreviated names. Its player_id stays blank, and each record retains an initial: key. identity_status distinguishes unresolved original names from the official player identifiers. The full-name official snapshots can support player comparisons without guessing the identity behind an abbreviation.
For the current ranking, player_id joins to pga_player_seasons. ESPN’s espn_player_id is a different identifier and must not be joined directly to PGA TOUR IDs. Filter a ranking to a snapshot relevant to the tournament date. A later ranking used to predict an earlier tournament would use information from the future.
Project questions
- How did driving, putting, and adjusted scoring change for the same golfers across 2022–2026?
- Which season statistics are most associated with earnings, after accounting for the partial 2026 season?
- How do tournament scores and consistency vary across years, players, and courses?
- How did world rank change across the dated official snapshots for the same players?
- Within the original 2022 tournament sample, how do strokes gained and fantasy scoring relate to finish position?
The original files remain available as source archives. The combined downloads above contain the historical and current records needed for comparisons across years.
