MoonBall Media
MoonBall Golf
Strokes Gained Calculator
A simpler way to track shot quality, hole by hole.

Current Round

Set the course details, then enter your strokes hole by hole.

How to log a hole

  1. Set the Par and Yards from Tee for the hole (the distance from where you teed off to the pin).
  2. Tap "▶ Log Tee Shot" to start. Stroke 1 is auto-filled (lie is Tee, distance is the hole's yardage).
  3. After each swing, tap "+ Log Stroke". Enter where the ball was before you hit it (the lie and the yards remaining to the pin).
  4. Once the ball is in the hole, tap "Mark Hole Complete". The hole locks and the HOLED badge appears on your last stroke.
→ Number of strokes logged = your score on the hole. Fill in Course Rating, Slope, and Handicap Index to unlock "vs Your Level" SG.
Optional — for "vs Your Level" SG. Without these, you'll see SG vs Tour Pro (the raw benchmark). With them, SG is adjusted to a player of your handicap.

History

All saved rounds. Filter by course or date, click any round to see hole-by-hole and stroke-by-stroke.

Analyze Your Game

Aggregated insights across your saved rounds. Defaults to vs Your Level (handicap-adjusted) when all rounds have Course Rating, Slope, and Handicap Index set — otherwise falls back to vs Tour Pro. Use the filters below to narrow by course or date range.

About / How It Works

A short read on what Strokes Gained means and how to enter a round here.

The mental model — read this first

The single rule of this calculator: each stroke you log records where the ball was before you swung. That is, the lie you played from and the yards (or feet) remaining to the pin at the moment you took that stroke.

The number of strokes you log on a hole equals your score on that hole. The last stroke you log is the one that holed the ball.

Worked example — a par 4, 405 yards, scored a 4:

Stroke 1From Tee, 405 yds remaining → drive lands in fairway
Stroke 2From Fairway, 145 yds remaining → approach lands on green
Stroke 3From Green, 18 ft remaining → first putt rolls to 2 ft
Stroke 4From Green, 2 ft remaining → made (holed)

Four strokes logged = score of 4. Each row is the position you stood in before you took that stroke. After the ball drops in the cup, click Mark Hole Complete to lock the hole and reveal the HOLED badge on your final stroke.

What is Strokes Gained?

Strokes Gained (SG) measures how a stroke stacks up against a benchmark. The default benchmark here is the PGA Tour pro average — drawn directly from Mark Broadie's Every Shot Counts. From any distance and any lie, the table tells you how many strokes a Tour pro would expect to take to hole out. The difference between expected and actual is your strokes gained (or lost) on that stroke.

From the example above: a Tour pro averages 3.0 strokes from 165 yards in the fairway, and 1.5 strokes from 8 feet on the green. Hit a 165-yard approach to 8 feet, you've moved from a 3.0-expected position to a 1.5-expected position in one stroke — you gained 3.0 − 1.5 − 1 = +0.5 strokes.

vs Tour Pro and vs Your Level

vs Tour Pro compares you to a Tour pro. That's a brutal yardstick — even a scratch player will look "negative" most rounds. vs Your Level calibrates against empirical baselines for golfers at your handicap level, drawn from published category-level expected-strokes-lost data. So a +0.5 SG round means you played half a stroke better than a typical golfer of your handicap.

The per-handicap baselines are: scratch loses ~5 strokes/round vs Tour Pro across all categories combined; 10-handicap loses ~14; 15-handicap loses ~22; 20-handicap loses ~26. These are distributed unevenly — a 15-handicap typically loses ~8.5 strokes/round on approach but only ~4.5 on putting. The calculator uses linear interpolation between handicap rows for fractional values, and scales by slope (a 140-slope course expects more strokes lost than a 113).

To compute it, the calculator needs three things from the scorecard for that round:

  • Course Rating (e.g., 71.5) — the par a scratch golfer would shoot from those tees.
  • Slope (e.g., 132) — relative difficulty for a bogey golfer vs a scratch.
  • Handicap Index on the date you played (e.g., 10.4).

From those, it calculates your round's differential and compares it to what a player of your handicap would average. The difference is the total adjustment, which is then distributed across categories — long game gets adjusted more than putting (since the gap between handicaps is wider with longer clubs).

Per-stroke SG values stay vs Tour Pro — only the round and category totals are shown both ways.

If any of Course Rating, Slope, or Handicap Index are blank, only "vs Tour Pro" is available for that round.

The four categories

Every stroke gets sorted into one of four buckets, automatically:

OTTOff the Tee — tee shots on par 4s and par 5s. APPApproach — anything outside ~50 yards (and par-3 tee shots). ARGAround the Green — short-game strokes from 50 yards in (chips, pitches, bunker shots). PUTTPutting — anything from the green.

What this calculator does

Built in: SG vs Tour Pro and vs Your Level, hole-by-hole and stroke-by-stroke entry, explicit hole completion, multi-round history with per-course aggregation, course and date filters, edit and update saved rounds, JSON backup & restore, CSV export for spreadsheet analysis, optional cloud sync across devices.

Still on the roadmap: charts and trend graphs, a more native-feeling experience on phones. While a round is in progress, "vs Your Level" appears as a pro-rated estimate; the value finalizes once you complete all 18 holes.

Methodology source

The expected-strokes lookup tables and the handicap-adjustment framework are taken from Mark Broadie's Every Shot Counts (2014), the foundational reference for the Strokes Gained framework now used across the PGA Tour.

Your data & privacy

By default, your data stays on your device. Everything you enter — rounds, strokes, course history, profile — is stored in your browser's local storage. No analytics, no tracking, no third parties.

Optional cloud sync. If you sign in via the Profile tab, your rounds are also saved to a private database (Supabase) so you can access them across devices. Each user's data is isolated by row-level security — only you can read or modify your own rounds. Sign-in is optional; the calculator works fully without an account.

Use the Profile tab to set your defaults, back up your data to a JSON file, or wipe everything for a fresh start. If you opened this calculator as a downloaded file, export first before updating to a new version — see the Backup & Restore section in Profile for the details.

For the full legal text, see the Privacy Policy and Terms of Service. To request deletion of your cloud-stored data, email support@moonballmedia.com from your account email.

MoonBall Golf · Strokes Gained Calculator · V1.45

Profile

Personal details and defaults that apply across rounds. Stored locally; if you sign in, most fields sync to your account.

Account & Cloud Sync

Optional. Sign in to back up your rounds to the cloud and access them on any device. The calculator works fully without an account — your local data stays local until you sign in.

Google's sign-in screen will mention supabase.co — don't be alarmed, that's our free cloud database where your rounds back up.

or

Enter your email and we'll send you a one-time sign-in link.

Your Details

Personal metadata used to label your rounds. Stays on this device unless you sign in — when signed in, name, handicap, and home course sync to your account so they follow you across devices.

Defaults for New Rounds

These auto-fill the Current Round when you start fresh. You can override any of them per round. Home Course syncs to your account when signed in; Default Tees stays on this device.

Course Library

Saved courses you can quickly apply when starting a new round. Courses are added automatically when you save a complete round (no manual create button — this guarantees every entry has full data). Edit yardages, course rating, slope, or per-hole pars below; delete entries you no longer need.

Backup & Restore

Export a complete snapshot of your data — all saved rounds, the round in the editor, your profile — to a JSON file you can keep safe. Restore it later on this device, on another device, or after a calculator update.

How saved data persists across versions: If you open this calculator from a stable web address (e.g. moonball.tv/sg), your data carries over automatically when the file is updated — same URL, same storage. If you open it as a downloaded file, browsers treat each file path as separate storage, so updating means starting fresh. Always export first before replacing a downloaded file, then import on the new version.

Spreadsheet Export

Export your saved rounds as a CSV file — one row per stroke — that opens cleanly in Excel, Google Sheets, or any spreadsheet app. Useful for building your own pivots, charts, and views beyond what this calculator offers.

What's in the file: every stroke from every saved round, with full context — round date, course, tees, course rating, slope, your handicap, hole number, par, lie, distance to pin, category, SG vs Tour Pro. Round-level totals (vs Tour Pro and vs Your Level) are included on every row for easy pivoting. Note: CSV is for analysis only — restore from the JSON backup, not the CSV.

Privacy, Terms & Deletion

The policies, and the email path if you want your cloud data deleted.

Privacy Policy  ·  Terms of Service

Want your cloud data deleted? Email support@moonballmedia.com from the email address you signed in with, and we'll process the deletion within 30 days. This removes all your cloud-stored rounds and profile from our database. Anything in this browser's local storage stays until you clear it yourself — use Backup & Restore above for a JSON copy first if you want one, or use the Danger Zone below to wipe local data on this device.

Danger Zone

Clearing all saved data wipes everything on your device — saved rounds, the round currently in the editor, your profile details, and any dismissed banners. There is no undo. You'll be asked to confirm twice, including typing DELETE.