US CPI — scenarios before, scorecard after

We publish numbered scenarios ahead of every US CPI release, then check them against real price action. Both live on this page, unedited.

next fork at US CPI

results from scored releases

1 correct / 4 calls, across 2 scored releases

1 right · 1 wrong · 2 did not move enough to count as a direction

No percentage published yet: we need at least 20 scored calls. Below that, a single figure tells you less than the per-release table below.

Upcoming releases

  1. in 1 d
  2. in 28 d
  3. in 58 d

Dates only, no times: release times depend on seasonal clock changes and we publish them only once the weekly calendar confirms them. The numbered scenario goes out about a day before each release.

Calendar source: forexfactory.com

US September CPI: an energy-hot headline, the real test is core

Release:(UTC)in 1 d

Forecast
0.6%
Previous
0.4%

Before — what we said

US September CPI is due at 12:30 UTC on Oct 14. Consensus expects headline at 0.6% m/m (prior 0.4%), 3.6% y/y (from 3.4%), but core slowing to 0.2% m/m (from 0.3%), 2.5% y/y (from 2.4%). The headline–core gap says the heat is energy; the market will grade core. The in-line branch is heaviest because a 0.1pp core miss is enough to switch branches. We issue a call on BTC only: its CPI-day range runs 1.27x a normal day. Gold is dropped: its release-day range is narrower than normal (0.85x). EURUSD is dropped: the ratio is exactly 1.00, and both of our past EURUSD calls on this release went flat within 4 hours. The running view (gold neutral, EURUSD bearish) stands; only the soft branch threatens to flip EURUSD.

The macro picture right now

Markets already price a hawkish Fed: 10y real yield at 2.87% (z +2.61) and 2y yield at 4.75% (z +2.17) are both at extremes — so a hot print mostly confirms what is priced, while a soft print hitting that extreme should draw a larger reaction than the same-sized surprise in normal conditions. 10y breakevens are only 2.33% (z +0.24): pressure sits in real rates and term premium, not inflation expectations, so an energy-driven headline struggles to move yields on its own. MOVE is 98.47 (z +2.09) but down 8.82 points over 5 sessions — bond vol is being sold into the event. On BTC, speculative positioning at 11.851% OI (z +1.57) jumped 8.3 points in 5 sessions while DVOL at 37.38 (z −0.73) is cheap: longs are crowding in while options are not paying for CPI-day volatility. EUR is heavily shorted (−11.414% OI, z −1.98), fuel for a squeeze on a soft print.

How the last print went

Headline CPI m/m has traced a V: a 0.87% peak in March, down to −0.42% in June, then back up to 0.07% and 0.40% in August. A 0.6% consensus print would be a third straight rise — a trend rather than noise. The 11 clean prints span −0.42% to 0.87%, median 0.30%, standard deviation 0.31: 0.6% is high but inside the range, so the hot branch rests mainly on core, not on an extraordinary headline. We have no core series, so the 0.2% view rests on consensus alone. August PPI (0.40%) is an older period and only says input pressure has not cooled. Lane news (a storm shutting 63% of US Gulf oil output, Goldman lifting its Brent forecast) all landed in October — it speaks to next month's CPI, not this one, and is easy to misread as a hot clue. Our last two BTC neutral calls: September right (0.913%), August wrong as price fell 1.384% — neutral can lose to a one-way move.

What it reaches, and how

BTC: the path is indirect. The real-yield lane is below the noise floor for BTC (us10y r −0.23), so the chain runs CPI → Fed expectations → USD (r −0.39) and Nasdaq (r +0.35) → BTC. That route is moderately open, which is why CPI days widen its range despite no direct lane. Gold: its dominant lane is USD (dxy r −0.49), tied with VIX — and the gold–VIX link is currently INVERTED versus theory (r −0.40), meaning gold is not acting as a haven. CPI must travel CPI → real yields (r −0.29) → USD → gold, two hops, and the data show release days do not widen gold's range. EURUSD: the only direct path (us10y r −0.39 matches the event lane), but Fed–ECB divergence is already priced, so CPI days have never ranged differently from normal; only a clearly off-consensus core print would push it out of range.

Scenarios when the number lands

