Skip to main content
TLI.

Methodology · v1.0

How the Thailand Livability Index is built

The Thailand Livability Index (TLI) is a 0–100 score for all 77 Thai provinces, built from 30 scored across 7 independent . Each province's composite is the of its 7 category scores. The geometric mean is chosen so a single category at zero the composite at zero, preventing strong categories from masking weak ones.

AS OF 5 MAY 2026 v1.0 · LOCKED CC BY-NC 4.0

How is the score calculated?

Each TLI indicator is min-max to a 0–100 score against fixed methodology (HDI precedent, UNDP 2020), not against the distribution of Thai provinces. Normalizing against goalposts rather than the distribution makes TLI an absolute score rather than a . Indicator scores within a category are averaged with optional weights (0.5–1.0) to produce the category score. The seven category scores are then combined via geometric mean to produce the province's 0–100 composite.

Worked example

Take a hypothetical province with these seven category scores:

  • 80 Environment & Climate
  • 60 Healthcare
  • 40 Connectivity & Transport
  • 70 Cost & Economy
  • 90 Safety & Governance
  • 50 Lifestyle & Culture
  • 65 Demographics & Scale

The arithmetic mean (the simple average) is the sum divided by seven:

(80 + 60 + 40 + 70 + 90 + 50 + 65) ÷ 7 = 65 of 100

The geometric mean multiplies the seven scores and takes the seventh root:

(80 × 60 × 40 × 70 × 90 × 50 × 65)1/762 of 100

The three-point gap looks small on this one province, and on this one province it is. The shape of the difference is what matters. The arithmetic mean treats the 90 in Safety & Governance as full compensation for the 40 in Connectivity & Transport: a strong category cancels a weak one. The geometric mean does not allow that trade. It is mathematically dragged toward the weakest score, so the 40 in Connectivity & Transport pulls the composite down even though five of the seven categories score 60 or higher.

The gap widens as the weakest category falls. If the 40 in our example were a 20 instead, the arithmetic mean would drop only six points (to 59), but the geometric mean would drop ten points (to about 52). And if any category truly scored 0, the arithmetic mean would still average to 51, while the geometric mean would floor the composite at 0. That last case is the one livability indices have to get right. A province with one category at 0 has a real, named gap. Showing it as 51 would be dishonest. The geometric mean is the form that refuses to substitute strength for weakness.

Why a geometric mean instead of a simple average?

A simple (arithmetic) mean lets strong categories compensate for weak ones, so a province with excellent healthcare and dangerous air pollution averages out to "fine." That is not how livability works. The geometric mean encodes the substantive judgment that categories are not substitutable: an exceptionally clean environment does not make up for an absent healthcare system; an excellent transit network does not undo dangerous streets. If any single category truly scores zero, the composite floors at zero, and the province is honestly flagged rather than averaged into the middle of the pack.

What's the difference between TLI scores and a percentile ranking?

TLI scores are normalized against fixed methodology goalposts, not against the distribution of Thai provinces. A province scoring 60 on an indicator means it sits at the "good" benchmark, not that it scored better than 60% of other provinces. This is a deliberate choice: it keeps scores year-over-year comparable, so a 2026 score of 72 means the same thing as a 2030 score of 72 even if the underlying distribution shifts. The trade-off is that multiple provinces can share the score-100 ceiling when they all meet or exceed the upper goalpost (and likewise share the score-0 floor at the lower goalpost). Tied provinces are not separated further. Each indicator page shows the count of tied leaders alongside the goalpost values.

How goalposts are chosen

Goalposts anchor the 0-to-100 indicator score. A score of 100 corresponds to a fixed best value; a score of 0 to a fixed worst value; the score linearly between (with two parabolic exceptions noted below). Three anchoring approaches appear across the indicator set, and the choice is documented per indicator.

The first approach is the international standard: the goalpost is a published reference value from a body whose definition is the canonical answer to the question the indicator measures. World Health Organization (WHO) 2021 air-quality guidelines anchor the PM2.5 floor; the WHO and United Nations Children's Fund Joint Monitoring Programme (UNICEF JMP) service ladder anchors the piped-water indicator. Where an international standard exists and is well-defined for a Thai provincial context, it is used.

The second approach is the fit to the observed Thai provincial distribution. Where no international standard applies (gross provincial product per capita, road-traffic deaths per 100,000 residents, internet speeds), goalposts are calibrated to the empirical Thai range so that the scoring band spreads provinces meaningfully across the 0-to-100 axis. The fit is data-validated against the most recent published source and is documented in the per-indicator pages.

