Projections · tested models

Where is Kedah's economy heading?

DOSM stopped publishing district GDP after 2020. We estimate 2021–2025 for every district and project to 2030, with uncertainty ranges. The model was chosen for how accurate it proved on real data, not for how sophisticated it is.

Scenario simulator

Change each sector's growth rate, or switch on major projects, and see the effect on Kedah's GDP and every district to 2030.

Kedah GDP, 2030
RM66.9 bn
Range RM63.0 bn–RM71.2 bn
Growth a year, 2025–2030
3.7%
Trend: 3.7%
GDP per person, 2030
RM28,708
49% of the Malaysian average (now 49%)
Extra project jobs, 2030
0
above trend

Kedah GDP Projection

RM billion, constant 2015 prices

  • Current trend
  • P10–P90 range
Kedah GDP: actual and projected30.040.050.060.070.080.02015202020252030Projection →66.9

Districts by growth, 2025–2030 Projection

GDP growth a year in this scenario, and GDP per person in 2030

DistrictGrowth a yearGDP 2030Per person 2030
Kulim3.9%RM15.90 bn (RM14.0 bn–RM18.1 bn)RM42,840
Langkawi3.9%RM3.58 bn (RM3.1 bn–RM4.1 bn)RM33,361
Kuala Muda3.8%RM16.67 bn (RM14.7 bn–RM19.0 bn)RM27,501
Kota Setar3.8%RM16.19 bn (RM14.2 bn–RM18.4 bn)RM41,210
Yan3.5%RM1.04 bn (RM0.9 bn–RM1.2 bn)RM13,592
Kubang Pasu3.4%RM5.03 bn (RM4.4 bn–RM5.7 bn)RM18,515
Sik3.3%RM0.79 bn (RM0.7 bn–RM0.9 bn)RM10,817
Baling3.2%RM2.11 bn (RM1.9 bn–RM2.4 bn)RM13,581
Padang Terap2.9%RM1.17 bn (RM1.0 bn–RM1.3 bn)RM16,667
Pendang2.9%RM1.67 bn (RM1.5 bn–RM1.9 bn)RM15,869
Bandar Baharu2.8%RM0.83 bn (RM0.7 bn–RM0.9 bn)RM17,810
Pokok Sena2.2%RM1.89 bn (RM1.7 bn–RM2.2 bn)RM35,978

Projection Kedah sector GDP (excluding import duties), constant 2015 prices. Output per extra factory worker: RM80,192 (Kedah manufacturing average, 2024). Malaysia's GDP per person is assumed to grow 3.0% a year. Sources: DOSM; The Vibes (2022); MIDA (2025). Method →

How we chose the model

We tested four models on 161 districts across Malaysia using 2015–2020 data. Each model forecast one state without ever seeing that state's data, and its forecasts were then compared with DOSM's actual figures.

Model error
ModelError, 1 yearError, 3 years
Constant share of each sector (shift-share)Chosen1.5%2.5%
Machine learning (gradient-boosted trees)1.6%2.7%
Momentum (half the past trend)1.6%3.1%
Constant share of state GDP2.0%3.3%

Error = median absolute error of district GDP, in per cent. Lower is better.

Machine learning did not beat the simpler model. With only six years of district data, most of the difference between a district and its state is random noise — and sophisticated models tend to learn that noise. We use the most accurate model, and will re-test when DOSM publishes new data.