Three branches, only ONE happens. Each carries its own numeric threshold and an expected direction per asset.

  1. Numbered threshold

    Core CPI m/m ≥ 0.3% (or CPI m/m ≥ 0.8%)

    If this branch plays out:▼gold▼BTC▼EUR30%likelihood

    Core re-accelerating validates Hammack's call for further tightening; with the 2y already at extremes, the room left is limited and the furthest move runs through the dollar — BTC takes added pressure from freshly crowded longs.

  2. Numbered threshold

    Core CPI m/m = 0.2% and CPI m/m within 0.5–0.7%

    If this branch plays out:▬gold▬BTC▬EUR50%likelihood

    An energy-hot headline is read as something the Fed looks through and a 0.2% core adds no news; yields and the dollar hold their levels, and BTC ranges wider than a normal day but without direction.

  3. Numbered threshold

    Core CPI m/m ≤ 0.1%, or Core 0.2% with CPI m/m ≤ 0.4%

    If this branch plays out:▲gold▲BTC▲EUR20%likelihood

    A soft print runs against extreme real yields and crowded EUR shorts, so the reaction outsizes the hot branch despite lower odds: real yields ease, the dollar softens, EURUSD gets short-covering fuel, and gold and BTC get relief via the dollar channel.

Where we commit — and what would prove us wrong

Unlike the branches above, these carry no “if”. They are the lines graded against real prices below, and they are never edited after the print.

  • BitcoinSIDEWAYSConviction 3/10

    Invalidated if: Within 4 hours of the release, an H4 candle closes above 82,415 (6-touch resistance) or below 80,687 (4-touch support 81,376 minus one H4 ATR14 of 689)

Whether markets separate the energy-driven 0.6% headline from core — if the 2y yield climbs even on a 0.2% core, the Fed is being priced as no longer looking through energy.

This release has not reached its review window yet. The after section will be added to this same page.

August core CPI: the only question is whether oil bleeds into core

Release:(UTC)

Forecast
0.2%
Previous
0.2%
Actual
0.29%
vs forecast
+0.09%

prior period revised 0.20% → 0.22% · Actual figure from BLS (series CUSR0000SA0L1E) · no second source to cross-check yet · figure added later — the analysis below was written without it

Before — what we said

August core CPI lands at 12:30 UTC on 11 September: consensus 0.2% m/m, level with the prior month; core y/y expected at 2.4% from 2.5%. The interesting line is the one beside it — headline is expected to jump from 0.1% to 0.4%, which means consensus has already written in the assumption that the fuel shock stays inside energy and does not leak into core. The whole release asks one question: is that assumption right. The in-line branch carries the most weight because core rounds to one decimal and has been pinned at 0.2% for two prints running. We deliberately skip gold: this is a release on which gold does not trade wider than an ordinary day, and the channel linking it to real yields sits below our noise floor (numbers in the transmission section). EURUSD leans mildly higher, a step away from the running neutral bias — the reason is the asymmetry in the 2-year, not the ECB, and it only counts once the ECB press conference has set the level.

The macro picture right now

The market walks into this print with hawkish pricing at one-year extremes: the 2-year at 4.39% (z +2.02) and the 10-year real yield at 2.43% (z +1.92). That skews the asymmetry — a hot number has to be very hot to add anything to pricing that is already full, while an in-line or soft number has open space for rates to step back. Ten-year inflation expectations have also drifted to 2.37% (z +0.83) on crude, so "higher inflation" is partly in the price already; what is not in the price is higher core inflation. Against that, broad USD sits at 118.073 (z -1.50) with the 10-year at 4.837%: the rates-dollar link is severed, so a move in yields does not automatically become a move in the dollar. No defensive cushion has been bought — HY at 2.67% (z -1.16), VIX 16.46, MOVE 76.741 at only z +0.43. Positioning leans both ways: gold crowded at 54.944% of OI (z +1.27); EUR light at -2.88% of OI (z -1.05), leaving room to cover shorts; BTC has shed 15.932 points of %OI in five sessions with funding at 0.356‱ and DVOL 40.2 (z -0.46) — leverage is off the table, so the print hits spot rather than triggering a liquidation chain.