The third approach is methodological: a small number of goalposts are anchored not to data or international convention but to the composite architecture itself. The hospital-beds floor was softened during v1.0 development because the prior floor pinned a single province at composite zero, implying an absolute unlivable verdict the v1.0 framing constraint forbids. The Bank of Thailand inflation target window anchors the provincial CPI band.

When goalposts are re-fit

Goalposts are re-fit when the observed distribution drifts so far that scoring loses discrimination, when a source switch shifts the headline distribution, or when a methodological constraint requires it. The per-indicator pages cite the most recent re-fit and its rationale.

Why provinces clip at 0 and 100

A score-100 ceiling is shared by every province whose raw value meets or exceeds the upper goalpost; a score-0 floor is shared by every province at or below the lower goalpost. Clipping is the trade-off for fixed, year-over-year comparable scoring. Within-tier discrimination is sacrificed at the extremes in exchange for a stable scoring frame that survives source updates. Each indicator page reports its live clipping count.

Two parabolic exceptions

Population density and rainfall days per year are scored on a parabolic curve, not a monotonic line. For both, a mid-range value is best: too sparse limits amenity access and too dense imposes urban claustrophobia; too few rainy days indicates drought stress and too many indicates rain-saturated discomfort. Each carries four numeric anchors: two floors at the extremes and two ideal-band edges in the middle. The per-indicator pages render the plateau range and the floor thresholds explicitly.

Goalpost table

The table below lists every scored indicator with its goalpost band, scoring direction, and anchor approach. Click any indicator name to read the full rationale on its own page. Scroll within the table to view all 31 indicators.

Indicator Category Score 100 Score 0 Direction Anchor
Annual Count of Days Exceeding WHO Daily PM2.5 Guideline days/yr > WHO Environment & Climate 30 300 Lower is better Hybrid · WHO 2021 daily threshold (15 µg/m³ 24-hour)
Annual Count of Days With Maximum Temperature ≥ 35°C days/yr ≥35°C (≥95°F) Environment & Climate 60 250 Lower is better Thai distribution fit
Percentage of Households With Inside Piped Water Supply on Premises % households Environment & Climate 99 70 Higher is better Thai distribution fit
PM2.5 Annual Mean Concentration µg/m³ Environment & Climate 5 50 Lower is better Hybrid · WHO 2021 Air Quality Guidelines
Provincial Cabinet-Resolution Flood-Aid Requests Per 100k Population (Annual) events/yr Environment & Climate 0 5,000 Lower is better Thai distribution fit
Provincial Forest Cover Percentage (NSO / Royal Forest Department source) % Environment & Climate 70 5 Higher is better Thai distribution fit
Provincial Solid Waste Management Performance % disposed Environment & Climate 95 30 Higher is better Thai distribution fit
Tree Canopy Coverage Percentage % Environment & Climate 60 5 Higher is better Thai distribution fit
Wet Days Per Year (≥ 1 mm Rainfall) wet days/yr Environment & Climate 100 – 200 ≤ 50 or ≥ 280 Mid-range is best Thai distribution fit
Hospital-Grade Healthcare Facilities Per 100,000 Population hospitals/100k Healthcare 4 1.5 Higher is better Thai distribution fit
JCI-Accredited Hospitals in This Province hospitals Healthcare 5 0 Higher is better Thai distribution fit
Registered Hospital Beds Per 1,000 Provincial Population beds/1k pop Healthcare 4.5 1 Higher is better Hybrid · WHO and OECD reference lines on methodology page
Sub-District Health-Promotion Hospitals (รพ.สต.) Per 10,000 Population รพ.สต./10k pop Healthcare 2.25 0.3 Higher is better Methodological
Driving Time to Nearest Intercity Rail Station (Minutes) min drive Connectivity & Transport 15 240 Lower is better Thai distribution fit
Driving Time to Nearest International Airport (Minutes) min drive Connectivity & Transport 30 360 Lower is better Thai distribution fit
Provincial Median Fixed Broadband Download Speed Mbps median Connectivity & Transport 250 25 Higher is better Thai distribution fit · Ookla Speedtest open data, Q4 2025
Provincial Median Mobile Broadband Download Speed Mbps median Connectivity & Transport 100 15 Higher is better Thai distribution fit · Ookla Speedtest open data, Q4 2025
Provincial Public Transport Access Score % urban pop Connectivity & Transport 50 0 Higher is better Thai distribution fit
Provincial Walkability Score (Decay-Weighted Amenity Access) 0–100 score Connectivity & Transport 100 0 Higher is better Composite-internal
Gross Provincial Product Per Capita (Baht, Chain Volume Measures, Reference Year 2002) THB/capita/yr Cost & Economy 350,000 50,000 Higher is better Thai distribution fit
Provincial Consumer Price Index — Year-on-Year Change (%) % YoY Cost & Economy -1 3 Lower is better Methodological · Bank of Thailand inflation target window
ACLED-Recorded Conflict and Protest Events Per 100,000 Population, 5-Year Window events/100k (5yr) Safety & Governance 0 30 Lower is better Thai distribution fit
ACLED-Recorded Conflict Fatalities Per 100,000 Population, 5-Year Window fatalities/100k (5yr) Safety & Governance 0 2 Lower is better Thai distribution fit
Road Traffic Fatalities Per 100,000 Population deaths/100k/yr Safety & Governance 5 50 Lower is better Thai distribution fit
7-Eleven Stores Per 10,000 Population stores per 10k residents Lifestyle & Culture 5 0 Higher is better Thai distribution fit
FAD-Registered Ancient Monuments monuments Lifestyle & Culture 150 0 Higher is better Thai distribution fit
International Tourist Arrivals Per Capita arrivals/resident Lifestyle & Culture 5 0.05 Higher is better Thai distribution fit
TAT-Registered Tourist Attractions Per 100,000 Population attractions/100k Lifestyle & Culture 20 0 Higher is better Thai distribution fit
UNESCO World Heritage Sites Inscribed in This Province sites Lifestyle & Culture 2 0 Higher is better Display only
Provincial Dependency Ratio per 100 working-age adults Demographics & Scale 35 58 Lower is better Thai distribution fit
Provincial Population Density (Persons Per Square Kilometre) persons/km² Demographics & Scale 80 – 800 ≤ 15 or ≥ 4,000 Mid-range is best Thai distribution fit

