Method
Source register and method
What ClubTrace reads, the evidence that it may, and exactly what it does with what it reads.
Coverage today
- Observations
- 907,256
- Normalised References
- 15,600
- Published References
- 217
- Tracked listings, live
- 72,900
- Presumed sales
- 3,996
- Observation days
- 34
- First observation
- 26 August 2026
- Last observation
- 3 November 2026
- Figures published as of
- 3 November 2026
Figures publish a day behind the newest observation when a collection day has not closed yet. A day counts only once every source has been read to the end of its catalogue, so a run still in flight never moves a published figure.
Permitted sources, read daily
| Source | Region | Type | Permission basis | Crawl delay | First observation |
|---|---|---|---|---|---|
| The Golf Club Exchangewww.thegolfclubexchange.com.au | Australia | Fixed-price reseller catalogue | robots.txt 200, Allow: / for User-agent: *; only *?lightbox= excluded and never read | 10 s | 30 September 2026 |
| GolfClubs4Cashwww.golfclubs4cash.co.uk | UK | Fixed-price reseller catalogue | robots.txt 200, Shopify default: Allow: / for User-agent: *; cart, checkout, account and sort/filter URLs excluded and not read | 10 s | 26 August 2026 |
| Golf Partner USAgolfpartnerusa.com | USA | Fixed-price reseller catalogue | robots.txt 200, Shopify default: Allow: / for User-agent: *; cart, checkout and account paths excluded and not read | 10 s | 27 August 2026 |
User agent: ClubTraceBot/0.1 (+https://clubtrace.nanocorp.app). Nothing behind an authentication wall, nothing on a path robots.txt excludes, and no cart or checkout path is ever touched.
Not read
A source that answers an automated request with an anti-bot measure does not qualify, whatever its terms say. These three are asked in writing instead.
GolfBidder — golfbidder.co.uk
robots.txt returns 403 with a block page, to our user agent and a browser one alike
Not read. Partner or affiliate feed requested in writing.
Golf Avenue — golfavenue.com
robots.txt returns 403
Not read. Asked in writing.
Callaway Golf Pre-Owned — callawaygolfpreowned.com
robots.txt returns 429
Not read. Asked in writing.
From a listing to a figure
01
Observation
One dated record of one listing at one price, read once a day. Price is stored in the source's own currency and converted at the European Central Bank daily reference rate for that day, so every figure is reproducible from the CSV.
02
Reference normalisation
A Reference is one model, one year, one category. Specification variants — loft, flex, shaft, dexterity, iron set composition — are pooled inside the Reference and carried on the observation. This is a deliberate deviation from one specification per Reference: pooling is what makes a defensible sample size reachable at all, and the specification of every pooled observation is in the CSV. Club number is kept in the Reference for woods, hybrids and wedges, because a #3 wood and a #7 wood are different products.
03
Deduplication
One listing on one source is one tracked listing, keyed on the source's own product identifier. The same club listed on two sources is two observations, by design: the price difference between them is the geography and channel split.
04
Outlier exclusion
Before any median, values outside Q1 − 1.5 IQR to Q3 + 1.5 IQR are dropped, and the number dropped is printed next to the figure. No z-score screen is applied on top, because resale prices are not normally distributed.
05
Median, never average
Every central figure is a median, with a distribution-free 95% confidence interval from the order statistics. Below n = 6 no interval is defensible and none is shown.
06
Curve fitting
The depreciation curve is a least-squares fit of the log of median price on Reference age in months — a constant monthly discount rate. R² is always printed. The launch proxy is 1 February of the model year, because golf model years open in the northern-hemisphere new year; where a brand publishes a real launch date it replaces the proxy.
07
Presumed sale
A tracked listing that disappears from a source it was previously read on is recorded as a presumed sale, dated to the day it disappeared. It is always named as presumed: a delisting is not a receipt.
Stated limitations
- ClubTrace has no proprietary dataset. Every figure comes from public listings on the sources above, and the register is the whole of it.
- Listing price is an asking price. Where a presumed sale exists, the last observed asking price is the closest thing to a transaction price we hold, and we do not claim it is one.
- Days listed on a live listing is right-censored: it is a floor on days to sell, not days to sell. Days to sell is published only from presumed sales.
- The category depreciation curve is a cross-section on one day, not a cohort followed through time. It measures what References of different ages are worth today, which is not the same as what one Reference did over its life.
- Both current sources are fixed-price reseller catalogues. Reseller pricing is not consumer-to-consumer pricing, and it is not the trade-in price a shop pays.
- Coverage is the United Kingdom and the United States today. A figure is not a world price.
- Every correlation-based indicator carries its own sentence saying so, and none of them is a causal estimate.