172.62 2026-06
editorial
Backyard-to-commercial price gap
Backyard farmgate minus commercial farmgate, monthly, computed from two PSA populations that neither agency subtracts from each other. A difference between two sources is a real artifact; an average of them would be a price nobody surveyed.
01 · The figures
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
2.10
296.2%
2026-06. PHP/kg liveweight.
Highest
26.51
2022-07
Lowest
-16.58
2022-01
Range
43.09
Highest minus lowest, across every published row.
Coverage
75%
150 of 199 rows carry a figure.
Span
16y
2010-01-31 to 2026-07-31
Freshness budget
90d
A documented override, not the rule. Publication lag is not cadence: the source publishes a period well after it ends, and the reading then ages a whole refresh interval before the next fetch can replace it. 90 days sits above the worst healthy observation and below an outage.
Last read
2026-08-14
The last date somebody actually opened the source behind these rows.
02 · The shape of it
Every published row
Backyard-to-commercial price gap
PHP/kg liveweight
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.
What it is computed from
Both operands are series in this archive with their own pages and their own downloads. Neither is summarised here — this is the actual input.
170.52 2026-06
03 · What is in it
Rows, blanks and columns
Coverage
199 rows, 2010-01-31 to 2026-07-31. 150 carry a figure.
What the blanks are
49 of 199 rows (25%) carry no figure. Each is a monthly period the source published without a figure. Nothing is interpolated and nothing is carried forward: the gap is the honest answer and the row says so.
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.
-
derivation— 150 rows. the arithmetic that produced the figure, recomputed on every run. -
note— 49 rows. a sentence about that row in particular.
Freshness
The newest figure is 53 days old, inside its 90-day budget.
A documented override, not the rule. Publication lag is not cadence: the source publishes a period well after it ends, and the reading then ages a whole refresh interval before the next fetch can replace it. 90 days sits above the worst healthy observation and below an outage.
04 · Where it comes from
Whose survey, read how, out of which document
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.
05 · How it is computed
The arithmetic, and where it is checked
Every row here is hog-farmgate-household minus hog-farmgate-establishment for the same month, rounded to 2 decimal places, with both operands written onto the row. A month where either side has no figure has no difference, and is null rather than a subtraction from a blank. Every row carries that arithmetic in a form the archive's own checker re-computes on each run, so a derived figure that stopped matching its inputs fails the build rather than sitting there.
The newest row's own derivation, verbatim
diff(hog-farmgate-household@2026-06-30, hog-farmgate-establishment@2026-06-30) = 2.10
07 · The tail
The most recent 12
a year of a monthly series. The whole thing is in the downloads below — this table is the end of it.
| Period | Value | Source read on |
|---|---|---|
| 2026-07 | no figure published | 2026-08-14 |
| 2026-06 | 2.10 | 2026-08-14 |
| 2026-05 | 0.53 | 2026-08-14 |
| 2026-04 | -4.31 | 2026-08-14 |
| 2026-03 | 5.10 | 2026-08-14 |
| 2026-02 | 12.26 | 2026-08-14 |
| 2026-01 | 6.31 | 2026-08-14 |
| 2025-12 | -4.64 | 2026-08-14 |
| 2025-11 | -4.32 | 2026-08-14 |
| 2025-10 | 2.87 | 2026-08-14 |
| 2025-09 | 6.94 | 2026-08-14 |
| 2025-08 | 3.08 | 2026-08-14 |
All of these rows cite: https://openstat.psa.gov.ph/PXWeb/pxweb/en/DB/DB__2M__NFG/
08 · Download
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 |
|---|---|---|---|---|
| backyard-commercial-spread.csv | text/csv | 85 KB | 199 | 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/backyard-commercial-spread.csv | text/csv | 88 KB | 199 | 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. |
| backyard-commercial-spread.json | application/json | 86 KB | 199 | The same rows as the full CSV, as JSON, with the coverage summary and the licence. |
| backyard-commercial-spread.parquet | application/vnd.apache.parquet | 7 KB | 199 | 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.
09 · Related
What else bears on this
Each of these states its relation. A related list with no stated relation is a list of guesses, and the strongest ones here are facts about the source rather than editorial judgements.
Hog farmgate price, backyard farms (PSA)
Computed fromEvery row of this series is computed from rows of that one.
Hog farmgate price, commercial farms (PSA)
Computed fromEvery row of this series is computed from rows of that one.
Headline liveweight farmgate price
Same unitSame unit — PHP/kg liveweight — so the two compare directly.
Same unit — PHP/kg liveweight — so the two compare directly.
Same unit — PHP/kg liveweight — so the two compare directly.
Same unit — PHP/kg liveweight — so the two compare directly.
Same unit — PHP/kg liveweight — so the two compare directly.
Hog farmgate price, all farms (PSA)
Same unitSame unit — PHP/kg liveweight — so the two compare directly.
10 · Cite it
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 "backyard-commercial-spread". CC BY 4.0. https://baboyph.com/data/backyard-commercial-spread
BibTeX
@misc{baboyph-backyard-commercial-spread,
title = {Backyard-to-commercial price gap},
author = {{Baboy PH}},
howpublished = {\url{https://baboyph.com/data/backyard-commercial-spread}},
note = {PHP/kg liveweight. CC BY 4.0.},
urldate = {2026-08-14},
} Straight at the data
https://baboyph.com/data/backyard-commercial-spread.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.