The seven categories

TLI scores each of Thailand's 77 provinces on seven independent dimensions: environment & climate, healthcare, connectivity & transport, cost & economy, safety & governance, lifestyle & culture, and demographics & scale. Each category is a composite of two to nine indicators drawn from Thai government statistics agencies, international scientific datasets, and open civic data. The full source roster is on the data sources page.

Categories were selected to mirror the indicator framework Higgs, Badland, Simons, Knibbs, and Giles-Corti (2019) validated for Melbourne, adapted for a low-to-middle-income country context per Alderton et al. (2019). The full indicator set with sources and goalposts is on the indicators page.

How the composite is built

Every indicator is min-max normalized to a 0–100 score against fixed goalposts (HDI precedent, UNDP 2020). Indicator scores are averaged within each category to produce a category score. The seven category scores are then combined into the composite using a geometric mean rather than an arithmetic mean.

The geometric-mean choice follows the Planetary-pressures-adjusted HDI precedent (UNDP, 2020). It encodes a substantive value: categories are not substitutable. A high score on coffee-scene cultural amenity should not be allowed to compensate for poor air quality. Arithmetic-mean aggregation would permit that substitution; geometric-mean aggregation does not. Mathematically, the geometric mean is dominated by its lowest input. That is exactly the point.

composite = (climate · healthcare · connectivity · economy · safety · culture · demographics)1/7

The composite is rounded to an integer 0–100. We display whole numbers because the precision of a decimal place is not meaningful at this aggregation level; claiming a difference between 72.3 and 72.7 would be false precision.

Why a province can score 0

No province currently floors at 0 in the composite. The methodology preserves the floor mechanism for honesty: if any single category scores 0, the composite is held at 0, regardless of how strong the other six categories look.

The geometric mean is dominated by its lowest input. The product of the seven category scores becomes 0 the moment any one of them is 0, and the composite is floored at 0. A province with excellent transit and dangerous air does not average out to "fine."

The full category breakdown remains visible on each province page. The floor, when it triggers, is a composite-level statement, not a verdict on every dimension of the place.

"Honest over clean. The product is more credible because it doesn't pretend to know things it doesn't."

Category weighting

The default composite is equal-weighted across the seven categories. The OECD/JRC Handbook on Constructing Composite Indicators (2008) treats weighting as a value judgment that should be transparent, and notes that equal weighting is the most defensible default in the absence of a theoretical or empirical basis for differential weights.

