The 2015 Family Income and Expenditure Survey, opened. The median household earned P164,080 that year and the mean earned P247,556 — and the poorest tenth spent 59.62% of income on food against 21.36% for the richest.
Engel’s law says the share of income spent on food falls as income rises. It holds here across all ten deciles without a single break — from 59.62% down to 21.36%.
Median, mean and the tails. The gap between the first two is the reason every other figure on this page is a median.
Annual household income, 2015 pesos.
1.51 times the median. The highest single household in the sample reported P11,815,988.
P502,021 against P71,596. A household at the 90th percentile earned seven times one at the 10th.
The oldest empirical regularity in economics: as income rises, the share spent on food falls. Across all ten deciles here it falls monotonically — a check asserts it, because a break would mean the decile assignment or the ratio is wrong.
Of income spent on food, at the median of that decile.
The same measure, at the other end.
Median food spending across the whole sample was P72,986.
Share of all income in the sample, by decile. The bars are the same ten groups as the chart above, counted a different way.
Of all income in the sample.
A ratio of 12.3 to one on median income.
Computed from these 41,544 records rather than quoted, so it and the decile table come from the same rows.
Median spending by category for the poorest and richest deciles. The categories are named individually because the file also carries subtotals, and summing those alongside their components double-counts.
Across the whole sample.
Median income, against P182,696 for non-agricultural — a factor of 1.74.
Of all income in the sample, held by 415 households.
Median household income by region, all 17 of them. The spread is wider than any single spending category on this page.
Highest median household income.
Lowest. A factor of 2.8 between the two.
Median income, against P161,550 for male-headed. Stated as an observation rather than explained: the survey records who is named as head, and the two groups differ in composition in ways this data cannot separate.
The microdata is rich, and this page uses a fraction of its sixty columns. Three limits are worth stating rather than leaving to be discovered.
FIES ships sampling weights so results can be grossed up to the population. This public extract does not include them, so every figure here describes the 41,544 sampled households and not the Philippines. National totals are not computed and would be wrong if they were.
A decade old. Nominal peso figures from 2015 are not comparable with today's, and nothing here is inflation-adjusted. Later FIES rounds exist and sit behind PSA's managed challenge.
Type of roof, walls, building, toilet facility and water source are all columns here. They deserve their own treatment against the national JMP series rather than a chart each, and are left for that rather than added thinly.
One fetcher, seven CSVs, from the public mirror the page already cited.
psa.gov.ph sits behind a managed challenge that scripts do not pass. The public FIES extract is mirrored on Kaggle and served without authentication. The previous version of this page linked to that mirror and never opened it.
22 MB, redistributable but not ours, and a checked-in copy would go stale against the mirror without anyone noticing. The fetcher downloads, aggregates and writes only the summaries.
Income is strongly right-skewed -- the mean is 1.51 times the median and the largest single household reported P11,815,988. Medians are used throughout and the mean appears only where the gap is the point.
The file carries Total Food Expenditure alongside its components. Every spending category is named explicitly so a subtotal cannot be summed with the parts it contains.
A check fails if the food share stops falling monotonically across deciles. It holds essentially without exception in household budget data, so a break would indicate a fault here rather than a finding.
41,544 households, P247,556 mean, P164,080 median and a 0.444 Gini were all on the previous version of this page and all check out against the microdata. The charts did not.
Every figure on this page traces to one of these, through a CSV in
data/ph-fies/. Each is checked against its source query on every
build.
41,544 household records: income, expenditure by category, household head characteristics, housing — psa.gov.ph returns a managed challenge to scripts; cited for provenance, not fetched
The same 41,544 records, 60 columns, served without authentication — What this analysis actually reads; records are unweighted, so figures describe the sample and not the population
If you have raw data and want to transform it into meaningful insights like this analysis, I'd love to help! Whether it's business data, research datasets, or any information you want to visualize and understand better.
Have a dataset you'd like analyzed or need a mini AI project as a starter guide? Send me your suggestions!
I wrote a companion post — “The Four Numbers Were Right. Nobody Had Opened The File.” — in simple, everyday words.