How this is built
Methodology
How every sale is read out of a government document, the extraction QA gate that keeps a bad row off the site, the effective-date rule, the audit trail, and the units, so you can check our work.
Why this page is the point
Public timber-sale results are published as documents, a state result sheet PDF, a Forest Service web table, a BLM sale-notice PDF, not as clean data. Turning those into a board means reading them, and a reader can only trust the board if they can see exactly how it was read and what is kept off it. So this page spells out the whole method. The honesty is the moat.
How a sale is read out of a document
For each source we fetch the agency's published document and pull its text. We then hand that text to a language model with a fixed schema and one standing instruction: return the sale records you can see, and leave any field blank that the document does not state. Do not infer, average, annualize or invent a number. A null is always better than a guess. The model reads each sale into the same set of fields, sale name, agency, region or forest, county, species, offered volume, minimum bid, winning bid, price, bidder count, high bidder, sale date and status, whether the source printed a neat table or a paragraph of prose.
The extraction QA gate
Before any extracted sale is published it passes a gate. A sale that fails is routed to a review log and left off the site, never shown. The rules:
- No sale date, no publish. A sale we cannot date to its auction is excluded, because we will not stamp it with the day we happened to read it.
- A sold sale must be coherent. A result marked sold must carry its offered volume, its minimum bid, a winning bid and a high bidder, and the winning bid must be at or above the minimum. A sold sale whose winning bid comes out below its minimum is a parse error, not a real result, so it is routed to review, not published.
- A no-bid sale must carry the offered volume and the unmet minimum to be shown as a no-bid.
- An advertised sale needs a place. A calendar entry can precede its appraisal detail, so its volume and value may be blank, but it must at least name the region or county it sits in.
Every routed sale is logged with the reason it failed, so the review queue is auditable. The gate runs on every ingest, so a bad row never reaches a page.
The effective-date rule
Every sale is dated to its auction date, the date printed on the result or notice, never to the day we fetched the document. A backfill of last year's results therefore reads as last year's results, not as today's news. A monthly result sheet dates its sales to that auction month; a federal table dates each sale to its bid-opening date; a sale notice dates to its scheduled auction. When a document gives us no resolvable sale date, the sale is excluded rather than dated to the present.
The audit trail
For every document we process we keep the raw extracted text, so any published sale can be traced back to the exact words it was read from. Nothing on the board is a figure we cannot show the source for.
MBF and CCF, kept apart
State agencies scale timber in thousand board feet (MBF); the US Forest Service scales in hundred cubic feet (CCF). These are different measures of wood, so a state price per MBF and a federal price per CCF are not comparable, and we never average across them. Every price on the site carries its unit. A region or forest page is priced in its own native unit, and the species price chart uses only MBF-scaled sold sales so it compares like with like. Where a source prints a per-unit rate rather than a total (the Forest Service advertised and bid rates are dollars per CCF), we multiply by the offered volume to get a total, and where it prints a total we divide by the volume to get the rate; both are arithmetic on the stated numbers, not an estimate.
Bid intensity and premium
The premium over minimum is the winning bid divided by the minimum bid, minus one, as a percent: how far a sale sold above its appraised floor. The bidder count is the number of bids the agency reports. Together they are the site's bid-intensity read, the competitive-heat signal no single agency publishes across sales. A region's monthly price is the simple average of its sold sales' prices, not volume-weighted, and only sold sales count; no-bid sales are recorded but do not enter a price average.
How the board is segmented: green sawtimber vs salvage and deck sales
The premium over minimum only means something when the minimum is a real appraisal. Some public sales are not standing green sawtimber: they are tree-length product decks, log decks, salvage, biomass, firewood, log sorts, stewardship service contracts, and product sales, which agencies price at a token minimum. On those, any real bid produces a premium of hundreds or thousands of percent, which would bury the green-sawtimber signal a log buyer actually reads. So the board is split into two classes, and each is ranked within itself.
A sale is classified as SALVAGE, DECK or PRODUCT (not green sawtimber) when either of these is true, and as GREEN SAWTIMBER otherwise:
- Its name carries a product marker, one of: deck or decks, salvage, biomass, firewood, sort or sorts, STWD or STEW (stewardship), DxP (a product sale), or IRSC (an integrated-resource service contract).
- Its minimum is a token per-unit rate, below the floor a genuine green-sawtimber appraisal never falls under (under about ten dollars per CCF for a federal sale, under about fifty dollars per MBF for a state sale). This catches an unmarked product sale whose appraised minimum is nominal, for example a sale offered at a quarter per CCF that bids to tens of thousands of percent over.
The headline table is green sawtimber, ranked by premium. Salvage, deck and product sales are ranked in their own table, and any premium on a token-minimum sale is displayed capped at over +1,000% so it never reads as a real market premium. The headline premium figure is the median over green sawtimber sales, not the mean, so a handful of token-minimum outliers cannot drag it. The two volume units are never blended in this or any other aggregate on the site.
Coverage and honest depth
The three sources go back different distances and we report each honestly. Washington DNR publishes per-sale monthly result sheets and annual result books that reach back many years, the deepest source. The Forest Service per-forest results tables retain only a few fiscal years on the page. BLM posts sale notices for advertised sales but does not publish per-sale winning bids on the public page, so its contribution is the advertised calendar, the offered volume and the species, not results. Where a source is shallow, the site is shallow there, and says so rather than padding it.
Geographic coverage is Washington and the Pacific Northwest to start, Washington DNR, Forest Service Region 6, and BLM western Oregon, not the whole country. Each additional state is its own body of public auction results, so the site grows state by state: Oregon (the Department of Forestry, ODF, and county sales), Idaho (the Department of Lands, IDL), and Montana (the DNRC) are the next targets, and are not on the board yet. When a state is not yet covered, it is simply absent, never implied.
What we do not compute
We do not forecast prices, we carry no appraisal model, and we never tell a reader what to bid or what a tract is worth. Where a public number does not exist we leave it blank rather than estimate it. Charts and figures on this site are free to republish with visible attribution and a link back.
For the plain-English version of how to read a page, see how to read this.
Republishing our charts and statistics
The charts and statistics on Stumpage are free to republish. Use them in an article, a report, a class, a presentation, or a post — you do not need to ask us first. We ask one thing in return: credit Stumpage with a visible link back to the page you took the figure or chart from, and keep that link live.
Every chart has an Embed chart button with a snippet you can paste straight into a web page. Because it points at the live image, the chart you embed today keeps updating itself as new data lands — you never have to swap in a fresh screenshot. Every data page, guide, and issue has a Cite button that hands you a ready-made citation line, including the date the data runs through. If you are quoting a number, keep that date: it is what tells your reader how current the figure is.