How the last print went

The series we hold is headline CPI m/m, not core — its band is far wider than core's, so do not read it straight across. Headline ran 0.07% (Jul 2026) after -0.42% (Jun 2026), preceded by 0.47%, 0.64%, 0.87%; median of the 11 clean prints 0.30%, standard deviation 0.31. That is a sharp cooling after three hot months, so the 0.4% consensus for August is an energy step, not the underlying trend returning. Direct clues are thin: PPI at -0.03% belongs to the July reference month, describes last month, and says nothing about August. On the lane, Waller says he finally sees signs of inflation easing, while August payrolls at 162K against roughly 53K expected leave the demand side intact. Our lean is a mild upside risk to core through airfares and transport, since WTI is up 14.08% over one month; this can be wrong because fuel pass-through into fares usually lags one to two months and August may not capture it. On 12 August we were wrong both ways: we called EURUSD higher and it went flat at -0.143%, called BTC neutral and it ran -1.384%.

What it reaches, and how

The event runs on the real-yield lane, and only one of the three assets has a straight line to it. EURUSD: core print -> 2-year and 10-year yields -> the cross, at r=-0.29 ±0.12, the only relationship in the table above our noise floor, with release-day range at 1.23 times a normal day (n=18). Two deductions: no axis clears the floor for EURUSD's dominant lane, and the ECB press conference beforehand will have moved the level the CPI number lands on. BTC: its link to the 10-year is r=-0.11 ±0.13, below the floor, so the route has to detour — core -> real yields -> USD -> BTC (r=-0.45) — and it is exactly the middle leg that is currently broken. So even with release-day range at 1.24 times normal, we have grounds for "this day matters" and none for a direction. Gold: the same broken leg, plus r=-0.20 ±0.12 below the floor, plus release-day range at 0.90 times normal — narrower than an ordinary day; and gold-VIX at -0.31 runs against the textbook, so even the risk aversion of a hot print opens no door for gold.

Scenarios when the number lands

Three branches, only ONE happens. Each carries its own numeric threshold and an expected direction per asset.

  1. Numbered threshold

    Core CPI m/m ≥ 0.3% (or core CPI y/y ≥ 2.6%)

    If this branch plays out:▼gold▼BTC▼EUR30%likelihood

    The oil shock has reached core. This is the only branch with enough force to re-couple the severed rates-dollar link, because Fed expectations would have to reprice from a starting point already at a hawkish extreme with no room left to absorb. Crowded gold positioning and credit that has bought no protection are the first places the pressure lands; BTC takes it through the dollar door, if that door reopens.

  2. Numbered threshold

    Core CPI m/m = 0.2% and core CPI y/y 2.4–2.5%, even with headline CPI m/m ≈ 0.4%

    If this branch plays out:▬gold▬BTC▲EUR52%likelihood

    Core holds still while headline jumps on fuel — the market reads a supply shock rather than a demand one, and the hawkish pricing in the 2-year loses its reason to travel further. The only channel above the noise floor is 10-year yields into EURUSD, but the distance is capped early by 1.1638 (8 touches) with H4 ATR at just 0.0016; BTC has no open conduit through which to take a direction.

  3. Price moved most like this branch 3 of 3 assets agreed

    Numbered threshold

    Core CPI m/m ≤ 0.1% (or core CPI y/y ≤ 2.3%)

    If this branch plays out:▲gold▲BTC▲EUR18%likelihood

    A core miss with real yields at a one-year high forces both ends to reprice — Fed expectations and the broad dollar — which makes this the branch that travels furthest per unit of surprise. Light EUR positioning lets short-covering overshoot what the number alone justifies; gold, if it reacts at all, goes through the dollar door rather than the real-yield one.

Where we commit — and what would prove us wrong

Unlike the branches above, these carry no “if”. They are the lines graded against real prices below, and they are never edited after the print.

  • EUR/USDBULLISHConviction 5/10

    Invalidated if: EURUSD trading below 1.1619 (8 touches) in the hours after the print invalidates this call.

  • BitcoinSIDEWAYSConviction 5/10

    Invalidated if: An H4 close below 76,925 or above 78,723 (3 touches each) within four hours of the print invalidates this neutral call.

