US core retail sales — scenarios before, scorecard after
We publish numbered scenarios ahead of every US core retail sales release, then check them against real price action. Both live on this page, unedited.
results from scored releases
1 correct / 2 calls, across 2 scored releases
1 right · 0 wrong · 1 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
- in 2 d
- in 35 d
- in 64 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
Core Retail Sales: the consumer print lands hours before the Fed
Release:(UTC)
- Forecast
- 0.6%
- Previous
- -0.3%
- Actual
- 1.4%
- vs forecast
- +0.80%
prior period was revised · Actual figure from Forex Factory (series calendar/sep16.2026) · no second source to cross-check yet · figure added later — the analysis below was written without it
Before — what we said
After the scenarios were published: consensus forecast changed 0.5% → 0.6%.
Core Retail Sales m/m (ex-autos) prints at 12:30 UTC on 16 September, consensus 0.5% after -0.3%; the headline is forecast at 0.8% after -0.6%. What makes this one worth flagging is the calendar, not the number: it falls in the same session as Warsh's first hike, hours ahead of the decision. Desks rarely carry size through that gap, so most of the reaction gets compressed and deferred to the meeting. We publish one call, on EURUSD. Gold is dropped: on this indicator's release days its range runs 0.89x a normal day (n=19) — the print day is quieter than an ordinary one. BTC is dropped at 1.02x, statistically a day with no news; its price right now is set by the CLARITY Act vote and the AI de-rating, not by US household spending. EURUSD at 1.16x is the only case where release day differs from a normal day.
The macro picture right now
The market has already priced a hawkish Fed, and priced it at extremes: the 2-year at 4.63% (z +2.69) and the 10-year real yield at 2.6% (z +2.57). Both sit at one-year highs, so a hot print has to be very hot to push them further — the hawkish surprise runway is shorter than the dovish one. Inflation expectations at 2.37% are unmoved, confirming this is a real-rate shock rather than an inflation one; HY spreads at 2.65% (z -1.27) show no credit stress travelling with it. The broken link is FX: broad USD at 118.213 sits at z -1.32 while rates sit at the opposite end of their distribution — months of higher yields have not bought a stronger dollar. That changes how to read a hot number: it can move yields without moving EURUSD. MOVE at 83.902 (z +1.22, up 10.802 over five sessions) says the rates leg of any reaction will be larger than usual for the same surprise. EUR speculative positioning is already at -4.522% of OI (z -1.23): the crowded side is short EUR, so a weak print carries more snap-back than a strong one carries follow-through.
How the last print went
We have no free series for this indicator, so we do not know its multi-period momentum — only that both core and headline were negative last month, and consensus is betting on a full rebound inside a single month. That is a strong assumption, not an interpolation. The one mechanical clue that holds: retail sales are nominal, and gasoline stations sit inside the ex-autos aggregate. WTI is up 20.99% over the month, so station receipts lift the core figure mechanically. Where the clue can fail: 6.81% of that move came in the last week alone, meaning most of the oil shock belongs to September rather than the reference period — if so, the lift shows up in next month's print instead. The 14 August release is the only scored period: we called EURUSD neutral and were right, with the pair moving 0.037% on H4. That is why confidence here is moderate rather than high. The lane carries no clue about the number itself; the one usable item is the 10-year France–Germany spread near 100 basis points, the widest since 2012 — a standing EUR headwind independent of US data.
What it reaches, and how
The event runs on the risk-appetite lane, but that lane drives none of our three assets: correlation with the Nasdaq is +0.17 ±0.13 for gold, +0.20 ±0.12 for BTC and +0.25 ±0.12 for EURUSD — all below the noise floor. So the number cannot travel directly; it has to detour through Fed expectations and then through the dollar. That detour is blocked for gold and BTC. Gold is governed by the dollar (r -0.58), and that same dollar axis gets repriced by the Fed decision hours later, not by retail sales; on top of that, gold's measured correlation to VIX is -0.38, the opposite of the textbook sign, so a risk-lane event cannot be mapped onto gold via 'risk up, gold up'. BTC also sits on the dollar axis (r -0.44) but has its own same-lane catalyst with a fixed date. EURUSD is the only one with no axis above the floor — its price is not yet committed to another story, so a fresh US data impulse still has somewhere to print. Its measured link to the 10-year is -0.26: weak, but pointing the same way as the detour above.
Scenarios when the number lands
Three branches, only ONE happens. Each carries its own numeric threshold and an expected direction per asset.
Numbered threshold
Core Retail Sales m/m ≥ 0.7% (or headline ≥ 1.0%)If this branch plays out:▼gold▼BTC▼EUR27%likelihood
A core figure well above consensus validates the hike that follows hours later, pushing the 2-year up from a base already at a one-year high. The path runs through Fed expectations before it reaches FX, so how far this branch travels depends on whether broad USD is willing to leave its extreme low; if yields rise and the dollar does not, that is one more confirmation the rates-FX link remains severed.
Numbered threshold
Core Retail Sales m/m between 0.3% and 0.6%If this branch plays out:▬gold▬BTC▼EUR48%likelihood
A rebound exactly as forecast confirms the US household has not cracked, but it is news already in the price and will be swallowed by the waiting gap before the Fed. The reaction most likely stays inside ordinary-hour ranges, and EUR keeps drifting on the European side of the ledger — the energy shock plus the French risk premium — rather than on US data.
Price moved most like this branch 2 of 3 assets agreed
Numbered threshold
Core Retail Sales m/m ≤ 0.2%If this branch plays out:▲gold▬BTC▲EUR25%likelihood
A second straight month of consumption near zero or negative turns the decision hours later into a hike delivered into weak data. This is the branch with the most snap-back, because EUR speculative positioning is already heavily tilted short; even so, the hike still happens, so any EUR bounce runs into a Fed ceiling.
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/USDBEARISHConviction 5/10
Invalidated if: EURUSD breaks and holds above 1.1564 (resistance with 6 touches, 1.1 ATR H4 away) in the H4 candles right after the 12:30 UTC print — that voids the bearish EUR view.
The thing to watch is not the number but whether the 2-year and the dollar move together on that same candle: if a strong print fails to lift USD, the rates-FX link is still broken, and the short-EUR case has to rest on Europe rather than on US data.
After — were we right
We could not obtain the official Core Retail Sales m/m figure from the US Census Bureau for this period, so what follows is about price only — we do not infer the number from the market reaction. In the H4 window after 12:30 UTC, EURUSD moved from 1.15304 to +0.05%, with the entire swing contained between -0.023% and +0.104%. Gold closed +0.177% after spiking +0.512% and giving it back to -0.363%. BTC ended -0.325%, at one point -0.674%; Cointelegraph noted Bitcoin below $76,000 as the market waited on the Fed decision. The reaction was compressed into the gap before the Fed, as most of the framework assumed: none of the three left an ordinary day's range.
The single call — short EURUSD, confidence 5 — did not pay: price closed the window 0.05% higher, scored flat, 0/1. Our published invalidation (1.1564) held, but price never came close, with the window high near 1.1543. Set more than 1 ATR away, that level did no work in a day whose full span was 0.127% — the invalidation sentence was written too loosely for this event. Price moved most like the 'cold' branch, with 2 of 3 assets agreeing: gold up, EUR up, BTC down where we had it neutral. We also wrote that EURUSD was the only asset whose release day differs from a normal one (1.16x); in practice it was the most inert of the three.
EUR/USD+0.05%
1.1530 → 1.1536
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/USDBEARISHflat (below threshold)+0.05%
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: The consumer print settled nothing; the axis is still the FOMC, 88-95% priced for a hike to 4.00%. Real 10y at 2.60% (z +2.53) and broad USD at z -1.32 against 2y yields at z +2.71 leave the rates-FX link broken for a fourth week. We stay short EURUSD, but resting on the European side (ECB parked, French risk premium) rather than on US data — exactly the fallback our watch item named. BTC bearish, conviction 5, after the Clarity Act failure and $450 million of spot ETF outflows.
US Core Retail Sales Aug 14: a small test of the dollar's jam under 100
Release:(UTC)
- Forecast
- 0.2%
- Previous
- -0.2%
- Actual
- -0.3%
- vs forecast
- -0.50%
Actual figure from Forex Factory (series calendar/aug14.2026) · no second source to cross-check yet
Before — what we said
At 12:30 UTC on Aug 14, the US prints core retail sales for the month: consensus looks for 0.2% after a −0.2% prior, alongside headline retail sales forecast at 0.1% after 0.2%. This is a medium-impact release, and our 18-period sample confirms it: on release days, gold's range runs just 0.90x a normal day and Bitcoin 1.02x — neither asset can tell the day apart. We therefore deliberately issue NO call on gold or Bitcoin this time; the only call is on EURUSD, the one asset whose release-day range measurably widens (1.15x).
The macro picture right now
The pricing backdrop is a long-running contradiction: 10-year real yields sit at 2.43% — a cycle high, z +2.42 — and 2-year yields at 4.22% (z +1.78), yet DXY stays pinned under 100 (now 99.93) with broad USD down five straight sessions. The yields-to-dollar channel is broken: a hot print that lifts yields may still fail to lift the dollar, and that is the key variable this release tests. On the EUR side, spec positioning has slid to −7.3% of OI (z −1.64, down 7.4 points in five sessions) — fast-built shorts that become squeeze fuel if the US number is soft. Risk appetite is relaxed: VIX at 14.55, HY spreads at 2.72% (z −0.96) — a surprise lands on an unhedged backdrop, which tends to make the first reaction cleaner.
How the last print went
We have no free historical series for this indicator family yet, so we cannot measure its actual momentum — we only have two points: last month printed −0.2% and consensus expects a flip back to 0.2%. That is a fairly bold rebound call after a contraction; the branch worth weighing is a second consecutive negative month, which would turn one bad data point into a weak-consumer trend — but without the series we have no basis to weight it above consensus. The risk-appetite lane over the past week carried only AI-financing and precious-metals headlines, nothing bearing on the retail number itself. This event also has no previously scored editions in our book.
What it reaches, and how
The event runs on the risk-appetite lane, and for EURUSD that lane essentially matches the dominant one (VIX r=−0.45, tied with Nasdaq r=+0.40) — a fairly direct path: soft print → lower Fed expectations via the 2-year → USD down → EURUSD up, with the EUR short base as kindling. A hot print runs the reverse route but must cross exactly the break described above: if yields rise and DXY still cannot clear 100, the EURUSD dip dies inside the box. For gold, the path must detour through USD/real yields, and the 0.90x range ratio says 18 releases have never seen this number complete that detour — only a tail print reaches it. Bitcoin has no measurable channel from this indicator (ratio 1.02): touching it would require a shock big enough to move DXY (r=−0.41), rare for a medium-impact print.
Scenarios when the number lands
Three branches, only ONE happens. Each carries its own numeric threshold and an expected direction per asset.
Numbered threshold
Core Retail Sales m/m ≥ 0.5% (beating the 0.2% forecast by 0.3pp or more)If this branch plays out:▼gold▬BTC▼EUR22%likelihood
A strong core rebound lifts 2-year yields, and the real test sits at DXY around 100: if the level again refuses to break — as it has all regime — EURUSD only retreats toward 1.1514–1.1503 and rebalances; only a DXY close above 100 genuinely threatens the box floor.
Numbered threshold
Core Retail Sales m/m between 0.0% and 0.4%If this branch plays out:▬gold▬BTC▬EUR50%likelihood
A sign-flip matching consensus adds no new information: EURUSD keeps hugging the 1.1528 pivot (6 touches), and with H4 ATR at just 0.0015 the distance to either box edge is too far for an in-line print.
Price moved most like this branch 2 of 3 assets agreed
Numbered threshold
Core Retail Sales m/m ≤ −0.1% (a second consecutive negative month)If this branch plays out:▲gold▬BTC▲EUR28%likelihood
A second consecutive negative month hits Fed expectations with broad USD already soft; the −7.3% OI EUR short base fuels a squeeze toward resistance at 1.1540 then 1.1551, and gold picks up a tailwind as real yields ease off their extreme.
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/USDSIDEWAYSConviction 5/10
Invalidated if: Within a few hours after 12:30 UTC, EURUSD closes an H1 candle outside the 1.1503–1.1551 box
The thing to watch is not the print but DXY's reaction around 100.00 after it: that reveals whether the yields-to-dollar channel has reconnected or remains broken — the foundation of the entire running bias.
After — were we right
Core retail sales m/m printed -0.3% against a 0.2% forecast — a -0.5 percentage point miss, and a second consecutive negative month after the prior -0.2% (source: Forex Factory). On the news lane, an x_influencer post reported July headline retail sales falling 0.6% versus a forecast +0.1%. The price reaction was far smaller than the miss: EURUSD started at 1.15696, went -0.035% in the first 15 minutes, +0.10% after an hour, and sat at just +0.037% by the H4 mark; the widest excursions in the window were +0.135% one way and -0.068% the other. Gold ended +0.133% at H4 (max +0.389%), Bitcoin was -0.276% after an hour before turning to +0.506% at H4.
Our only call — EURUSD neutral, confidence 5/10 — is scored correct: the whole H4 window covered 0.037%, with the widest excursion under 0.14%. Price traveled closest to the "miss" branch, with 2 of 3 assets agreeing: EURUSD and gold both edged up as the dollar softened. But the EUR short squeeze we described inside that branch never happened — a 0.5pp miss bought one tenth of a percent. And one technical error must be stated plainly: the 1.1503–1.1551 box we published was already stale at the pricing moment, since the base price of 1.15696 sat above its upper edge; the 1.1540 and 1.1551 resistance markers in that scenario were therefore meaningless. Deliberately issuing no call on gold and Bitcoin held up: neither moved more than 0.52%.
EUR/USD+0.04%
1.1570 → 1.1574
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/USDSIDEWAYScorrect+0.04%
Each row: the call we published before the event → the REAL price change measured 4 hours after the moment that moves price.
Ahead: The thing we said to watch — DXY around 100.00 — has answered: the yields-to-dollar channel remains broken, with DXY at 99.51 even as 10-year real yields hold a cycle-high 2.42%. Soft retail sales pulled the 2-year to 4.20% and firmed September cut odds. We move EURUSD to bullish (7/10): the 30-year Bund at 3.72%, a 2011 high, narrows the transatlantic rate gap just as euro shorts stay crowded. Gold bullish (6/10) via the dollar leg; Bitcoin stays neutral.
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.60%1.83%0.88×19 releases
- Bitcoin2.78%2.71%1.03×20 releases
- EUR/USD0.40%0.40%1.01×12 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.