Skip to content
// morris-labs
agriculturestatisticsregression

What a pound is worth, and when

Price per hundredweight falls as cattle get heavier, which reads as "heavier is worth less." It is not. Chasing that down cost me three assumptions and produced one number I did not expect: this market pays about half again as much for a pound added to a mature animal as to a growing one, and it has done so in every month of the record.

17 min read

I run a hobby farm with about thirty head of cattle. That number matters for what follows, because it puts me in an awkward spot: it is enough animals that the decisions cost real money, and far too few for me to learn the answers the way a commercial operation does.

A feedlot running thousands of head gets to find out whether it bought right several times a year, across enough animals that the noise averages out. I make a handful of decisions a season, on a handful of animals, and the results come back a year later mixed with weather, luck and whatever the market happened to do in the meantime. Under those conditions intuition does not get corrected. It just gets older.

So I went looking for the answers in somebody else’s data instead — seven years of one Alabama sale barn, the same barn my animals would go through.

Cattle are quoted in dollars per hundredweight. A 500 lb steer at $220/cwt is a $1,100 animal: divide by a hundred, multiply by the weight. So I put weight on the x-axis and $/cwt on the y-axis, because that is the number the market quotes. The line went down. Heavier cattle sold for less per hundredweight, consistently, over 15,583 lots.

My first thought was that I had a bug.

I did not have a bug. I had three wrong assumptions, and unwinding them took me somewhere I did not expect: to the observation that this market pays about half again as much for a pound put on a mature animal as for a pound put on a growing one — $2.50 against $1.76 as of March 2026, and mature ahead of growing in every single month of the seven years.

Assumption one: that $/cwt is a price

It is a rate. That sounds pedantic and it is the entire problem.

A price attaches to a thing. A rate attaches to a unit of a thing, and the moment the number of units varies, the rate and the price can move in opposite directions without anything being wrong. $/cwt is $/lb × 100, and the animal carries a varying number of pounds.

So “heavier cattle cost less per hundredweight” and “heavier cattle cost more” are both true at once, and only one of them is about what you pay.

Here is every lot, plotted both ways. Left column is what the market quotes. Right column is the same lots, same weights, same fits — multiplied through by weight.

price per hundredweightprice per head · same lotssteerfeeder−$0.2171/lb600+$0.87/lb$3,000heiferfeeder−$0.2242/lb600+$0.93/lb$2,500bullfeeder−$0.2874/lb800+$0.65/lb$3,000cowslaughter+$0.0543/lb200+$1.42/lb$2,500bullslaughter+$0.0523/lb250+$1.86/lb$5,000200–1250 lb200–1250 lb200–1200 lb200–1200 lb200–1250 lb200–1250 lb650–1600 lb650–1600 lb800–2400 lb800–2400 lb
Every lot from the Clay County Livestock Auction, May 2019 to March 2026, 300 sampled per row for legibility (the fits use all of them). Left: price per hundredweight against weight. Right: price per head against the same weight. Each row keeps its own weight range — a feeder calf and a slaughter bull do not live on the same axis — and each cell its own y domain, both anchored at zero, since the argument here is entirely about the sign of a slope. The fits are unweighted least squares, matching the dashboard's own value-of-gain table.
data table — fitted slopes
market typelotshead$/cwt per lbR²$/head per lbR²
feeder steer2,2275,582-0.21710.0890.870.059
feeder heifer4,83316,092-0.22420.0920.930.079
feeder bull4,95915,023-0.28740.1380.650.038
slaughter cow1,1625,4890.05430.0461.420.210
slaughter bull8141,6760.05230.1071.860.385

Three rows fall in the left column and every row rises in the right one. Same animals, same rows of the same CSV.

The right column is the one that answers “what will this cost me,” and its slope has a name.

Value of gain

The slope of price per head against weight is what the market pays for one additional pound of liveweight. Cattle people call it the value of gain, and it is the same number seen from both sides of the ring:

  • Buying, it is what you pay for a pound somebody else already put on.
  • Selling, it is what you receive for a pound you put on yourself.

Which makes it a decision rather than a statistic, because it gets compared to one number I am supposed to supply myself: my cost of gain, what feed, time and risk actually cost me per pound put on.

If the market sells pounds cheaper than I can grow them, buy heavier and let somebody else do the feeding. If it pays more than they cost me, buy lighter and put the weight on myself.

I do not know my cost of gain. That is the honest state of things on a thirty-head place — there is a feed bill and a hay bill and a vet bill and no allocation of any of them to pounds. So the band on the chart below is the $0.80–$1.50 range the extension literature quotes for a small producer in this region, standing in for a number I ought to be able to look up in my own records.

