Measured on a public benchmark

How accurate is AnchorStance?

We measured our production pipeline against GolfDB, a public dataset of real golf swings with every key position marked frame-by-frame by independent annotators, using the same strict metric academic systems report. Here are the numbers, and exactly how we got them.

91.4%

Face-on key positions on time

210 real swings, all 8 positions, GolfDB tolerance

96.1%

Impact within ±1 frame

Face-on strict tolerance, the moment that matters most

77.4%

Down-the-line key positions

277 swings, the harder camera angle, reported anyway

95.9%

Of clips analyzed

The rest screened out with a specific reason, never silently

Above the published research baseline

Face-on key-position detection under GolfDB’s unmodified strict metric, with identical scoring for both systems.

AnchorStance (production pipeline)79.2%
SwingNet (GolfDB paper baseline)76.1%

SwingNet is the detector published with the GolfDB dataset (McNally et al., 2019); 76.1% is its reported score on the dataset’s full test split.

Accuracy by timing tolerance

Face-on, all 8 positions. One frame at 30fps is 33 ms, and most detections land within a single frame of the human annotation.

Within 100 ms (3 frames)85.8%
Within benchmark tolerance91.4%
Within 333 ms (10 frames)97.4%

Every position, measured

Face-on results for each of the 8 detected swing positions across 205 analyzed swings, including the ones that are hardest to pin down.

Swing positionOn timeMedian timing error
Address 89.3%50 ms
Takeaway96.6%17 ms
Mid-backswing95.1%0 ms
Top85.4%17 ms
Mid-downswing94.6%33 ms
Impact96.1%17 ms
Follow-through94.1%17 ms
Finish 80.0%117 ms

† Address and finish are scored at ±250 ms: the GolfDB paper notes these two moments are subjective even between human annotators. All other positions use the strict ~±1-frame tolerance. Down-the-line swings score 76.7% overall under the same rules, a harder camera angle we publish anyway and keep improving.

How we measured it

Accuracy claims are easy to make and hard to check, so here is the full recipe. Evaluated September 2026. We re-run the benchmark as the pipeline evolves.

A public, independently annotated benchmark

We evaluate against GolfDB (McNally et al., CVPR Workshops 2019), a public research dataset of real golf swings in which humans marked the exact frame of all 8 swing positions. The ground truth was created by independent annotators for academic research, not by us.

487 human-verified swings, mirroring real app input

The benchmark covers 210 face-on and 277 down-the-line swings at 30 and 60 fps, each clip trimmed to the swing the way the app trims your uploads (~5 seconds), with every trim verified frame-exactly by hand. All clips are normal-speed phone-style footage, the same kind of video the app is built for.

The exact pipeline customers run

Results come from the production analysis pipeline in its shipping configuration: no evaluation-only tuning, no cherry-picked model. When the pipeline can’t verify a clip (for example the ball isn’t clearly visible at address), it says so and screens the clip out rather than returning a confident-but-wrong analysis. That happened on 20 of 487 clips, each with an actionable reason, mostly triggered by broadcast-TV artifacts like on-screen graphics that phone recordings don’t have.

A strict, published metric

A position counts as correct only within GolfDB’s tolerance, roughly ±1 frame for in-swing positions. Address and finish are scored at ±250 ms because the GolfDB authors themselves note those two moments are subjective even for human annotators (when exactly a setup “starts” spans a fraction of a second). The comparison against SwingNet uses the unmodified paper metric for both systems.

Key-position timing is the foundation every downstream number is built on. A metric measured at the wrong frame is a wrong metric. It isn’t the whole story: individual swing metrics are also labelled measured or estimated in the app, so you always know how much to trust a number.

Measure your own swing against tour ranges.

The same pipeline we benchmark is the one that analyzes your swing.