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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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 mass | 9,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 A | 0.68 | 0.96 |
| Kernel fraction K | 0.58 | 0.97 |
| Usable fraction U = A x K | 0.394 | 0.931 |
| Usable mass per bag | 3,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.
| Field | How it is measured | Why it matters |
|---|---|---|
| Product, retailer, price, bag mass, lot code | From the bag and the receipt | Cost per usable gram means nothing without them |
| Subsample gross and dried mass | 0.1 g (0.004 oz) scale, before and after drying | Moisture is mass you paid for and cannot eat |
| Dust and fines mass | What passes a 2 mm (0.08 in) sieve | Never edible, always paid for |
| Mass of each component pile | Weighed after sorting by seed type | What the mix is actually made of |
| Kernel and hull mass | Weighed after hand separation | Gives kernel fraction K |
| Mass offered and recovered | Weighed in, swept and dried out | The basis of acceptance fraction A |
| Recovered split: intact, hulls, fragments | Hand sorted from the tarp catch | Only intact seed is rejection |
| Ground feeders at the tarp | Noted during the block | Rejection 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.