value of gain · $ per pound of liveweightcost of gain$0.50$1.00$1.50$2.00$2.50FEEDER STEER2,227 lots · 5,582 headno callFEEDER HEIFER4,833 lots · 16,092 headno callFEEDER BULL4,959 lots · 15,023 headbuy heavierSLAUGHTER COW1,162 lots · 5,489 headno callSLAUGHTER BULL814 lots · 1,676 headfeed them
Value of gain by market type — the slope of price per head on weight — with 95% intervals from 4,000 bootstrap resamples. The shaded band is a typical cost of gain, $0.80 to $1.50 per pound. A row is only called when its whole interval clears the band; overlapping the band means the data does not decide it. The hollow ring is the identical fit under a 24-month recency weight, discussed below.
data table
fitspanhead$/lb95% intervalrecency-wtdR²
FEEDER STEER2,227 lots · 5,582 head5,5820.870.73–1.021.010.059
FEEDER HEIFER4,833 lots · 16,092 head16,0920.930.85–1.031.150.079
FEEDER BULL4,959 lots · 15,023 head15,0230.650.56–0.740.930.038
SLAUGHTER COW1,162 lots · 5,489 head5,4891.421.26–1.591.810.210
SLAUGHTER BULL814 lots · 1,676 head1,6761.861.69–2.062.200.385

The feeder rows sit low. Feeder bulls at $0.65/lb are below the cost band entirely — the market is selling pounds cheaper than anybody around here can grow them. Steers at $0.87 and heifers at $0.93 land inside the band, which means the honest answer is that it depends on your own costs and the data does not decide it for you.

Then the slaughter rows.

Assumption two: that young growing animals are where the value is

Slaughter cows: $1.42/lb. Slaughter bulls: $1.86/lb.

Slaughter bulls clear the cost band outright — the whole interval, $1.69 to $2.06, sits above the most it plausibly costs to put those pounds on. Slaughter cows land at the top edge of the band rather than above it: $1.42 with an interval of $1.26 to $1.59, which straddles the $1.50 ceiling and so does not get a call by itself.

But set the two ends of the barn side by side. As of March 2026 the feeder types sit at about $1.76 a pound and the slaughter types at $2.50 — the market paying roughly half again as much for a pound on a mature animal as on a young one. That gap has been open the entire time, ranging from 1.1× to 1.8× and never once closing.

I had this backwards, and I had it backwards in the direction that costs money. I assumed the value was in the young animal: a calf is growing anyway, feed converts efficiently at that age, and a cull cow is a salvage sale — you take what you get and you are glad to have the trailer space back. Every one of those things is true about the biology. None of them is what the market is pricing.

The reason is that the two ends of the barn are selling different goods.

A feeder calf is an input. Whoever buys it is buying the pounds it has not put on yet, and a lighter calf has more of that cheap, efficient gain still ahead of it. So the market discounts per-pound as weight rises, because it is paying for remaining potential and heavier animals have less of it left. That is the falling line in the left column, and it is rational.

A cull cow is an output. Nobody is buying her future. They are buying delivered yield today, and heavier means more of it — which is why those two rows are the ones that slope up per hundredweight. You are not paid for what she might become. You are paid for what is on her.

And the grade ladder is explicit about it. Slaughter cows at this barn are graded on leanness, and the number that comes out is not subtle:

grade condition mean weight mean $/cwt
Boner 80–85% fleshier 1,167 lb $95.30
Lean 85–90% thinner 991 lb $74.20

A cow in better flesh brings 28% more per hundredweight and stands on more hundredweights. Condition is paid for twice. Dressing percentage says the same thing from another angle — lots marked High dress at $93.60/cwt against $82.80 for Low.

So the counterintuitive suggestion falls out of the arithmetic: a thin cull cow is the animal most likely to be worth feeding before she goes, and a heavy feeder calf is the one least likely to be. That is roughly the opposite of where I would have put the effort.

On thirty head this is not an abstract point. A cow leaves the herd every year or two, and she is the animal I have historically thought least about — the decision was when the trailer is going anyway. On these numbers she is plausibly the one animal on the place where a few weeks of feed is the trade with the best odds attached to it, and the calves I fuss over are the ones where the market is telling me not to bother.

I would still cost it out before believing it. The cow’s interval only reaches the top of the cost band rather than clearing it, so this is a lead, not a verdict — and it is a lead I cannot close out without knowing what those few weeks of feed actually cost me.

Assumption three: that “value of gain” is one number

This is the one that actually bothers me, and it is the reason I would not yet act on any of the above.

A slope assumes the relationship is a line — that the tenth pound and the three-hundredth pound are worth the same. Fit it in weight bands instead and it plainly is not:

