thailandgolf

How Trust Score & Korean-friendly are computed

No editorial picks in the organic rank, no opaque algorithms. Below is the exact formula, the data sources, and what we deliberately don't measure.

Last reviewed 2026-05-19 · 639 courses · 180,583 reviews indexed

Trust Score (0–100)

One number per course. Combines four signals so that no single signal can game the ranking.

Trust Score =
(rating ÷ 5) × 50 // rating-weighted
+ min(40, log₁₀(reviews) × 12) // volume, log-scaled so 100 ≠ 10× the impact of 10
+ min(10, (local_guide_ratio) × 20) // Local Guide reviewers more credible
+ min(5, log₁₀(avg_author_review_count) × 2) // reviewer authority

Bounded so the four parts max at 50/40/10/5 = 105 nominal, but in practice top courses hit ~92-95. A new course with 3 reviews and 1 Local Guide caps around 55 — that's correct: not enough evidence to claim "premium".

Every course detail page renders this as four colored bars so you can see which signal carried the score and which dragged it down.

Korean-friendly signal

Auto-computed per course from review text. 86 of 639 courses currently pass the threshold.

korean_score =
topic.korean_caddy × 12
+ phrase "Korean caddy / 한국 캐디" × 15
+ broader "korean / 한국" mention × 8
+ naver_blogs matched × 5
+ ko_review_count × 1
+ sample_ko_reviews × 1.5
+ hangul_reviewer_names × 0.5
Flagged if korean_score ≥ 6 OR explicit Korean-caddy phrase OR matched Naver blog OR Apify topic match.

The bar is high on purpose. Lower thresholds would let tourist-spillover (a single Korean honeymoon reviewer) through and dilute the badge. We'd rather flag fewer courses correctly than many courses optimistically.

Data sources

Google Maps
1,316 places indexed

Public business listings via Apify-managed crawl. Names, addresses, ratings, review counts, categories, opening hours.

Google Reviews (deep)
583 courses deep-analyzed

Apify Google-Maps-Reviews-Scraper pulls full review text + reviewer metadata for the top courses, enabling topic extraction and Korean-friendly signal.

Course websites
~141 courses enriched

Direct fetch of each course's official site. Extracts holes, par, green-fee mentions, email, Facebook, Instagram, LINE, Korean-language indicators.

YouTube reviews
73 courses matched

YouTube search by course name; fuzzy-matched 73 with high-quality video reviews. Embedded VideoObject schema on course pages.

Naver blogs
201 blog posts, 6 course-matched

Korean blogger field reports — broad city queries (방콕 골프, 파타야 골프장, etc.). Course-specific matches surface in coursedetail; the rest power the /guide/korean-golfer-blogs roundup.

Pantip threads
152 Thai community threads

Pantip.com — Thailand's largest forum. Real Thai golfer discussions. Powers /guide/pantip-golf-threads.

Course photos
391 courses with imagery

Google Maps + course websites; 140 hand-scraped from course homepages for hero images. Photo gallery on detail pages.

What we deliberately don't do

  • No editorial "Top 10" lists in the organic rank. All rankings are computed; the only manual lever is whether a course is in the dataset at all.
  • No course removed for negative reviews. If Google indexes a course, we do too. Bad ratings are signal, not embarrassment.
  • No paid removal of competitors.Sponsored slots can boost a course's visibility but cannot delete a competitor from the page.
  • No fake reviews, no LLM-generated reviews. Every review excerpt on this site is verbatim public Google content.
  • No third-party tracking pixels in the listing pages. Vercel Analytics for aggregate traffic only.

Sponsored placement (full transparency)

Courses that buy a slot via /for-courses receive one of three badges:

Editor's Pick
Gold badge. Top of category & province pages.
Recommended
Blue badge. Mid-page sponsored.
Featured
Purple badge. Lightweight visibility boost.

Organic Trust Score ranking is unaffected. Sponsored slots are limited per page (max 3) so they don't overwhelm the data.

Frequently asked

Why don't you just use Google's rating?

A 5.0 rating from 3 reviews is statistically meaningless next to a 4.7 from 3,000. Trust Score combines the rating with review volume on a log scale, plus Local Guide reviewer ratio (more credible reviewers) and average reviewer authority (how many reviews each reviewer has written) — so a course can't game it with a few burst reviews.

Do courses pay to appear higher on this site?

No — organic Trust Score ranking is never changed by payment. Editor's Pick, Recommended, and Featured slots exist but are clearly badged with their own color and label. They appear alongside organic results, never replace them. Sponsored placements are limited to 1-3 per page so they don't drown the data.

How fresh is this data?

Master dataset rebuilds when new Google reviews are pulled (roughly weekly). The Korean-friendly auto-labeling re-runs on every rebuild so new caddy mentions or Naver blog hits promote a course automatically. There's no manual gatekeeping.

Can I see the raw numbers behind a Trust Score?

Yes — every course detail page shows the 4 breakdown bars (Rating, Volume, Local Guide, Authority) that add to the total. The /llms-full.txt endpoint provides the entire dataset as plain text for LLMs and researchers.

Why is is_korean_friendly only ~86 courses out of 639?

We deliberately set a high signal bar so the flag means something. A course needs (a) explicit 'Korean caddy' mention in any review, OR (b) a topic-extracted korean_caddy signal, OR (c) a matched Naver blog post, OR (d) korean_score ≥ 6 from combined ko-reviewer volume + Hangul reviewer names. Lower thresholds would dilute the brand promise and let tourist-spillover courses through.

What do you deliberately NOT measure?

Course architecture rating, pro-tour pedigree, exclusivity, dress-code strictness, member-only status. Those are subjective or available elsewhere. We focus on signals that predict 'will my visit be OK?' — caddy quality, course conditions, language support, and the volume of corroborating evidence.

Spotted an error or want to suggest a signal we should add? Email [email protected].