About › Signals
Experimental price signals: the full record
Every signal we publish a record for, including the ones we don't use, with the numbers needed to judge them. Recomputed every time the site updates (last: 2026-10-27 15:22). These are exploratory statistics, not shopping advice.
How each signal is tested
- What's predicted: whether next month's BLS average retail price will be higher or lower than this month's. The model always calls up or down. Months where the BLS price didn't change are left out of the record (the count is shown).
- Expanding-window backtest: each month, starting three years into the data, the model is refit on earlier months only and makes its call, which is then compared with what happened. Release dates aren't modelled: monthly averages are treated as available once their month ends. So this is a historical backtest, not a record of calls made in real time.
- Same model live: the call shown on an item page comes from this exact model, refit on every month available, for the month after the latest BLS figure. It appears only once that month's inputs are complete.
- Baselines: "naive" is the same regression using only the BLS price's own change the month before; "majority" always guesses whichever direction was more common in earlier months. A signal is shown only while it beats the naive baseline.
- Range: 95% confidence range for the share of months called right. p: an unadjusted two-sided paired test of the signal against the naive baseline on months where only one was right. It ignores dependence between months and the fact that we tested several signals, so it overstates certainty. A small p for a signal that does worse than naive is evidence it's worse, and is labelled that way.
- Size of the moves: the simple average monthly change in the BLS price in months the model called up, and in months it called down, with how many months each.
- Where hindsight remains: the four "research" signals and their delays were chosen in our October 2026 study, which looked at the full 2014–2026 history and tried more combinations than are listed here. The "fixed in advance" set (this month's store ads vs this month's BLS price, for every item with a BLS match) was specified before looking at its results, but it's still tested on old data, so it isn't a prospective test either.
Every signal with a published record
| Signal | Timing | Right | Naive | Majority | Range | p | Evidence vs naive | Avg move when called up / down (months) | Months tested | Status |
|---|---|---|---|---|---|---|---|---|---|---|
| Wholesale pork bellies → bacon research | 2 months later | 68% | 55% | 55% | 59–76% | 0.028 | Stronger | +1.2% (60) / −0.8% (50) | 110 (2017-04–2026-09), 1 flat left out | shown |
| Wholesale pork cutout → pork chops research | 1 month later | 64% | 55% | 39% | 55–73% | 0.132 | Moderate | +1.0% (59) / −0.6% (53) | 112 (2017-03–2026-09) | shown |
| Wholesale boxed beef → sirloin steak research | 1 month later | 56% | 53% | 33% | 40–70% | 1 | Weak | +0.9% (29) / −0.3% (7) | 36 (2023-07–2026-09) | shown |
| Store ads → official ground beef price research | same month | 62% | 58% | 59% | 53–71% | 0.487 | Weak | +1.1% (72) / −0.4% (39) | 111 (2017-03–2026-09), 1 flat left out | shown |
| Wholesale boxed beef → ground beef research | 1 month later | 69% | 66% | 69% | 52–81% | 1 | Weak | +0.8% (29) / +0.1% (6) | 35 (2023-07–2026-09), 1 flat left out | tested, not used on the site |
| Store ads → official eggs price fixed in advance | same month | 61% | 50% | 47% | 51–69% | 0.144 | Moderate | +5.1% (53) / −2.6% (56) | 109 (2017-04–2026-08), 3 flat left out | tested, not used on the site |
| Store ads → official sirloin steak price fixed in advance | same month | 52% | 51% | 54% | 43–61% | 1 | Weak | +0.7% (89) / +0.2% (23) | 112 (2017-03–2026-09) | tested, not used on the site |
| Store ads → official bacon price fixed in advance | same month | 67% | 57% | 53% | 57–75% | 0.126 | Moderate | +1.5% (55) / −0.8% (56) | 111 (2017-03–2026-09), 1 flat left out | tested, not used on the site |
| Store ads → official pork chops price fixed in advance | same month | 56% | 55% | 39% | 47–65% | 1 | Weak | +0.5% (54) / 0.0% (58) | 112 (2017-03–2026-09) | tested, not used on the site |
| Store ads → official chicken breast price fixed in advance | same month | 51% | 54% | 47% | 42–60% | 0.289 | No edge | +0.2% (61) / +0.3% (51) | 112 (2017-03–2026-09) | tested, not used on the site |
| Store ads → official whole chicken price fixed in advance | same month | 54% | 51% | 50% | 45–63% | 0.728 | Weak | +0.5% (59) / +0.1% (48) | 107 (2017-03–2026-09), 2 flat left out | tested, not used on the site |
| Store ads → official milk price fixed in advance | same month | 52% | 53% | 51% | 43–61% | 1 | No edge | +0.4% (53) / 0.0% (58) | 111 (2017-03–2026-09), 1 flat left out | tested, not used on the site |
| Store ads → official butter price fixed in advance | same month | 61% | 41% | 51% | 48–72% | 0.029 | Stronger | +1.2% (35) / −0.8% (26) | 61 (2021-06–2026-09) | tested, not used on the site |
| Store ads → official cheese price fixed in advance | same month | 47% | 54% | 53% | 38–56% | 0.057 | Worse than naive | +0.4% (46) / +0.2% (63) | 109 (2017-05–2026-09), 3 flat left out | tested, not used on the site |
| Store ads → official bananas price fixed in advance | same month | 48% | 53% | 45% | 38–58% | 0.125 | Worse than naive | +0.2% (51) / +0.2% (49) | 100 (2017-07–2026-09), 12 flat left out | tested, not used on the site |
Month by month: signals shown on the site
The last 12 backtest calls each signal made, each from a model fit only on earlier months.
Wholesale pork bellies → bacon (Bacon, evidence vs naive: stronger)
Current call: up for 2026-10.
| Month | Model called | BLS price moved | Right? |
|---|---|---|---|
| 2026-09 | up | +2.3% | yes |
| 2026-08 | down | +0.3% | no |
| 2026-07 | down | +0.4% | no |
| 2026-06 | down | −2.2% | yes |
| 2026-05 | up | −1.7% | no |
| 2026-04 | up | +0.4% | yes |
| 2026-03 | up | −1.5% | no |
| 2026-02 | down | −1.1% | yes |
| 2026-01 | down | +3.2% | no |
| 2025-09 | up | +1.1% | yes |
| 2025-08 | up | +1.3% | yes |
| 2025-07 | up | +0.3% | yes |
Wholesale pork cutout → pork chops (Pork chops, evidence vs naive: moderate)
Current call: down for 2026-10.
| Month | Model called | BLS price moved | Right? |
|---|---|---|---|
| 2026-09 | up | +0.4% | yes |
| 2026-08 | up | −0.9% | no |
| 2026-07 | up | +0.4% | yes |
| 2026-06 | up | −1.3% | no |
| 2026-05 | down | −1.8% | yes |
| 2026-04 | up | +4.8% | yes |
| 2026-03 | down | −0.3% | yes |
| 2026-02 | up | +1.4% | yes |
| 2026-01 | down | −5.1% | yes |
| 2025-09 | up | +1.3% | yes |
| 2025-08 | down | −0.1% | yes |
| 2025-07 | up | +1.6% | yes |
Wholesale boxed beef → sirloin steak (Sirloin steak, evidence vs naive: weak)
Current call: up for 2026-10.
| Month | Model called | BLS price moved | Right? |
|---|---|---|---|
| 2026-09 | up | −1.7% | no |
| 2026-08 | down | −1.6% | yes |
| 2026-07 | up | +1.0% | yes |
| 2026-06 | up | +1.2% | yes |
| 2026-05 | up | −3.1% | no |
| 2026-04 | up | +4.3% | yes |
| 2026-03 | up | −0.5% | no |
| 2026-02 | up | +2.6% | yes |
| 2026-01 | up | −1.4% | no |
| 2025-09 | up | −1.3% | no |
| 2025-08 | up | +5.6% | yes |
| 2025-07 | up | +4.9% | yes |
Store ads → official ground beef price (Ground beef, evidence vs naive: weak)
Current call: pending, waiting for a complete month of inputs.
| Month | Model called | BLS price moved | Right? |
|---|---|---|---|
| 2026-09 | up | −1.9% | no |
| 2026-08 | up | +0.6% | yes |
| 2026-07 | up | +0.9% | yes |
| 2026-06 | up | +1.2% | yes |
| 2026-05 | up | −2.2% | no |
| 2026-04 | up | +3.0% | yes |
| 2026-03 | up | −0.6% | no |
| 2026-02 | up | −0.2% | no |
| 2026-01 | up | +1.0% | yes |
| 2025-09 | up | +0.1% | yes |
| 2025-08 | up | +1.0% | yes |
| 2025-07 | up | +2.2% | yes |
Statistical tendencies in public USDA and BLS data, published so they can be judged. Not forecasts to act on.