value of gain within weight bands · $ per poundcost of gain$-1.00$0.00$1.00$2.00$3.00$4.00$5.00300–450 lbfeeder steer · 601 lots450–550 lbfeeder steer · 675 lots550–650 lbfeeder steer · 563 lots650–900 lbfeeder steer · 339 lots700–950 lbslaughter cow · 187 lots950–1100 lbslaughter cow · 436 lots1100–1250 lbslaughter cow · 405 lots1250–1600 lbslaughter cow · 133 lots
The same fit run inside weight bands rather than across the whole range, for the two types at either end of the barn. Intervals are 4,000 bootstrap resamples, and they are wide — a few hundred lots inside a 100 lb band is not much to fit a slope on. No single band clears the cost of gain on its own, which is why no verdict is offered for any of them. What carries here is the ordering: both types climb through the middle of their range and then collapse in their top band, where the interval contains zero.
data table
fitspanhead$/lb95% intervalR²
300–450 lbfeeder steer · 601 lots1,2861.781.02–2.560.029
450–550 lbfeeder steer · 675 lots1,8902.791.46–4.070.027
550–650 lbfeeder steer · 563 lots1,4941.960.55–3.380.014
650–900 lbfeeder steer · 339 lots7540.16-0.68–1.050.000
700–950 lbslaughter cow · 187 lots5220.860.10–1.610.025
950–1100 lbslaughter cow · 436 lots1,7151.550.88–2.210.043
1100–1250 lbslaughter cow · 405 lots2,8982.181.18–3.180.042
1250–1600 lbslaughter cow · 133 lots3530.18-0.86–1.460.001

For feeder steers the value of gain runs $1.78 to $2.79 through the middle of the range and then falls off a cliff: above 650 lb it is $0.16, with an interval straddling zero. Slaughter cows do the same thing — climbing to $2.18 in the 1,100–1,250 lb band, then $0.18 above 1,250 lb.

Those band intervals are wide enough that I would not act on any one of them. The shape is what survives: rising through the middle, flat at the top, in both types independently.

The market stops paying for pounds past a point. Sensibly: past about 650 lb a feeder is leaving the class buyers want, and past about 1,250 lb a cull cow is carrying weight the packer will not pay to haul.

I checked whether that cliff was an artefact of pooling seven years in which prices tripled. It is not — restrict to the last 24 months and the top bands still come in at $0.27 and $0.09.

Which means the headline number, the $0.87/lb I would have quoted for feeder steers, is an average of a steep middle and a flat top and describes no animal in the barn. For an actual decision you need the value of gain at the weight you are standing in front of.

And it is not one number through time either

Everything above treats the value of gain as a fixed property of a market type that I can estimate once, from seven years of lots, and quote. Having just argued that the number varies across weight, I went on assuming it held still across time. It does not, and that assumption turns out to be the larger of the two errors — mine included.

The model that shows it is a dynamic linear model: the regression coefficient follows a random walk from month to month rather than sitting still, so beta_t is the value of gain in month t and arrives with a credible interval attached. Its walk scale is partially pooled across the five market types — slaughter bulls have 814 lots against feeder bulls’ 4,959, and pooling lets the thin series borrow strength on how fast a coefficient plausibly moves rather than inventing that from almost no data.

value of gain · $ per pound · 89% credible interval$1$2steerfeeder$1.33from $0.79heiferfeeder$2.17from $0.81bullfeeder$1.78from $0.75cowslaughter$2.40from $0.78bullslaughter$2.59from $1.012019202120232025
Value of gain per month for each market type, as the posterior median of a random-walk coefficient inside its 89% credible interval, on one shared scale. The dashed rule is $1.50 — the top of the cost-of-gain range used earlier. The band widens where a market traded thinly: unobserved months contribute no likelihood, so the walk simply diffuses across them rather than the gap being quietly closed up. Every market ends far above where it started, and the two slaughter rows sit above the two feeder rows throughout.
data table
market typelots2019-052026-0389% CIpeakchange
feeder steer2,227$0.79$1.331.14–1.51$1.88 (2025-11)+$0.53 [0.24–0.85]
feeder heifer4,833$0.81$2.172.05–2.28$2.17 (2026-03)+$1.35 [1.20–1.52]
feeder bull4,959$0.75$1.781.64–1.92$1.82 (2025-12)+$1.04 [0.84–1.23]
slaughter cow1,161$0.78$2.402.12–2.69$2.40 (2026-02)+$1.62 [1.30–1.94]
slaughter bull814$1.01$2.592.37–2.81$2.59 (2026-03)+$1.58 [1.29–1.87]

Every one of the five roughly doubled or better:

