Skyread™

Skyread outlook: how it is made and how it has done

Skyread forecasts a few dozen prices, pay rates and sales that grocery, restaurant and freight businesses plan around, 3 to 12 months ahead. Every forecast is tested on years of past data first, and an outlook is shown only where its test errors were smaller than simple rules' and its ranges held about as often as they claim. Everything below can be checked.

Not a guarantee. Skyread outlooks are statistical estimates with ranges, made from past data, not promises or guarantees: an 80% range is expected to miss about one time in five, and more often when the economy changes abruptly. They are not investment, financial, tax or legal advice. Agency outlooks shown alongside are the agency's own, credited to it.

See also the public accuracy test of Skyread's published data.

8 of 37series with a published outlook
26withheld (failed a test below)
3passed the tests but too volatile to call usefully
2026-10-30.2method version

Updated 2026-10-31 03:05 UTC, after the latest data update. Raw results: JSON. Code: forecast.py, forecast_engine.py, evals/forecast_backtest.py.

Reading an outlook

Each outlook gives a central estimate first, then a likely range. The likely range is Skyread's 80% range: in testing, 81% of the published series' 6-month outcomes (1160 test forecasts) fell inside such ranges, about 8 in 10. So about one time in five the outcome lands outside it, more often when the economy changes abruptly.

Prices in dollars, such as diesel and hourly pay, are given in dollars with the change from a year earlier; price indexes (CPI, PPI) as the change from a year earlier only. A series whose current 6-month likely range spans more than 10 points of yearly change gets no outlook, even when it passed every test: a range that wide is too volatile to be useful for a decision. That limit is Skyread's product rule, not a statistical test.

How the outlook is made

Equal-weight average of three standard models (exponential smoothing with a damped trend, ARIMA chosen by AICc from a small fixed set, and Theta), fitted to the log of the monthly level. Ranges come from the average's own past out-of-sample errors at each horizon (split-conformal), not from model formulas. Tested by rolling origin: a forecast from every month since 2008 using only data available then; accuracy and range coverage are measured from 2014 on, including 2020-2023. Published only for series whose test errors were smaller than 'same as a year earlier' at 6 and 12 months and than 'this year's rate of change continues' at 12 months (on average over the test months; at 12 months not a statistically conclusive margin), whose 6-month advantage over both rules is statistically significant (Diebold-Mariano test, one-sided p below 0.10), whose 6-month ranges score better than the year-earlier rule's own ranges, and whose 80% ranges held the outcome 75-85% of the time. A series whose current 6-month range spans more than 10 points of yearly change is withheld as too volatile to be useful. Tests use today's published values; producer prices, pay and sales are revised after release, so their real-time accuracy may be slightly worse. The published series were chosen by these same tests, so their future accuracy is more likely to be a little worse than tested than better.

How it is tested
  • Forecasts are of the change from the same month a year earlier, the number Skyread's cards show. The models work on the log of the level, so a range on the level is exactly a range on the yearly change.
  • Ranges are set by how wrong the forecasts have actually been: the 80% range is where 80% of past test errors at that horizon fell. Only errors known at the time count, and how often the range held is measured on later months.
  • Every test forecast from 2014-01 on is scored, including 2020-03 to 2023-12 (the pandemic and the price surge), which is also shown on its own.
  • Tests use the values as published today. Consumer prices are not revised after release, but producer prices (after four months), pay and sales are, so their real-time accuracy may be slightly worse than shown.
  • The series shown with an outlook are the ones that passed these same tests, so their future accuracy is more likely to be a little worse than their test results than better.
  • How often the 12-month ranges held differed a lot between 2020–23 and other years (see the last two columns): the overall share is an average over both, so in calm years they are often wider than needed, and in an abrupt change they miss more often.
  • Weekly fuel prices are forecast as monthly averages. Where USDA's Food Price Outlook covers the same price index, both are compared on the same yearly-average measure.

When an outlook is published

