Data Methodology — How We Source Sabah Statistics | SabahGuide
How We Source Sabah Statistics
Every number on SabahGuide has a source. This page explains how we select sources, how often we update data, and how we handle the inevitable gaps in Sabah-specific official statistics.
Source Hierarchy
We rank sources in this order of authority. A higher-ranked source always overrides a lower one when figures conflict:
Primary Data Sources
The table below lists our main primary sources and what each one covers:
| Source / Agency | Data covered | Update frequency |
|---|---|---|
| DOSM / OpenDOSM | Population, GDP, household income, employment, trade | Annual (GDP quarterly estimates) |
| Sabah Tourism Board | Visitor arrivals, tourism revenue, hotel occupancy | Quarterly + annual |
| MPOB (Malaysian Palm Oil Board) | Palm oil hectares, yield, CPO price, export value | Monthly + annual |
| PETRONAS Annual Report | Oil & gas production volumes, state royalties, Sabah contribution | Annual |
| Jabatan Hutan Sabah | Forest cover area, TPA percentage, concession data | Annual |
| Sabah Parks | National park areas, visitor counts, ranger data | Annual |
| IUCN Red List | Wildlife population estimates, conservation status | Periodic (species-specific) |
| WWF-Malaysia | Orangutan, pygmy elephant, proboscis monkey counts | Periodic surveys |
| KKIA / Malaysia Airports | Passenger throughput, routes, aircraft movements | Annual |
| Sabah Ports Authority | Container throughput, cargo tonnage, port infrastructure | Annual |
| Kementerian Kerja Raya (KKR) | Pan Borneo Highway progress, phase completion, costs | Quarterly |
| Jabatan Pelajaran Sabah | School counts, enrolment, literacy rates | Annual |
| UMS (Universiti Malaysia Sabah) | Academic research on Sabah ecology, economy, society | Ongoing |
Live Data: DOSM OpenAPI
Two datasets on SabahGuide are fetched live from the OpenDOSM API rather than stored as static JSON:
- Population by state —
population_stateendpoint, used on the Population and Demographics pages - Household income by state —
hh_income_stateendpoint, used on the Household Income page
These are refreshed by running node scripts/fetch-dosm.mjs, which saves snapshots to src/data/pillar2/live/. The cached files are committed to the repository so the site builds correctly without live API calls at build time. The manifest file live/_manifest.json records the last fetch date.
population_state and hh_income_state.
Update Cadence
Each page carries two dates:
The date the page content itself was last edited. Changes include new charts, revised text, or restructured sections.
The date we last confirmed the key statistics are still accurate against their primary sources. A page can be "verified" without being edited.
Our target review cadence by topic type:
- Population / GDP / tourism — reviewed annually when DOSM/STB release new reports
- Wildlife populations — reviewed when IUCN or WWF publish new assessments
- Infrastructure (Pan Borneo, airports) — reviewed quarterly
- Geography / climate — reviewed every 2–3 years (stable data)
Handling Data Gaps
Sabah is often underserved in national statistical reporting. We handle this transparently:
- Estimates are labelled — any figure that is estimated (vs officially published) is marked "est." or "~"
- Ranges over false precision — when data is uncertain we give a range (e.g. "~10,000–12,000 orangutans") rather than a single false-precise figure
- Missing data is stated — if district-level data doesn't exist for a topic, we say so
- No 2010 Census extrapolation — we don't project 2020 census figures forward without a DOSM estimate to anchor to
Corrections Policy
If you spot an error — a wrong figure, an outdated statistic, or a broken source link — please use the "Report an issue" button on any page (bottom of each statistics page). We aim to correct verified errors within 7 days and note the correction at the bottom of the relevant page.
Frequently Asked Questions
Q How often is the data updated?
Q Why do some numbers differ from other sources I've seen?
Q What is DOSM and why do you rely on it?
Q How do you handle data gaps for Sabah specifically?
Q Can I use this data in my research or article?
Q How do you handle conflicting data between sources?
Sources & References 2 sources
Last verified: 11 April 2026