market type 2019-05 2026-03 change (89% CI)
feeder steer $0.79 $1.33 +$0.53 [0.24, 0.85]
feeder heifer $0.81 $2.17 +$1.35 [1.20, 1.52]
feeder bull $0.75 $1.78 +$1.04 [0.84, 1.23]
slaughter cow $0.78 $2.40 +$1.62 [1.30, 1.94]
slaughter bull $1.01 $2.59 +$1.58 [1.29, 1.87]

Not one of those intervals comes near zero. The posterior probability that the value of gain rose over the period is 1.00 for every market type in the barn.

So the single figure I quoted for each market earlier — $0.87 for feeder steers, $0.65 for feeder bulls — was a straight line fitted through a coefficient that was climbing the whole time. It does not describe 2019 and it does not describe now. It describes the middle of a ramp, weighted by whenever that market happened to sell the most lots, which is a property of the sale calendar rather than of cattle.

That is the same mistake as the weight-band one, in a second dimension, and I made it while writing the section that warns about it.

It also revises the headline. Comparing pooled figures gave me “roughly twice as much for a pound on a mature animal.” Comparing the two ends of the barn month by month gives a gap that has never closed but has never been that wide either — 1.14× in May 2019, 1.82× at its widest in 2020, 1.42× in March 2026. The direction was right and the magnitude was an artefact.

The one genuinely new thing the time view buys is a current answer. Feeder steers are at $1.33 [1.14, 1.51] and falling from a $1.88 peak in November 2025; slaughter bulls are at $2.59 [2.37, 2.81] and still climbing. Against a $0.80–$1.50 cost of gain, that is the difference between a trade the market has stopped rewarding and one it is rewarding more every month — and no seven-year average could have told me which was which.

The number depends on a choice nobody made out loud

One more, and it is my own fault.

My dashboard reports the weight–price regression in two places. One section weights every lot by recency — a 24-month exponential half-life, so last month counts for more than 2019. The other runs plain unweighted least squares. I wrote both, months apart, and never noticed they disagree.

They disagree by a lot:

market type unweighted recency-weighted
feeder steer $0.87 $1.01
feeder heifer $0.93 $1.15
feeder bull $0.65 $0.93
slaughter cow $1.42 $1.81
slaughter bull $1.86 $2.20

Those are the hollow rings in the by-market chart earlier. Recency weighting raises every estimate, because the recent market is the expensive one — and for two of the five types it moves the number across a decision boundary. Feeder bulls go from “below cost, buy heavier” to “inside the band, no call.” Slaughter cows go from “inside the band” to “above it, feed them yourself.”

Neither weighting is wrong. Unweighted answers what has this barn paid; recency-weighted answers what is it paying now, and for a decision you are making this week the second is clearly the better question. The failure was shipping both without saying which was which, in a table headed “Decision Guide.”

What I find slightly galling in hindsight is that the whole dispute is a crude version of the previous section. A recency half-life is a guess at how fast the coefficient moves, hard-coded, applied identically to a market with 4,959 lots and one with 814. The dynamic model estimates that rate instead — and pools it across market types so the thin series is not left guessing on its own. Two tables arguing about a tuning constant, when the constant was estimable the whole time.

What I actually learned

The unit was never lying. $/cwt is a perfectly good rate and it falls with weight for a real reason — a light calf is sold on the gain it has not made yet. I was reading a rate as a price, which is a mistake the data cannot warn you about, because both readings produce a number and only one of them is money.

What I did not expect was where it landed. The pound that pays best here is not on the young animal that converts feed most efficiently. It is on the old cow nobody is bidding on for her future — because at that end of the barn you stop being paid for potential and start being paid for what is actually there.

The honest limits, which I would rather state than bury: this is one barn in one county, and the straight-line fits I opened with are lines through clouds with R² between 0.07 and 0.18.

And I got the size of it wrong on the first pass. I had this at twice as much for a pound on a mature animal, from a single slope fitted across seven years. Fitting the coefficient month by month instead puts the gap nearer 1.4× — narrower, but present in every month of the record rather than on average, which is the better claim even though it is the smaller number. Both errors in this post came from the same habit: estimating one number where the thing being estimated was moving, first across weight and then across time.

But the largest gap is not in the data at all — it is that I do not know my own cost of gain, so the threshold every one of these estimates is read against is borrowed. Sharpening my own number would resolve more of this than any amount of further work on the sale-barn records, and it is the cheaper job: the records are 15,583 lots of somebody else’s arithmetic, and the feed bill is in a drawer in my kitchen.

That is the actual lesson of a thirty-head place. I went to seven years of market data to correct an intuition I had no way to test on my own animals, and it worked — the sign was wrong and now I know it. But the data could only take me as far as the threshold. The last number has to come from me.