All of these, over every test forecast, checked again each time new data arrives. Each rule was written down before it was scored (the significance, range-score and usefulness rules in evals/results/forecast_v2_registration.md).

  1. More accurate than 'same as a year earlier' (the seasonal naive rule) at 6 and at 12 months: relative error below 1 (the forecast's mean absolute error divided by the rule's, on the same test months).
  2. More accurate than 'this year's rate of change continues' at 12 months: relative error below 1.
  3. At 6 months, more accurate than both rules by a statistical test: Diebold-Mariano, one-sided, with the Harvey-Leybourne-Newbold correction, p below 0.10 against each rule.
  4. At 6 months, its likely ranges score better than ranges built the same way around 'same as a year earlier' (the interval score of Gneiting & Raftery, which rewards narrow ranges and penalises misses).
  5. The 80% ranges held the outcome 75% to 85% of the time in testing, pooled over 3, 6 and 12 months.
  6. At least 60 test forecasts at 6 and at 12 months.
  7. Usefulness (Skyread's product rule, not a statistical test): the current 6-month likely range spans at most 10 points of yearly change. A wider one is too volatile to call usefully, so no outlook is given.
Reading the error figures

Relative error is the forecast's average error divided by the simple rule's, on the same months: 0.700 means 30% smaller errors; 1 or more means the simple rule did as well or better. The significance figure is the p-value of a one-sided Diebold-Mariano test with the Harvey-Leybourne-Newbold correction: below 0.10 means an advantage that large would arise by chance less than one time in ten if Skyread were no better than the rule. The range score is the mean interval score of Skyread's 80% ranges divided by that of ranges built the same way around 'same as a year earlier': below 1 means narrower ranges, or fewer and smaller misses. These are averages over the test months: the 12-month figures rest on only about a dozen non-overlapping years since 2014, so a value just under 1 means about as accurate as the simple rule, and even larger 12-month gains are not statistically conclusive. Briefings, the home page and assistants quote the 6-month outlook; the 12-month one is shown here and in the full series answer, with this note: At 12 months, our tests could not show these outlooks are reliably better than simple rules.

Backtest by series

Test forecasts from 2014-01; 12-month figures unless marked. Lower relative error is better.

SeriesOutlookvs same as a year earlier, 6 / 12 movs rate continues Significance at 6 mo (p vs year-earlier / vs rate continues)Range score vs year-earlier rule, 6 moCurrent 6-month likely range (pts) Error in the yearly change (pts): Skyread / year-earlier rule80% range held, 3 / 6 / 12 mo (pooled) 2020–23: relative error / 80% heldOther years
Grocery prices
bls.cpi.food_at_home · data through 2026-09
Published 0.420 / 0.760 0.764 0.004 / 0.060 0.519 4.6 2.2 / 2.8 86% / 77% / 74% (79%) 0.744 / 37% 0.797 / 91%
Grocery meat, poultry, fish and egg prices
bls.cpi.meats_poultry_fish_eggs · data through 2026-09
Published 0.524 / 0.893 0.692 0.002 / 0.002 0.653 7.0 3.6 / 4.0 80% / 79% / 78% (79%) 0.882 / 61% 0.904 / 86%
Beef prices at the grocery store
bls.cpi.beef · data through 2026-09
Too volatile 0.558 / 0.886 0.755 0.002 / 0.011 0.715 11.6 5.9 / 6.6 78% / 77% / 71% (75%) 0.953 / 65% 0.840 / 74%
Pork prices at the grocery store
bls.cpi.pork · data through 2026-09
Published 0.614 / 0.964 0.675 0.008 / 0.008 0.653 9.0 3.7 / 3.9 81% / 86% / 84% (84%) 0.864 / 76% 1.081 / 87%
Chicken and other poultry prices at the grocery store
bls.cpi.poultry · data through 2026-09
Withheld 0.627 / 0.966 0.800 0.031 / 0.099 0.695 5.9 3.2 / 3.3 74% / 73% / 71% (73%) 0.893 / 33% 1.174 / 89%
Egg prices at the grocery store
bls.cpi.eggs · data through 2026-09
Withheld 0.722 / 1.067 0.660 0.014 / <0.001 0.717 37.8 20.1 / 18.8 61% / 56% / 52% (57%) 1.062 / 59% 1.070 / 49%
Dairy prices at the grocery store
bls.cpi.dairy · data through 2026-09
Withheld 0.548 / 1.022 0.655 0.031 / 0.018 0.567 5.5 2.8 / 2.7 88% / 91% / 91% (90%) 0.849 / 72% 1.391 / 100%
Fruit and vegetable prices at the grocery store
bls.cpi.fruits_vegetables · data through 2026-09
Withheld 0.678 / 0.848 0.713 0.034 / 0.031 0.722 6.0 2.0 / 2.4 91% / 88% / 80% (87%) 0.700 / 54% 1.047 / 93%
Bread, cereal and bakery prices at the grocery store
bls.cpi.cereals_bakery · data through 2026-09
Published 0.436 / 0.802 0.735 0.030 / 0.063 0.460 4.1 2.3 / 2.9 80% / 81% / 81% (81%) 0.730 / 48% 1.039 / 98%
Prices of coffee, soft drinks and other nonalcoholic drinks at the grocery store
bls.cpi.nonalcoholic_beverages · data through 2026-09
Published 0.476 / 0.780 0.843 0.005 / 0.050 0.567 4.7 2.6 / 3.3 82% / 82% / 76% (80%) 0.800 / 30% 0.746 / 99%
Coffee prices at the grocery store
bls.cpi.coffee · data through 2026-09
Published 0.543 / 0.942 0.745 0.019 / 0.002 0.522 9.4 4.6 / 4.9 86% / 83% / 81% (83%) 0.898 / 65% 0.970 / 88%
Sugar and sweets prices at the grocery store
bls.cpi.sugar_sweets · data through 2026-09
Withheld 0.393 / 0.691 0.870 <0.001 / 0.033 0.547 5.1 2.7 / 3.9 86% / 88% / 83% (85%) 0.635 / 57% 0.757 / 96%
Butter, oil and other fats prices at the grocery store
bls.cpi.fats_oils · data through 2026-09
Withheld 0.574 / 0.931 0.800 0.063 / 0.102 0.550 7.8 3.5 / 3.7 85% / 81% / 84% (84%) 0.789 / 61% 1.416 / 96%
Fish and seafood prices at the grocery store
bls.cpi.fish_seafood · data through 2026-09
Published 0.543 / 0.945 0.771 0.003 / 0.005 0.603 6.4 3.0 / 3.2 79% / 77% / 71% (76%) 0.831 / 54% 1.073 / 79%
Prices of snacks, condiments, baby food and prepared foods at the grocery store
bls.cpi.other_food_at_home · data through 2026-09
Published 0.411 / 0.748 0.726 0.017 / 0.038 0.502 4.4 2.1 / 2.8 84% / 81% / 81% (82%) 0.735 / 48% 0.795 / 98%
Restaurant menu prices
bls.cpi.food_away · data through 2026-09
Withheld 0.144 / 0.289 1.152 <0.001 / 0.517 0.364 1.7 1.2 / 4.0 78% / 79% / 69% (76%) 0.399 / 22% 0.191 / 93%
Fast-food and counter-service menu prices
bls.cpi.limited_service_meals · data through 2026-09
Withheld 0.163 / 0.297 1.293 <0.001 / 0.682 0.424 2.1 1.3 / 4.2 83% / 81% / 79% (81%) 0.424 / 37% 0.169 / 100%
Sit-down restaurant menu prices
bls.cpi.full_service_meals · data through 2026-09
Withheld 0.154 / 0.302 0.968 <0.001 / 0.202 0.372 1.5 1.2 / 3.9 71% / 72% / 73% (72%) 0.404 / 37% 0.211 / 90%
Food manufacturers' selling prices
bls.ppi.food_manufacturing · data through 2026-09
Withheld 0.560 / 0.917 0.735 0.009 / 0.109 0.620 7.0 3.4 / 3.7 87% / 84% / 79% (83%) 0.915 / 54% 0.919 / 91%
Wholesale prices of processed foods and feeds
bls.ppi.processed_foods · data through 2026-09
Withheld 0.567 / 0.926 0.748 0.014 / 0.126 0.601 6.5 3.1 / 3.4 83% / 82% / 77% (81%) 0.916 / 54% 0.941 / 87%
Farm prices
bls.ppi.farm_products · data through 2026-09
Withheld 0.730 / 1.014 0.762 0.052 / 0.052 0.686 21.5 9.9 / 9.8 79% / 79% / 84% (81%) 0.977 / 50% 1.062 / 100%
Wholesale beef prices
bls.ppi.beef · data through 2026-09
Too volatile 0.742 / 0.999 0.626 0.025 / 0.005 0.778 24.3 12.6 / 12.6 81% / 80% / 74% (78%) 1.024 / 61% 0.974 / 81%
Wholesale chicken prices
bls.ppi.chicken · data through 2026-09
Withheld 0.719 / 1.036 0.622 0.057 / 0.002 0.700 17.9 9.6 / 9.3 75% / 70% / 65% (70%) 0.983 / 41% 1.092 / 76%
Wholesale cheese prices
bls.ppi.cheese · data through 2026-09
Withheld 0.706 / 1.044 0.571 0.003 / <0.001 0.834 18.4 7.4 / 7.1 88% / 90% / 97% (92%) 1.023 / 93% 1.058 / 99%
Wholesale wheat flour prices
bls.ppi.wheat_flour · data through 2026-09
Withheld 0.623 / 1.053 0.793 0.010 / 0.026 0.577 21.0 8.5 / 8.1 90% / 90% / 89% (90%) 0.947 / 65% 1.174 / 100%
Truckload freight rates
bls.ppi.truckload · data through 2026-09
Withheld 0.648 / 0.990 0.775 0.011 / 0.133 0.638 17.0 8.0 / 8.1 65% / 60% / 56% (60%) 0.944 / 26% 1.050 / 71%
Less-than-truckload freight rates
bls.ppi.ltl · data through 2026-09
Withheld 0.540 / 0.785 0.787 <0.001 / 0.058 0.713 10.5 5.1 / 6.4 75% / 68% / 75% (73%) 0.923 / 46% 0.689 / 89%
Trucking rates
bls.ppi.truck_transportation · data through 2026-09
Withheld 0.585 / 0.968 0.754 0.009 / 0.090 0.579 10.3 5.6 / 5.8 63% / 62% / 56% (60%) 0.940 / 22% 1.007 / 73%
Warehousing and storage prices
bls.ppi.warehousing · data through 2026-09
Withheld 0.646 / 0.827 0.850 0.031 / 0.469 0.677 8.3 4.0 / 4.8 59% / 52% / 58% (56%) 0.806 / 41% 0.860 / 66%
Diesel at the pump
eia.diesel_price · data through 2026-10
Too volatile 0.613 / 0.996 0.767 <0.001 / 0.043 0.695 48.1 21.6 / 21.6 81% / 80% / 77% (80%) 0.990 / 50% 1.002 / 91%
Gasoline at the pump
eia.gasoline_price · data through 2026-10
Withheld 0.714 / 1.029 0.732 0.005 / 0.045 0.788 45.0 17.7 / 17.2 81% / 82% / 84% (82%) 1.008 / 57% 1.047 / 97%
Restaurant hourly pay
bls.ces.food_services_ahe · data through 2026-08
Withheld 0.255 / 0.467 1.190 <0.001 / 0.550 0.497 2.0 2.3 / 4.9 72% / 69% / 71% (71%) 0.586 / 48% 0.365 / 82%
Grocery store hourly pay
bls.ces.grocery_ahe · data through 2026-08
Withheld 0.453 / 0.691 0.886 <0.001 / 0.015 0.643 5.3 3.1 / 4.5 76% / 72% / 66% (71%) 0.745 / 50% 0.625 / 74%
Trucking hourly pay
bls.ces.truck_transport_ahe · data through 2026-08
Withheld 0.338 / 0.582 1.141 <0.001 / 0.460 0.556 3.2 2.1 / 3.5 77% / 72% / 79% (76%) 0.581 / 65% 0.583 / 87%
Warehouse hourly pay
bls.ces.warehousing_ahe · data through 2026-08
Withheld 0.467 / 0.693 0.789 <0.001 / 0.035 0.768 3.7 2.3 / 3.3 74% / 73% / 65% (71%) 0.785 / 35% 0.629 / 81%
Restaurant and bar sales
census.food_services_sales · data through 2026-09
Withheld 0.510 / 0.768 0.647 <0.001 / 0.047 0.697 7.0 7.9 / 10.2 70% / 67% / 66% (68%) 0.970 / 22% 0.396 / 87%
Grocery store sales
census.grocery_store_sales · data through 2026-09
Withheld 0.448 / 0.623 0.708 <0.001 / 0.006 0.814 4.3 2.5 / 4.0 71% / 74% / 72% (72%) 0.745 / 26% 0.473 / 94%

The "about 8 in 10" above is pooled over all published series. Where one series' own record differs:

Withheld, and why

No outlook is shown for these series; their published data is unaffected.

Against USDA's Food Price Outlook

In our backtest of USDA ERS's 2023–2025 Food Price Outlook editions, using only the CPI data ERS had at each edition, Skyread's errors were smaller in 12 of 14 categories. That covers three years of outcomes, and our method was chosen in 2026 while ERS forecast in real time. ERS's errors were smaller for egg prices at the grocery store, fish and seafood prices at the grocery store.

USDA ERS forecasts the change in each food category's average price over the calendar year. For each ERS edition from 2023 to 2025 that forecast its own year, Skyread's backtest forecast made with the same CPI month ERS had (the month before the edition) is turned into the same yearly-average change, and both are compared with what BLS later published. Error in percentage points; lower is better.

Read with care

USDA's forecasts were issued at the time; Skyread's are backtest forecasts reconstructed in 2026 by a method chosen in 2026. The editions cover only three calendar years (2023, 2024 and 2025; none from October to December 2025, during the federal shutdown), and editions for the same year share one outcome, so this is evidence from three years, not from that many independent forecasts. ERS's historical forecast series is used: for 10 of the 112 category editions from January to August 2023 it differs from the numbers first published, by 0.1 point (0.3 for eggs in January 2023); ERS keeps no separate archive of later editions to check against.

CategoryEditionsSkyread errorUSDA errorUSDA range held
Grocery prices33 0.20.694%
Beef prices at the grocery store33 2.02.4100%
Pork prices at the grocery store33 0.50.997%
Chicken and other poultry prices at the grocery store33 0.30.5100%
Egg prices at the grocery store33 10.59.673%
Dairy prices at the grocery store33 0.50.7100%
Fruit and vegetable prices at the grocery store33 0.30.3100%
Bread, cereal and bakery prices at the grocery store33 0.30.891%
Prices of coffee, soft drinks and other nonalcoholic drinks at the grocery store33 0.41.094%
Sugar and sweets prices at the grocery store33 0.50.8100%
Butter, oil and other fats prices at the grocery store33 0.61.491%
Fish and seafood prices at the grocery store33 0.70.7100%
Prices of snacks, condiments, baby food and prepared foods at the grocery store33 0.20.688%
Restaurant menu prices33 0.20.394%

Source: USDA ERS Food Price Outlook (agency_outlooks). USDA's numbers are quoted unchanged; Skyread is not affiliated with USDA.

EIA's Short-Term Energy Outlook (diesel, gasoline) is not compared yet: past editions are not stored.

Issued forecasts against what happened

No published outlook has reached its month yet. Results appear here as each forecast month is published, inside or outside its range.