Equal weighting itself encodes a value judgment: climate matters as much as economy, and culture as much as safety. Different users will reasonably disagree. The site will eventually surface a re-weighting interface so visitors can apply their own weights and see how the ranking shifts. The default we publish remains equal-weighted, so the canonical TLI score is the same number every visitor sees on first load.

The weighting decision pairs with the geometric-mean aggregation: under any non-zero weights, the non-substitutability property holds.

Provinces, not cities or zones

TLI's unit of measurement is the Thai province. There are 77, fixed by administrative definition. Pattaya is not a province (it's part of Chonburi); Koh Samui is not a province (it's part of Surat Thani). On TLI, you find Pattaya by searching for Chonburi.

Some provinces are enough that a province-level score conceals real differences. Bangkok's 50 khets, Krabi's beaches versus its inland, and Phuket's east versus west each carry sub-provincial variation that a single composite cannot represent. A future iteration of TLI will surface destination-level overlays for these provinces. The canonical score, today and in v1.0, is provincial.

Supplementary indicators

Some data series carry real signal about livability but do not enter the composite. TLI ships them on the province record anyway, in a "Beyond the score" section on each province page and as inline columns on the public dataset. Three reasons drive the held-out posture.

The first is double-counting protection. NASA FIRMS satellite-detected active-fire counts measure the upstream source of burning-season smoke; the PM2.5 indicators in Environment & Climate measure the downstream air-quality impact. Both capture the same regional burning phenomenon at opposite ends of the chain. Adding FIRMS to the composite alongside the PM2.5 indicators would weight one phenomenon twice and mask the rest of Environment & Climate.

The second is directional ambiguity. Some signals do not have a clean "more is better" or "less is better" reading. Net migration rises in provinces with opportunity and in provinces with housing crisis; tourism intensity boosts Phuket's economy and erodes its livability for residents. Where the direction is ambiguous, scoring the indicator forces a choice that the data does not justify. Surfacing the value with a caveat preserves the signal without imposing a judgment.

The third is data-quality downgrade. The provincial unemployment rate was wired as a scored Cost & Economy indicator on 2026-05-05 and downgraded to display-only on 2026-05-07 after a Tier 2.2 cross-verify against the NSO Q3 2024 Labour Force Survey surfaced five compounding problems. NSO publishes a direct unemployment rate for only 9 of 77 provinces; the remaining 68 are imputed from labour-force minus employed counts. Five of those imputations compute to at or near zero (Loei, Bueng Kan, Chanthaburi, Nakhon Nayok, Surat Thani) because the Yearbook reports the employed count equal to the labour force at the small-cell suppression boundary. A NotebookLM query against three years of NSO sources confirmed that NSO does not formally document a numerical suppression-threshold rule. The indicator measures formal-sector unemployment only, which understates economic-opportunity gaps in rural provinces with large informal economies, and the v1.0 reference is a single Q3 quarter that compresses agricultural-cycle seasonality. The five compounding problems place the indicator below the OECD analytical-soundness threshold for inclusion in a scored composite. Cost & Economy moves from five indicators to four at v1.0; unemployment renders here, as supplementary, with the underlying NSO value visible and the suppression-cohort provinces showing the literal string "not published by NSO at province level" rather than a misleading near-zero value. A replacement-indicator search is open for v1.1, with NSO Social Security Office registered-employment density as the primary candidate.

Two FIRMS variants ship in v1.0: a polygon count of fires inside each province boundary and a 150 km centroid-buffer count that captures cross-border smoke catchment. Both carry a five-year mean across 2021-2025 plus an annual maximum and a fire-radiative-power sum. Source citation, confidence-filter rules, and the algorithm reference (Giglio et al. 2016, Remote Sensing of Environment) sit on each province page in the "About this data" block of the FIRMS callout. The unemployment block carries the NSO Q3 2024 rate plus the quality flag and reference period; the same "About this data" block on each province page documents the construction, the suppression-cohort treatment, and the v1.0 downgrade rationale. Three additional supplementary indicators are scoped for v1.1: net migration from the National Statistical Office, burn-season smoke days computed as PM2.5 readings exceeding 150 μg/m³, and five-year trajectory plots on the headline indicators.

Display-only indicators are a related but distinct category. UNESCO World Heritage inscription is the canonical example: a single fact per province, surfaced as a pill rather than a callout, scored neither in the composite nor the supplementary block. The line between display-only and supplementary is shape, not posture: display-only carries one value; supplementary carries a multi-field block.