100 articles · 8 breeds · tools · topics

official statistic

National swine inventory

PSA's annual head count of the national herd, all classes. One reading a year, and the slowest-moving number on this site.

Current yearly Hand-maintained million heads 4 withdrawn

Download this series

What this series says

Computed from the rows during the build, over live rows only — a withdrawn figure is one this site could not stand behind, and reprinting it as a record high would be republishing it under a different heading.

Latest

8.93

1.6%

2026. million heads.

Highest

12.70

2019

Lowest

8.75

2024

Range

3.95

Highest minus lowest, across every published row.

Coverage

100%

9 of 9 rows carry a figure.

Span

7y

2018-12-31 to 2026-07-01

Freshness budget

732d

The rule: 366 days for a annual source, times 2 — 732 days. A budget at one cadence fires the moment a release is a day late, and a gate that fires on healthy data is one people learn to ignore.

Withdrawn

4

Kept in the archive, flagged, and deliberately not reprinted below.

Every published row

National swine inventory

million heads

9.0010.0011.0012.0012.908.55201820262020202120232024

Reading it: the line breaks wherever the source published no figure, and each of those runs is shaded. The vertical axis is fitted to the data and both bounds are labelled; it does not start at zero, because ₱150 to ₱260 on a zero-based axis is a flat line and a fitted one is the same fact made legible.

Rows, blanks and columns

Coverage

9 rows, 2018-12-31 to 2026-07-01. 9 carry a figure.

Which optional columns it carries

Beyond the period, the value, the source and the access date, which every row in this archive has. Counted from the rows, so a column that stops being filled stops being listed.

  • asOf — 9 rows. the real reading date behind an annual row.
  • note — 9 rows. a sentence about that row in particular.
  • annotation — 2 rows. the source’s own note about the period.
  • derivation — 1 rows. the arithmetic that produced the figure, recomputed on every run.

Freshness

The newest figure is 52 days old, inside its 732-day budget.

The rule: 366 days for a annual source, times 2 — 732 days. A budget at one cadence fires the moment a release is a day late, and a gate that fires on healthy data is one people learn to ignore.

Whose survey, read how, out of which document

official statistic

Philippine Statistics Authority — Swine Situation Report

Every row carries the exact page or document it was read from, and the date somebody opened it — not just the agency. Those URLs are in the download, one per row, because "Philippine Statistics Authority — Swine Situation Report" is not a citation anybody can follow.

research

PubMed Central — peer-reviewed literature

Every row carries the exact page or document it was read from, and the date somebody opened it — not just the agency. Those URLs are in the download, one per row, because "PubMed Central — peer-reviewed literature" is not a citation anybody can follow.

trade press

BusinessMirror

Every row carries the exact page or document it was read from, and the date somebody opened it — not just the agency. Those URLs are in the download, one per row, because "BusinessMirror" is not a citation anybody can follow.

trade press

BusinessWorld

Every row carries the exact page or document it was read from, and the date somebody opened it — not just the agency. Those URLs are in the download, one per row, because "BusinessWorld" is not a citation anybody can follow.

editorial

Baboy PH editorial synthesis

Every row carries the exact page or document it was read from, and the date somebody opened it — not just the agency. Those URLs are in the download, one per row, because "Baboy PH editorial synthesis" is not a citation anybody can follow.

4 rows this site could not stand behind

Figures this site once published and then could not stand behind. They are kept in the archive rather than deleted, because the record that we got something wrong is worth more than a tidy file — but the wrong numbers are deliberately not reprinted here. They are in the audit download below, flagged, where nobody will mistake one for a current price.

2019 withdrawn 2026-07-12

The sourced pre-ASF peak is 12.70M as of 1 July 2019. Superseded by the row below.

2024 withdrawn 2026-07-12

Overstates the herd by 0.43M. PSA's year-end 2024 swine inventory is 8.75M heads. Superseded by the row below.

2025 withdrawn 2026-07-12

Not a year-end figure. 9.01M is the 1 July 2025 reading, charted as if it were the 2025 annual value and displayed as 'current' on the dashboard for two months. PSA's year-end 2025 inventory is 8.79M. Superseded by the row below; the 9.01M reading is preserved in `quarterlyReference`.

2026 withdrawn 2026-08-22

Superseded inside its own year, not mis-read. 8.70M is PSA's true count for 01 Apr 2026 and it stays readable here, in `quarterlyReference` and to the head (8,702,715) in `swine-inventory-total`. What went wrong is the job this row was doing: it is the only live 2026 row, so the dashboard published it as the current national herd and the chart drew it as the 2026 bar, and PSA has since counted 8,928,329 on 01 Jul 2026. Leaving it live would publish a superseded count as the current one, which is what the 2025-07-01 row was retracted for on 2026-07-12. Superseded by the row below.

The most recent 9

a decade of a yearly series. The whole thing is in the downloads below — this table is the end of it.

Period Value Source read on
2026 8.93 2026-08-22
2025 8.79 2026-07-12
2024 8.75 2026-07-12
2023 9.32 2026-05-20
2022 9.55 2026-05-20
2021 9.72 2026-05-20
2020 10.90 2026-05-20
2019 12.70 2026-07-12
2018 12.60 2026-05-20

Each row cites its own document, linked from its access date.

Four files, free, with attribution

Every row carries its source, its URL and the date somebody actually opened it, and the attribution line is repeated on every row rather than in a header — because the unit of loss is the row, not the file.

File Format Size Rows What is in it
herd.csv text/csv 3 KB 9 Published rows only, one row per period. Retracted rows are excluded, so an average taken over this file is correct without filtering. Null values are the token NA.
full/herd.csv text/csv 6 KB 13 Every row this archive has ever held, including withdrawn ones, with a status column and the retraction date and reason. Use this to audit the archive, not to compute on.
herd.json application/json 7 KB 13 The same rows as the full CSV, as JSON, with the coverage summary and the licence.
herd.parquet application/vnd.apache.parquet 3 KB 9 The published rows with types: the numeric columns are doubles and a missing figure is a real null rather than the NA token a CSV has to write.

Sizes: the real ones, from the same call that produced the bytes the endpoint serves. There is deliberately no Parquet of the full file — the withdrawn rows are the ones nobody may compute on without looking.

Or the whole archive at once

Every series stacked under one schema, typed, with real nulls. It is not this series — kept in its own block so nobody takes the whole archive by mistake.

baboyph-industry.parquet

Please link back

Attribution is the only condition, and it is what keeps a figure traceable once it has been copied twice.

Plain text

Baboy PH state-of-the-industry archive, series "herd". CC BY 4.0. https://baboyph.com/data/herd

BibTeX

@misc{baboyph-herd,
  title        = {National swine inventory},
  author       = {{Baboy PH}},
  howpublished = {\url{https://baboyph.com/data/herd}},
  note         = {million heads. CC BY 4.0.},
  urldate      = {2026-08-22},
}

Straight at the data

https://baboyph.com/data/herd.csv

Licence: CC BY 4.0. The figures themselves are official statistics published by the agencies named above; what this archive adds is the retrieval, the provenance on every row, and the refusals.