The thing to watch is the 2-year's reaction rather than the dollar's: if a hot number lifts the 2-year while broad USD still refuses to follow, the rates-detached-from-FX regime is intact and every scenario routed through the dollar has to be discounted.

After — were we right

We could not retrieve the official core CPI print from the issuing agency for this period, so no number is quoted here — only the price reaction. Per CNBC, BTC slipped to around $77,000 as CPI landed, with markets pricing roughly a 70% chance of a Fed hike. From the 12:30 UTC mark: gold +1.10% at 15 minutes, +1.25% at one hour, +0.53% at the H4 mark, with extremes of +1.43% and -1.13%. BTC +1.22% at 15 minutes, spiked as far as +3.63%, and sat at +0.91% at H4 against a -1.36% low. EURUSD barely moved: +0.053% at one hour, +0.028% at H4, the whole window contained between -0.237% and +0.158%.

Two calls scored, one hit. BTC neutral: correct, +0.91% at the H4 mark; the lower invalidation leg (76,925) reads intact — price spiked and gave it back inside the window, but our level was written on H4 closes. EURUSD bullish: scored flat at +0.028%. And the invalidation we published ourselves — "below 1.1619" — was broken: price was already 1.15967 at the print, so we wrote the kill-switch on the wrong side of spot from the start, a drafting error on our side. Price action looked most like the soft branch, 3 of 3 assets agreeing. The biggest mover was gold — the asset we deliberately skipped, arguing it trades narrower than normal on this release. That argument failed.

What price did around the release
  • EUR/USD+0.03%

    1.1597 → 1.1600

  • Bitcoin+0.91%

    77,094 → 77,798

The solid line is real price (15-minute bars). The vertical rule is when the news landed. The coloured dashed line is what we said BEFOREHAND: how far price would go, in which direction, by the grading mark — the gap between the two lines is our error. For a neutral call the promise is the shaded box: price had to STAY inside it. Each panel has its own scale, so read the % beside each asset name rather than comparing panel heights.

  • EUR/USDBULLISHflat (below threshold)+0.03%
  • BitcoinSIDEWAYScorrect+0.91%

Each row: the call we published before the event → the REAL price change measured 4 hours after the moment that moves price.

Published invalidation levels: EUR/USD — broken · Bitcoin — intact

Ahead: The running frame: gold bullish — a debasement bid is overriding a cycle-extreme 2.46% real 10-year yield; BTC neutral, with resistance at 79,362 capping the post-CPI bounce; EURUSD neutral, ATR14 H4 at just 0.0017 inside a 1.1586-1.1625 box ahead of the 16 September FOMC. Last note's watch item still holds: the 2-year at 4.43% with roughly 70% hike pricing, while broad USD stays at z -1.5 — the rates-FX link is still severed, so any scenario routed through the dollar has to be discounted.

US Core CPI: a regime test for a market that has already priced cooler inflation

Release:(UTC)

Forecast
0.2%
Previous
0.0%
Actual
0.2%
vs forecast
0%

Actual figure from Forex Factory (series calendar/aug12.2026) · no second source to cross-check yet

Before — what we said

At 12:30 UTC on 12 August the US releases July Core CPI m/m: consensus 0.2% after a 0.0% prior, alongside CPI m/m at 0.1% (prior -0.4%), CPI y/y 3.4% and core y/y 2.5%. What makes this print unusual is not the number but the setting: three Fed officials in the past week openly discussed raising rates again, so the inflation data will be read as a vote for or against that hawkish branch. We deliberately make no call on gold: across 17 prints, gold's release-day range is 1.56% versus 1.76% on normal days — 0.88x, meaning CPI days are actually narrower than average. The standing bearish gold bias comes from crowded longs after a +8.0% week and the 4,403.6 ceiling, not from this release. The mild bullish EUR/USD call is a small step away from the standing neutral bias, and the reason is positioning asymmetry rather than a view on the euro itself.

The macro picture right now

