Open Field Protocol

Hull Waste and True Cost Per Usable Gram

A bag of seed is priced by the pound, but birds eat kernels. This protocol measures how much of a bag is hull, filler and seed your birds throw on the ground, then converts the shelf price into cost per usable gram.

The short answer

  • Price per pound is not price per calorie. Weigh what is actually edible before you compare two products.
  • Mix the bag before you sample it. Seed stratifies in transit, and a scoop from the top of a sack is not the sack.
  • Take three separate 100 g (3.5 oz) subsamples from different depths, and hand-separate each into kernel, hull, filler and dust.
  • Run the rejection test separately: hulls on the ground prove eating, and only intact ejected seed counts as rejected.
  • Dry any damp sample to constant mass before weighing. Water is the cheapest thing in a bag of birdseed and you are buying it by the pound.
  • Usable fraction is acceptance multiplied by kernel fraction. Divide the bag price by usable grams and the cheap-mix question answers itself.

Protocol at a glance

Protocol ID
PBF-02
Version
1.0
Status
Open for replication
Question
What fraction of a bag of birdseed is edible kernel that the birds at your feeder will actually eat, and what does that make the real cost per usable gram and per usable ounce?
Runs needed
3 subsamples per bag and 3 bags per product for composition; 6 matched feeder blocks for the rejection test
Season
Composition work any time, indoors. Rejection testing needs steady feeder traffic and mild weather.
Time per run
45 to 90 minutes of hand separation per 100 g (3.5 oz) subsample, plus about 30 minutes per rejection block
Cost to run
$20 to $40 for a 0.1 g (0.004 oz) scale, a sieve and a tarp, plus the price of the seed you test
Difficulty
Easy but tedious. No field skill required, considerable patience required.

The question this answers#

You pay for a bag by mass. Birds use only the kernel inside the seeds they will eat. Everything else, hull, dust and the filler kicked to the ground, is mass you bought and no bird digested.

This protocol produces one number per product: cost per usable gram. It is the honest basis for comparing a cheap mix against an expensive one, and it shows with a scale, rather than an opinion, whether a bargain bag is a bargain.

Why the existing evidence is thin#

Everyone repeats that cheap mixes are padded with filler, and almost nobody publishes a mass balance. Three weak forms of evidence circulate instead.

  • Ingredient lists. A label orders components by mass but rarely gives percentages, and says nothing about hull fraction or rejection.
  • Ground-level impressions. "They throw most of it out" is an eyeball estimate of a pile that also contains hulls from seed that was eaten.
  • Price per pound. Fine for budgeting a shopping trip, useless for food value, because the denominator includes everything that is not food.

What you need#

  • A digital scale reading to 0.1 g (0.004 oz), capacity at least 2 kg (4.4 lb). A 1 g (0.04 oz) scale works with 200 g (7 oz) subsamples.
  • A clean tub big enough to tumble the whole bag, a scoop, and labeled trays, one per component you expect to sort into.
  • A sieve of roughly 2 mm (0.08 in) mesh, tweezers or a small nutcracker, good light, and something to listen to. Hand separation is slow.
  • A tarp or shallow tray at least 4 ft (1.2 m) square, sited directly under one feeder.
  • Baking sheets and an oven that holds 60 C (140 F), or a warm dry indoor space.
  • The bag, with price, retailer, net mass and lot code photographed before opening.

How to set it up#

Photograph the unopened bag front and back, including net mass, ingredient list and lot code, and record the price paid with the date. Seed prices move, so a cost figure without a date is not reproducible.

Empty the whole bag into the tub and mix it. Fines and small dense grains settle in shipping, so the top of a sack differs systematically from the bottom. Roll and fold the seed for a full minute, then draw subsamples from the surface, mid-depth, and the bottom corner.

Weigh each subsample to about 100 g (3.5 oz) and record the actual mass rather than assuming it is 100. Every fraction below divides by it.

Hulls on the ground are not rejection

The pile under a feeder is mostly evidence that birds ate. A chickadee takes a sunflower seed, opens it on a branch and drops the shell: that hull is a meal, not waste. Only intact, unopened seed counts as rejected, and separating the two is the difficulty of this test.

The procedure#

