
A transparent breakdown of how we built the blended ranking — from raw data to final score.
Customer feedback (Google + Tripadvisor + sentiment) is noisy: review counts vary 10x across courses, resort umbrellas distort individual courses, and some clubs have no public listings at all. The SA Top 100 expert ranking provides a stable anchor that reflects course quality. Blending the two smooths out feedback noise while still letting customer experience pull a course up or down.
Linear from rank 1 → 10.0 down to rank 100 → 7.0. (Floor isn't 0 because being top-100 is itself a quality signal.)
Star rating × 2, Bayesian-shrunk (prior weight m=100) toward the all-courses mean.
Star rating × 2, Bayesian-shrunk (prior weight m=50).
Qualitative 1-10 from 2-5 recent review snippets.
40%
Expert Rank
anchors the ranking, smooths kinks
30%
20%
Tripadvisor
10%
Sentiment
Expert weight is always 40%. If a customer-feedback source is missing for a course, its weight is redistributed proportionally across the remaining customer sources, so the customer block always sums to 60%.
Example: Google missing → TA scaled from 20% to 40%, Sentiment from 10% to 20%.
Imagine two restaurants. One has a perfect 5-star rating from a single review. The other has 4.5 stars from 2,000 reviews. Which would you actually trust more? Probably the 4.5 — because one review barely tells you anything, while 2,000 reviews are hard to fake.
If we took star ratings at face value, a brand-new course with one glowing review would beat a famous course with thousands of reviews averaging slightly lower. That's clearly wrong — the single rating just hasn't been tested enough.
Bayesian shrinkage pulls every rating partway toward the average of all courses. How much it gets pulled depends on how many reviews back it up: few reviews → pulled a lot toward the average (we don't trust it yet). Many reviews → barely pulled (we trust what we see).
Shrunk = (v / (v + m)) × R + (m / (v + m)) × C