The market is pricing two contradictory things. The 10-year real yield at 2.40% (z +2.34) is a cycle high while 10-year breakevens sit pinned at 2.29% (z -0.45): the tight part of financial conditions already lives in the real leg, so a hot print has little room to push reals further and will instead land on the front end. The front end is exactly where the gap is: the 2-year at 4.19% (z +1.71) has still fallen 9bp in five sessions, meaning the market is fading the hawkish rhetoric — today's number decides which side concedes. Risk assets carry no premium to give back: HY at 2.70% (z -1.09) grinding tighter, VIX 15.53, Nasdaq flat. DXY at 99.822 has failed 100 for a sixth week and the broad dollar at 119.065 (z -0.76) means a hawkish surprise would hit a soft dollar rather than one already positioned for it. Two build-ups matter: EUR shorts at -7.26% OI (z -1.64, 7.4 points added in five sessions) are squeeze fuel, and BTC implied vol at 36.33 (z -1.14) with flat 0.23bp funding means a range break is being priced cheaply.

How the last print went

Headline CPI m/m ran 0.87% → 0.64% → 0.47% and then dropped straight to -0.42% in the 2026-06 print. Across 11 clean prints the median is 0.30% with a 0.30 standard deviation, so the last reading was a sharp outlier after months of orderly deceleration — the kind of shock that is usually partly reversed. The 0.1% headline consensus is precisely a partial bounce, not a return to the median. The limits of the leading clue must be stated: the latest PPI m/m of -0.28% covers 2026-06, the SAME reference month as the last CPI rather than the month about to print — it confirms a soft June and says nothing about July. We have no same-reference leading indicator this time. The real clue sits in the lane: July shed 23,000 jobs, and a weak labour month rarely comes with accelerating services, which is the part that dominates core. Where this can be wrong: the 0.0% core prior is itself an outlier, so mechanical rebound risk is genuine. WTI's +8.29% week belongs to August and does not touch this number. No prior print of this event has been scored in our book yet.

What it reaches, and how

The event runs on the real-yield lane, and that lane overlaps the dominant driver for only one asset. EUR/USD is the clean path: its correlation with the 10-year is -0.37 ±0.11, above the noise floor, so print → 2-year and reals → rate differential → the pair transmits directly, with a second leg through risk appetite (VIX -0.45, level with Nasdaq inside the error band). Across 17 prints, EUR/USD's release-day range is 1.37x a normal day, the highest of the three. BTC has no direct path: its correlation with the 10-year is only -0.21, below the ±0.12 noise floor, so we have NOT measured that relationship. It must route around through VIX (-0.41) and the dollar (-0.47), which is why the 1.25x release-day range reflects BTC as a beta on risk appetite that day rather than a rates asset — the readable signal is whether the range breaks, not which way. Gold is blocked twice over: the event lane touches it at only -0.32 while its dominant driver is the dollar at -0.57, so CPI must travel print → reals → USD → gold; and its +0.39 with Nasdaq and -0.46 with VIX both run against textbook, meaning gold currently trades as a risk asset rather than a hedge.

Scenarios when the number lands

Three branches, only ONE happens. Each carries its own numeric threshold and an expected direction per asset.

  1. Price moved most like this branch 3 of 3 assets agreed

    Numbered threshold

    Core CPI m/m ≥ 0.3% (or core y/y ≥ 2.6%)

    If this branch plays out:▼gold▼BTC▼EUR28%likelihood

    This branch runs straight through the front end: a 0.3% print validates the hawkish camp, undoes the 2-year's recent slide and pushes the dollar back at 100. EUR/USD loses both the 1.1540 shelf and 1.1528, a distance worth 2–3 H4 ATRs. BTC arrives late because it must route through risk appetite, but 63,779 is hard to hold if HY credit starts demanding a premium from today's tight starting point.

  2. Numbered threshold

    Core CPI m/m = 0.2% and core y/y = 2.5%

    If this branch plays out:▬gold▬BTC▲EUR48%likelihood

    No new information: both y/y measures step down one notch and the rate-hike debate stays unresolved. Positioning then takes over — the EUR short base built over five sessions is squeeze fuel toward 1.1557, while BTC stays inside its narrow band with implied vol still cheap, exactly the coiled state it is in now.

  3. Numbered threshold

    Core CPI m/m ≤ 0.1% (or core y/y ≤ 2.4%)

    If this branch plays out:▲gold▲BTC▲EUR24%likelihood

    Core at 0.1% or below strips the hawkish branch of its argument for this month: the 2-year extends its slide, real yields step off the cycle high and the broad dollar continues lower. This is also the only branch that flips the standing bearish gold view — but it takes a decisive move through 4,429.5, not another touch of 4,403.6, since last week's crowd of fresh longs remains its own risk.