Part one is composition, indoors. Part two is rejection, at the feeder. Part three is arithmetic.

  1. Dry first if needed. If the seed feels damp, spread the subsample on a tray and dry it: two to three hours at 60 C (140 F), or three days in warm dry indoor air. Weigh, return it, weigh again an hour later. It is at constant mass when two successive weighings of a 100 g (3.5 oz) sample differ by under 0.2 g (0.007 oz). Record both wet and dry mass.
  2. Sieve, then sort. Pass the subsample through the 2 mm (0.08 in) screen and weigh what falls through as dust. Separate the rest into piles by seed type: black oil and striped sunflower, white millet, red milo, cracked corn, wheat, peanut pieces, and anything unidentifiable. Weigh each pile.
  3. Separate hull from kernel. Open the seeds of each unhulled component by hand, sort into kernel and hull, and weigh both. A 100 g (3.5 oz) subsample of unhulled sunflower is 45 to 90 minutes of work, best done in short shifts with the piles labeled and covered.
  4. Check the mass balance. The piles summed should come within 1 g (0.04 oz) of the subsample's recorded mass. If not, you lost material and the subsample is void.
  5. Compute kernel fraction. K is kernel mass divided by subsample mass, computed for the whole subsample and again for the accepted components once part two identifies them.
  6. Run the rejection test. Spread the clean tarp under one feeder so nothing leaving it lands off the tarp, load a weighed 500 g (17.6 oz), and run a fixed daylight window, the same one every time. Keep other feeders stocked so no bird goes short while you measure.
  7. Recover and sort the tarp. Sweep everything off it, dry to constant mass, then sort into intact seed, empty hulls and fragments and weigh each. Only intact seed is rejected seed, and acceptance fraction A is one minus intact rejected mass divided by mass offered.
  8. Do the arithmetic. Usable fraction U is A times K, usable grams per bag is bag mass times U, cost per usable gram is bag price divided by usable grams, and cost per usable ounce is that times 28.35.

Ground seed goes in the trash

Never return tarp-recovered or oven-dried seed to a feeder: ground seed can carry mold, droppings and the organisms behind feeder disease outbreaks. Keep every feeder in the yard filled normally throughout, because this protocol measures waste and never creates scarcity. Do not run blocks in freezing weather, and sweep the tarp so a wet mat does not sit under the feeder.

The table below is an arithmetic illustration only. Every number is invented to show how the calculation runs. None of it is a measurement.

Quantity (illustration, not measured) Placeholder mix Placeholder hulled hearts
Bag mass9,070 g (20 lb)4,535 g (10 lb)
Price paid$18.00$28.00
Shelf cost per gram$0.00198$0.00617
Acceptance fraction A0.680.96
Kernel fraction K0.580.97
Usable fraction U = A x K0.3940.931
Usable mass per bag3,577 g (126 oz)4,223 g (149 oz)
Cost per usable gram$0.0050$0.0066
Cost per usable ounce$0.14$0.19

In the illustration the shelf price gap is a factor of about 3.1 while the usable-gram gap is about 1.3. Whether a real comparison narrows like that, holds or reverses depends on your measurements.

What you record#

One row per subsample, one per rejection block, keyed by record type.

FieldHow it is measuredWhy it matters
Product, retailer, price, bag mass, lot codeFrom the bag and the receiptCost per usable gram means nothing without them
Subsample gross and dried mass0.1 g (0.004 oz) scale, before and after dryingMoisture is mass you paid for and cannot eat
Dust and fines massWhat passes a 2 mm (0.08 in) sieveNever edible, always paid for
Mass of each component pileWeighed after sorting by seed typeWhat the mix is actually made of
Kernel and hull massWeighed after hand separationGives kernel fraction K
Mass offered and recoveredWeighed in, swept and dried outThe basis of acceptance fraction A
Recovered split: intact, hulls, fragmentsHand sorted from the tarp catchOnly intact seed is rejection
Ground feeders at the tarpNoted during the blockRejection and yard waste are different numbers

Controls, and the ways this goes wrong#

Sampling and sorting error. Three subsamples exist so you can see disagreement. Compute kernel fraction for each and look at the spread; if they differ by more than a few points, mixing was inadequate, so tumble the bin and draw three fresh ones. Dust escapes and kernels roll off tables, so a subsample that fails the mass balance is voided, not fudged.

Moisture. Always report on a dry basis. A damp-stored bag carries water that inflates its mass, and two bags compared at different moisture levels are not comparable.

Rejection is site-specific, kernel fraction is not. Kernel fraction is a property of the seed and replicates anywhere. Acceptance depends on which birds visit you: a yard with doves and sparrows clears milo that a yard of finches leaves untouched. Report the two separately, never folded into one score.

Feeder rejection is not yard waste. Ejected seed may still be eaten off the ground. Note every ground feeder at the tarp and sweep promptly, so the catch reflects what left the feeder rather than what survived the doves.

How many runs before the number means anything#

Three subsamples tell you about one bag. Three bags, ideally from different lots or stores, tell you about the product, because blends vary between production runs.

For rejection, six matched blocks is the floor, and acceptance should settle within a few points across the last three before you trust it. Fresh seed is picked over differently from seed that has sat, so a block on day one of a fill is not interchangeable with one on day three. Hold fill age constant or record it.

Cost per usable gram inherits every uncertainty upstream. Report it with the range of your kernel fractions rather than as one confident figure, alongside the shelf price it came from.

Submitting your results#

Record each subsample and each rejection block as its own row in the datasheet for this protocol, including voided rows with the reason. Send the bag and lot code photographs too: a product without a lot code cannot be checked by anyone else.

Submissions, including ones where an expensive product shows no advantage, appear in the Feeder Log with the contributor credited. Enough bags from enough people is how an ingredient list stops being marketing and becomes a measured quantity.