100 articles · 8 breeds · tools · topics

government agency

Soybean meal (US) wholesale price (BAI)

US soybean meal, the protein benchmark most Philippine formulations are actually costed against. The one to watch beside yellow corn: between them they are most of the cost of a grower ration.

Current weekly Machine-retrieved PHP/kg, soybean meal (US), wholesale

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

29.38

21.2%

as of 2026-07-13. PHP/kg, soybean meal (US), wholesale.

Highest

38.75

as of 2023-01-20

Lowest

23.95

as of 2025-07-21

Range

14.80

Highest minus lowest, across every published row.

Coverage

100%

109 of 109 rows carry a figure.

Span

3y

2023-01-20 to 2026-07-13

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-21

The last date somebody actually opened the source behind these rows.

Every published row

Soybean meal (US) wholesale price (BAI)

PHP/kg, soybean meal (US), wholesale

25.0030.0035.0039.4923.21as of 2023-01-20as of 2026-07-13as of 2023-08-18as of 2024-05-31as of 2025-06-02as of 2026-02-09

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

109 rows, 2023-01-20 to 2026-07-13. 109 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.

  • report_id — 109 rows. BAI's own identifier for the document the row was lifted from.
  • first_seen — 109 rows. the date this archive first held a row for that key, set once.
  • receipt_id — 109 rows. the content-addressed receipt proving which document it came from.

Freshness

The newest figure is 40 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.

Whose survey, read how, out of which document

government agency

BAI — Livestock, Poultry and Feed Ingredients weekly price monitoring

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 "BAI — Livestock, Poultry and Feed Ingredients weekly price monitoring" is not a citation anybody can follow.

How it was retrieved

A table read out of a dated BAI weekly PDF. There is no metadata in a PDF to re-check against, so the document’s own printed headings are the whole guard and they are what the spec names. The table is matched on its heading TEXT and never its number: BAI prints this one as Table 5 in most reports and Table 7 in two of them.

Field Value What guards it
Category 19 — BAI's own report category
Table heading Weekly Wholesale Price of Feed Ingredients per Kilo Matched as a substring of the line. A renumbered table returns a different commodity at a believable price; a renamed one returns nothing and says so.
Row SBM (US) Matched case-insensitively and anchored at the start of the line, because BAI's own casing moves between reports.

The documents behind these rows

109 documents were read to build this series, each hashed on the exact bytes received. The newest 8 are below; the rest are on the provenance page . Download one, hash it, and either it matches or the publisher has reissued it.

Document Read on Bytes Rows sha256
Report 756 2026-08-20 1,019,646 7 78b279b8b4af0d72…
Report 753 2026-08-20 1,017,904 7 ae5d00ee5007dfac…
Report 750 2026-08-20 1,018,849 7 7f59ec75dafbd41b…
Report 745 2026-08-20 1,021,966 7 d2bc22db7ce83b79…
Report 732 2026-08-20 1,025,394 7 14c94f6ab6cc47ef…
Report 738 2026-08-20 1,023,760 7 805a08258345e45b…
Report 729 2026-08-20 1,007,753 7 6acc9c8a1cd42156…
Report 727 2026-08-20 986,885 7 4bd054eab99d3cda…

The most recent 16

about four months of a weekly series. The whole thing is in the downloads below — this table is the end of it.

Period Value Source read on
as of 2026-07-13 29.38 2026-08-21
as of 2026-07-06 24.25 2026-08-21
as of 2026-06-29 28.88 2026-08-21
as of 2026-06-22 28.88 2026-08-21
as of 2026-06-15 28.50 2026-08-21
as of 2026-06-08 29.25 2026-08-21
as of 2026-06-01 29.88 2026-08-21
as of 2026-05-25 29.88 2026-08-21
as of 2026-05-18 30.48 2026-08-21
as of 2026-05-11 30.63 2026-08-21
as of 2026-05-04 30.35 2026-08-21
as of 2026-04-27 30.50 2026-08-21
as of 2026-04-20 30.10 2026-08-20
as of 2026-04-13 30.25 2026-08-20
as of 2026-04-06 29.65 2026-08-20
as of 2026-03-30 29.65 2026-08-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
feed-ingredient-sbm-us.csv text/csv 38 KB 109 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/feed-ingredient-sbm-us.csv text/csv 40 KB 109 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.
feed-ingredient-sbm-us.json application/json 50 KB 109 The same rows as the full CSV, as JSON, with the coverage summary and the licence.
feed-ingredient-sbm-us.parquet application/vnd.apache.parquet 4 KB 109 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 "feed-ingredient-sbm-us". CC BY 4.0. https://baboyph.com/data/feed-ingredient-sbm-us

BibTeX

@misc{baboyph-feed-ingredient-sbm-us,
  title        = {Soybean meal (US) wholesale price (BAI)},
  author       = {{Baboy PH}},
  howpublished = {\url{https://baboyph.com/data/feed-ingredient-sbm-us}},
  note         = {PHP/kg, soybean meal (US), wholesale. CC BY 4.0.},
  urldate      = {2026-08-21},
}

Straight at the data

https://baboyph.com/data/feed-ingredient-sbm-us.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.