Where we commit — and what would prove us wrong

Unlike the branches above, these carry no “if”. They are the lines graded against real prices below, and they are never edited after the print.

  • EUR/USDBULLISHConviction 5/10

    Invalidated if: EUR/USD trades below 1.1528 within a few hours of 12:30 UTC and fails to reclaim it

  • BitcoinSIDEWAYSConviction 6/10

    Invalidated if: BTC exits the 63,779 – 64,462 band and holds outside it for a few hours after the release

Watch the 2-year before the headline: it is currently siding with the market rather than with this week's hawkish speeches, and today's number decides which side concedes — that, more than the print itself, drives EUR/USD and BTC over the next few sessions.

After — were we right

July CPI m/m printed 0.2%, exactly as forecast, a 0.00% surprise (source: Forex Factory). Per a reddit newswire line, core CPI rose 0.22% with the annual rate easing to 2.5% — essentially in line with the 0.2% and 2.5% consensus. Price action was far less benign than the number: EUR/USD ticked up +0.11% in the first 15 minutes, gave it all back and closed the 4-hour window at -0.14% inside a very tight range; gold popped +0.23% then reversed to -0.36% at 4 hours, touching -1.02% at the low; BTC dropped -0.45% immediately and extended to -1.38%, with a -1.70% low. An on-consensus print, yet all three assets closed the window in the red.

0 for 2 — the book records it plainly. The neutral BTC call (confidence 6) was WRONG: the asset fell 1.38% in four hours, nothing like the rangebound state we described. The mild bullish EUR/USD call (confidence 5) wasn't wrong on direction but went nowhere: the pair closed flat and the 1.1528 invalidation held intact — the EUR short squeeze we leaned on simply never fired. Deliberately making no gold call was the one sound decision in the prior note. Most telling: price action most resembled the "hot" branch (3 of 3 assets moved that way), even though on the written thresholds the print sat closest to inline — the market sold as if facing a hawkish surprise the data never delivered.

What price did around the release
  • EUR/USD-0.14%

    1.1546 → 1.1530

  • Bitcoin-1.38%

    64,412 → 63,521

The solid line is real price (15-minute bars). The vertical rule is when the news landed. The coloured dashed line is what we said BEFOREHAND: how far price would go, in which direction, by the grading mark — the gap between the two lines is our error. For a neutral call the promise is the shaded box: price had to STAY inside it. Each panel has its own scale, so read the % beside each asset name rather than comparing panel heights.

  • EUR/USDBULLISHflat (below threshold)-0.14%
  • BitcoinSIDEWAYSwrong-1.38%

Each row: the call we published before the event → the REAL price change measured 4 hours after the moment that moves price.

Published invalidation levels: EUR/USD — intact

Ahead: A 0.22% core reading strips the case for a rate hike this month — the hawkish ceiling is off. The standing view: gold bullish (conviction 7) on the fiscal-debasement bid, BTC and EUR/USD neutral, with EUR/USD pinned in a tight range ahead of US PPI. The next inflation risk has shifted to crude: WTI is up more than 10% on the week with Hormuz shut — that is the variable to watch, not the echo of this print.

Does this release actually move price

Intraday high–low range on release days versus ordinary days — measured on our own price data.

  • Gold (XAU/USD)1.55%1.81%0.85×19 releases
  • Bitcoin3.45%2.71%1.27×19 releases
  • EUR/USD0.40%0.40%1.00×11 releases

Median of (high − low) divided by the open, on daily bars. This measures VOLATILITY: it tells you whether the release is worth watching for that asset, not which way price will go.

Before every Fed · ECB · CPI print, the bot sends you scenarios with numeric thresholds — before the number lands. Then we score ourselves against real price.

Get free analysis Free, no card required. The bot messages you directly — not a group chat.