Skip to content
Home → Projects → FIES Analysis
📊 Data Analysis Python Data Visualization 2015 Dataset

What 41,544 Households Actually Spend

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.

41,544
Households in the sample
P164,080
Median annual income
0.4438
Gini, from these records
38.26
Point spread in food share, poorest to richest
Survey Year
2015 Family Income & Expenditure Survey
Tech Stack
Python Pandas Matplotlib Chart.js HTML/CSS
Total Households
41,544
Survey respondents
Average Income
₱247,556
Per year
Median Income
₱164,080
50th percentile
Gini Coefficient
0.444
High inequality
Variables Analyzed
60
Data points per household
Analysis Topics
12
Comprehensive sections
Key Takeaways

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 household income was P164,080 against a mean of P247,556 — the mean is 1.51 times the median, which is what a long right tail does to an average.
  • The richest tenth took 34.32% of all income in the sample against 2.16% for the poorest tenth. The top 1% alone took 8.14%.
  • Agricultural households had a median income of P105,157 against P182,696 for the rest — a factor of 1.74.
  • These are 41,544 unweighted household records. FIES ships sampling weights so results can be grossed up to the population; this public extract does not include them, so every figure describes the sample and not the country.

The Shape Of Household Income

Median, mean and the tails. The gap between the first two is the reason every other figure on this page is a median.

Median income by income decile, PHP

Median
P164,080

Annual household income, 2015 pesos.

Mean
P247,556

1.51 times the median. The highest single household in the sample reported P11,815,988.

90th over 10th
7.0×

P502,021 against P71,596. A household at the 90th percentile earned seven times one at the 10th.

Engel's Law, Without Exception

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.

Median food share of income by decile, %

Poorest tenth
59.62%

Of income spent on food, at the median of that decile.

Richest tenth
21.36%

The same measure, at the other end.

Spread
38.26 pts

Median food spending across the whole sample was P72,986.

Who Holds The Income

Share of all income in the sample, by decile. The bars are the same ten groups as the chart above, counted a different way.

Share of total sample income by decile, %

Richest tenth
34.32%

Of all income in the sample.

Poorest tenth
2.16%

A ratio of 12.3 to one on median income.

Gini
0.4438

Computed from these 41,544 records rather than quoted, so it and the decile table come from the same rows.

What The Money Buys

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.

Median spending by category, poorest and richest decile, PHP

Median food spend
P72,986

Across the whole sample.

Agricultural households
P105,157

Median income, against P182,696 for non-agricultural — a factor of 1.74.

Top 1% share
8.14%

Of all income in the sample, held by 415 households.

Where They Live

Median household income by region, all 17 of them. The spread is wider than any single spending category on this page.

Median household income by region, PHP

NCR
P312,275

Highest median household income.

ARMM
P111,394

Lowest. A factor of 2.8 between the two.

Female-headed households
P175,560

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.

What This Page Does Not Cover

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.

The sample is unweighted

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.

It is 2015

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.

Housing and assets are in the file, not on the page

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.

Method

One fetcher, seven CSVs, from the public mirror the page already cited.

PSA is unreachable; the mirror is not

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.

The microdata is not committed

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.

Medians, not means

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.

Subtotals are excluded by name

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.

Engel's law is asserted

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.

Four figures that were already right

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.

Key Findings & Summary

  • Engel's law holds across all ten deciles without a break: food takes 59.62% of income at the bottom and 21.36% at the top, a 38.26-point spread.
  • Median household income was P164,080 against a mean of P247,556 — 1.51 times higher, the signature of a long right tail.
  • The richest tenth held 34.32% of sample income against 2.16% for the poorest, giving a Gini of 0.4438 computed from these records.
  • Agricultural households earned P105,157 at the median against P182,696 for everyone else, and NCR earned 2.8 times ARMM.
  • All of it describes 41,544 unweighted sampled households in 2015, not the country and not today.

Sources & Citations

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

Have Data But Need Help?

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!

Connect on LinkedIn Dev.to Articles 💬 Messenger

Prefer the plain-English version?

I wrote a companion post — “The Four Numbers Were Right. Nobody Had Opened The File.” — in simple, everyday words.

Read the blog post →