Southeast Asia Demography and Financial Indicators Set (SEA)
Overview
This regional analytical product connects every Southeast Asian country to a consistent annual spine. Population structure, labour participation, employment type, industry jobs, household income, education, urbanisation and migration join directly to macroeconomic growth, industry contribution, banking depth, asset quality, financial inclusion, public debt, household finance, trade and risk features. Every row distinguishes modelled observation, estimate and projection status. The product supports financial-sector strategy, market sizing, credit context, workforce analysis, branch and digital-finance planning, cross-country benchmarking and scenario testing without presenting modelled values as official releases.
Analytics
Select a country on the map to see the figures the dataset records for it.
Select a country on the map to see the figures the dataset records for it.
Row Counts by Table
Counted from the files that ship, not estimated.
| Table | Rows |
|---|---|
| sea_demo_countries | 11 |
| sea_demo_years | 12 |
| sea_demo_age_bands | 5 |
| sea_demo_industry_sectors | 9 |
| sea_demo_education_levels | 5 |
| sea_demo_employment_types | 6 |
| sea_demo_demography | 132 |
| sea_demo_age_distribution | 660 |
| sea_demo_labour_force | 132 |
| sea_demo_employment_by_type | 792 |
| sea_demo_employment_by_industry | 1,188 |
| sea_demo_income_distribution | 132 |
| sea_demo_macroeconomic_indicators | 132 |
| sea_demo_industry_contributions | 1,188 |
| sea_demo_education_indicators | 660 |
| sea_demo_banking_indicators | 132 |
| sea_demo_financial_inclusion | 132 |
| sea_demo_public_finance_debt | 132 |
| sea_demo_household_finance | 132 |
| sea_demo_trade_indicators | 132 |
| sea_demo_urbanisation_migration | 132 |
| sea_demo_financial_risk_features | 132 |
| sea_demo_outlook_scenarios | 132 |
Table Relationships
One parent record and seven child tables, each joined back on the same key.
Schema
Every table ships with typed columns, referential integrity, and documentation.
| Column | Type | Description |
|---|---|---|
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| country_code | varchar(8) | Stable code for country. |
| country_name | varchar(16) | Human-readable country name; names are fictional where the disclosure states so. |
| region_name | varchar(24) | Human-readable region name; names are fictional where the disclosure states so. |
| income_group | varchar(24) | Income group for the sea_demo_countries record. |
| currency_code | varchar(8) | Stable code for currency. |
| base_population_millions | numeric(7,2) | Base population millions for the sea_demo_countries record. |
+3 more columns in sea_demo_countries. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| calendar_year | integer | Calendar year for the sea_demo_years record. |
| period_start | date | period start as an ISO 8601 calendar date. |
| period_end | date | period end as an ISO 8601 calendar date. |
| source_status | varchar(32) | source status in the declared lifecycle, result or source-status vocabulary. |
| vintage_date | date | vintage date as an ISO 8601 calendar date. |
| Column | Type | Description |
|---|---|---|
| age_band_id | varchar(8) | Stable identifier for age band; use it for declared joins. |
| age_band_name | varchar(16) | Human-readable age band name; names are fictional where the disclosure states so. |
| lower_age | integer | Lower age for the sea_demo_age_bands record. |
| upper_age | integer | Upper age for the sea_demo_age_bands record. |
| Column | Type | Description |
|---|---|---|
| industry_sector_id | varchar(8) | Stable identifier for industry sector; use it for declared joins. |
| industry_sector_code | varchar(8) | Stable code for industry sector. |
| industry_sector_name | varchar(40) | Human-readable industry sector name; names are fictional where the disclosure states so. |
| sector_group | varchar(16) | Sector group for the sea_demo_industry_sectors record. |
| Column | Type | Description |
|---|---|---|
| education_level_id | varchar(8) | Stable identifier for education level; use it for declared joins. |
| education_level_code | varchar(8) | Stable code for education level. |
| education_level_name | varchar(24) | Human-readable education level name; names are fictional where the disclosure states so. |
| isced_context | varchar(48) | Isced context for the sea_demo_education_levels record. |
| Column | Type | Description |
|---|---|---|
| employment_type_id | varchar(8) | Stable identifier for employment type; use it for declared joins. |
| employment_type_code | varchar(16) | Stable code for employment type. |
| employment_type_name | varchar(40) | Human-readable employment type name; names are fictional where the disclosure states so. |
| definition_context | varchar(48) | Definition context for the sea_demo_employment_types record. |
| Column | Type | Description |
|---|---|---|
| demography_id | varchar(16) | Stable identifier for demography; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| population_millions | numeric(8,3) | Population millions for the sea_demo_demography record. |
| population_growth_pct | numeric(5,2) | population growth expressed as a percentage. |
| birth_rate_per_1000 | numeric(6,2) | Birth rate per 1000 for the sea_demo_demography record. |
| death_rate_per_1000 | numeric(5,2) | Death rate per 1000 for the sea_demo_demography record. |
+5 more columns in sea_demo_demography. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| age_distribution_id | varchar(16) | Stable identifier for age distribution; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| age_band_id | varchar(8) | Stable identifier for age band; use it for declared joins. |
| population_share_pct | numeric(6,2) | population share expressed as a percentage. |
| population_millions | numeric(8,4) | Population millions for the sea_demo_age_distribution record. |
| labour_force_participation_pct | numeric(6,2) | labour force participation expressed as a percentage. |
+2 more columns in sea_demo_age_distribution. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| labour_force_id | varchar(16) | Stable identifier for labour force; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| working_age_population_millions | numeric(8,3) | Working age population millions for the sea_demo_labour_force record. |
| labour_force_millions | numeric(8,3) | Labour force millions for the sea_demo_labour_force record. |
| participation_rate_pct | numeric(6,2) | participation rate expressed as a percentage. |
| employment_rate_pct | numeric(6,2) | employment rate expressed as a percentage. |
+7 more columns in sea_demo_labour_force. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| employment_type_fact_id | varchar(16) | Stable identifier for employment type fact; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| employment_type_id | varchar(8) | Stable identifier for employment type; use it for declared joins. |
| share_of_labour_force_pct | numeric(6,2) | share of labour force expressed as a percentage. |
| workers_millions | numeric(8,4) | Workers millions for the sea_demo_employment_by_type record. |
| median_annual_income_usd | numeric(9,2) | median annual income in United States dollars. |
+3 more columns in sea_demo_employment_by_type. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| employment_sector_fact_id | varchar(16) | Stable identifier for employment sector fact; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| industry_sector_id | varchar(8) | Stable identifier for industry sector; use it for declared joins. |
| employment_share_pct | numeric(6,2) | employment share expressed as a percentage. |
| workers_millions | numeric(8,4) | Workers millions for the sea_demo_employment_by_industry record. |
| average_annual_income_usd | numeric(10,2) | average annual income in United States dollars. |
+3 more columns in sea_demo_employment_by_industry. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| income_distribution_id | varchar(16) | Stable identifier for income distribution; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| gdp_per_capita_usd | numeric(10,2) | gdp per capita in United States dollars. |
| gni_per_capita_usd | numeric(9,2) | gni per capita in United States dollars. |
| median_household_income_usd | numeric(9,2) | median household income in United States dollars. |
| gini_index | numeric(6,2) | gini index as the declared analytical score or index. |
+6 more columns in sea_demo_income_distribution. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| macroeconomic_id | varchar(16) | Stable identifier for macroeconomic; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| nominal_gdp_usd_billion | numeric(8,2) | Nominal gdp usd billion for the sea_demo_macroeconomic_indicators record. |
| real_gdp_growth_pct | numeric(5,1) | real gdp growth expressed as a percentage. |
| gdp_per_capita_usd | numeric(10,2) | gdp per capita in United States dollars. |
| inflation_pct | numeric(5,1) | inflation expressed as a percentage. |
+7 more columns in sea_demo_macroeconomic_indicators. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| industry_contribution_id | varchar(16) | Stable identifier for industry contribution; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| industry_sector_id | varchar(8) | Stable identifier for industry sector; use it for declared joins. |
| gross_value_added_share_pct | numeric(6,2) | gross value added share expressed as a percentage. |
| real_sector_growth_pct | numeric(6,2) | real sector growth expressed as a percentage. |
| contribution_to_gdp_growth_pp | numeric(6,3) | Contribution to gdp growth pp for the sea_demo_industry_contributions record. |
+5 more columns in sea_demo_industry_contributions. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| education_fact_id | varchar(16) | Stable identifier for education fact; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| education_level_id | varchar(8) | Stable identifier for education level; use it for declared joins. |
| population_share_pct | numeric(6,2) | population share expressed as a percentage. |
| completion_rate_pct | numeric(6,2) | completion rate expressed as a percentage. |
| enrolment_rate_pct | numeric(6,2) | enrolment rate expressed as a percentage. |
+5 more columns in sea_demo_education_indicators. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| banking_indicator_id | varchar(16) | Stable identifier for banking indicator; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| bank_assets_usd_billion | numeric(8,2) | Bank assets usd billion for the sea_demo_banking_indicators record. |
| bank_assets_pct_gdp | numeric(7,2) | Bank assets pct gdp for the sea_demo_banking_indicators record. |
| private_credit_pct_gdp | numeric(7,2) | Private credit pct gdp for the sea_demo_banking_indicators record. |
| deposit_growth_pct | numeric(6,2) | deposit growth expressed as a percentage. |
+8 more columns in sea_demo_banking_indicators. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| financial_inclusion_id | varchar(16) | Stable identifier for financial inclusion; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| account_ownership_pct | numeric(6,2) | account ownership expressed as a percentage. |
| digital_payment_use_pct | numeric(6,2) | digital payment use expressed as a percentage. |
| formal_savings_pct | numeric(6,2) | formal savings expressed as a percentage. |
| formal_borrowing_pct | numeric(6,2) | formal borrowing expressed as a percentage. |
+5 more columns in sea_demo_financial_inclusion. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| public_finance_id | varchar(16) | Stable identifier for public finance; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| general_government_debt_pct_gdp | numeric(7,2) | General government debt pct gdp for the sea_demo_public_finance_debt record. |
| general_government_debt_usd_billion | numeric(8,2) | General government debt usd billion for the sea_demo_public_finance_debt record. |
| external_debt_pct_gni | numeric(7,2) | External debt pct gni for the sea_demo_public_finance_debt record. |
| debt_service_pct_revenue | numeric(6,2) | Debt service pct revenue for the sea_demo_public_finance_debt record. |
+6 more columns in sea_demo_public_finance_debt. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| household_finance_id | varchar(16) | Stable identifier for household finance; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| household_debt_pct_gdp | numeric(6,2) | Household debt pct gdp for the sea_demo_household_finance record. |
| mortgage_debt_share_pct | numeric(6,2) | mortgage debt share expressed as a percentage. |
| consumer_credit_share_pct | numeric(6,2) | consumer credit share expressed as a percentage. |
| household_savings_rate_pct | numeric(6,2) | household savings rate expressed as a percentage. |
+4 more columns in sea_demo_household_finance. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| trade_indicator_id | varchar(16) | Stable identifier for trade indicator; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| exports_pct_gdp | numeric(7,2) | Exports pct gdp for the sea_demo_trade_indicators record. |
| imports_pct_gdp | numeric(7,2) | Imports pct gdp for the sea_demo_trade_indicators record. |
| trade_balance_pct_gdp | numeric(6,2) | Trade balance pct gdp for the sea_demo_trade_indicators record. |
| services_exports_share_pct | numeric(6,2) | services exports share expressed as a percentage. |
+5 more columns in sea_demo_trade_indicators. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| urbanisation_migration_id | varchar(16) | Stable identifier for urbanisation migration; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| urban_population_pct | numeric(7,2) | urban population expressed as a percentage. |
| largest_city_share_pct | numeric(7,2) | largest city share expressed as a percentage. |
| net_migration_per_1000 | numeric(6,2) | Net migration per 1000 for the sea_demo_urbanisation_migration record. |
| international_migrant_stock_pct | numeric(6,2) | international migrant stock expressed as a percentage. |
+3 more columns in sea_demo_urbanisation_migration. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| financial_risk_feature_id | varchar(16) | Stable identifier for financial risk feature; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| feature_source_cutoff | date | Latest source date available to this feature row; it is strictly earlier than the target event or period when history exists. |
| lag_gdp_growth_pct | numeric(5,1) | lag gdp growth expressed as a percentage. |
| lag_inflation_pct | numeric(5,1) | lag inflation expressed as a percentage. |
| lag_unemployment_pct | numeric(6,2) | lag unemployment expressed as a percentage. |
+7 more columns in sea_demo_financial_risk_features. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| outlook_id | varchar(16) | Stable identifier for outlook; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| scenario_code | varchar(24) | Stable code for scenario. |
| scenario_probability_pct | integer | scenario probability expressed as a percentage. |
| projected_gdp_growth_pct | numeric(5,1) | projected gdp growth expressed as a percentage. |
| projected_inflation_pct | numeric(5,1) | projected inflation expressed as a percentage. |
+6 more columns in sea_demo_outlook_scenarios. The full schema ships with the download.
Sample Data
A snapshot of real rows from the dataset (values are fully synthetic).
| macroeconomic_id | country_id | year_id | nominal_gdp_usd_billion | real_gdp_growth_pct | gdp_per_capita_usd | inflation_pct | unemployment_rate_pct | current_account_pct_gdp | fiscal_balance_pct_gdp | policy_rate_pct | exchange_rate_index_2015_100 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MACBRN2015 | CTR001 | Y2015 | 12.9 | 0.5 | 30714.29 | 0.9 | 6.71 | 4.93 | -1.82 | 0.65 | 101.63 |
| MACBRN2016 | CTR001 | Y2016 | 13.22 | 1.7 | 31252.96 | 1.4 | 6.73 | 5.16 | -2.24 | 0.73 | 102.76 |
| MACBRN2017 | CTR001 | Y2017 | 13.45 | 0.9 | 31572.77 | 1.4 | 6.72 | 3.92 | -2.3 | 0.83 | 103.9 |
Version History
| v1.0.0 | 2026-08-11 | First release with complete relational coverage, deterministic generation, documentation, SQL, JSON, CSV and API schema. |
Related Datasets
Europe Demography and Financial Indicators Set (EU)
Public Sector & StatisticsA linked European country-year warehouse covering population, age, work, income, growth, industry, education, banking, debt, inclusion and financial risk.
Global City Pollution and Green Energy Transition Set (WW)
Public Sector & StatisticsA linked top-city warehouse covering air pollution, emission sources, energy mix, renewable projects, transport, buildings, waste, climate, policy and transition forecasts.
Latin America Demography and Financial Indicators Set (LATAM)
Public Sector & StatisticsA linked Latin American country-year warehouse covering population, age, work, income, growth, industry, education, banking, debt, inclusion and financial risk.