US non-farm payrolls — scenarios before, scorecard after

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

Channel most closely tied to EUR/USD: Real yields (-0.39) · next fork at US CPI

results from scored releases

2 correct / 5 calls, across 3 scored releases

2 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 24 d
  2. in 52 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 payrolls: waiting for a pullback to 90K in a market already pricing a run of hikes

Release:(UTC)

Forecast
89K
Previous
162K
Actual
29K
vs forecast
-60K

prior period revised +162K → +133K · Actual figure from Forex Factory (series calendar/oct2.2026) · cross-checked against BLS

Before — what we said

After the scenarios were published: consensus forecast changed 90K → 89K.

September NFP is released at 12:30 UTC on 2 October. Consensus expects 90K jobs (prior 162K), unemployment holding at 4.1%, and hourly earnings +0.3% m/m. It is the week's last major catalyst, arriving with long-end yields at multi-year highs. We issue calls only for EURUSD and BTC: on NFP days their range runs 1.26x and 1.25x a normal day. Gold is dropped deliberately: across 10 releases its ratio is just 0.99, so NFP days are no more volatile for gold than any other day, and our gold quote is a 21-hour-old futures price. The running bearish gold bias stands; this release adds nothing to it. The in-line branch is heaviest; the soft branch outweighs the hot one because of the series' own recent drift (see last time).

The macro picture right now

The market is pricing a still-hawkish Fed: per lane news, the curve has added roughly 125bp of hikes through June 2027, and the 2y yield at 4.89% sits at z +2.81. Fed expectations are at an extreme, so a weak print has more room to reprice than a hot one. The 10y real yield at 2.91% (z +3.18) and MOVE at 110.5 (z +3.6) show the bond market itself under strain; with rate vol this high, a given surprise moves yields further than usual. Meanwhile BTC's DVOL is only 35.2 (z −1.05): BTC options price less volatility than the rates backdrop implies. Speculative positioning is lopsided on both sides. EUR is net short at −6.4% of OI (z −1.43), so a soft print could force short covering. BTC is net long at 12.35% of OI (z +1.68), so the hot branch is the one that triggers liquidation. HY spreads at 3.08% (z +1.3) are a reminder that credit stress has spread, so bad news will not necessarily read as good news.

How the last print went

NFP has been drifting weak. Three straight months from May to July printed +63K, +31K and +21K, then August jumped to +162K. That breaks a three-month run, the kind of shock that tends to partially reverse. The 12-month median is just +63K, the standard deviation about 110K, and three of those prints were negative. Consensus at 90K already assumes some reversion but still sits above the median. The clues lean mildly soft: Core PCE and JOLTS both came in soft, and Williams said only one more hike is needed, with 'no rush'. Where this could be wrong: we have no sibling indicator for the same reference month, and if 162K reflects real momentum rather than noise, the hot branch deserves more weight. Our record on this event: in September we called EURUSD lower and it went flat (−0.039%), a miss. In August we got gold higher right (+0.719%), while the EURUSD-higher call managed only +0.299% and was scored flat. Two straight directional EURUSD calls failed to clear the bar, which is why we stay neutral this time.

What it reaches, and how

EURUSD: the event's lane (real yields) matches the lane driving the pair (us10y r = −0.37), so the path is direct: NFP → short-end US yields → rate differential → EURUSD. It is the cleanest responder. BTC: its driving lane is risk appetite (nasdaq r = +0.39), with yields only secondary (us10y r = −0.29), so the path detours: NFP → yields → Nasdaq → BTC. That detour jams in the soft branch, where lower yields help BTC but weak growth amid credit stress weighs on equities, and the two forces cancel. In the hot branch they push the same way. Gold: in theory it runs through real yields and the dollar (dxy r = −0.52), but release-day data show this path adds no extra volatility. Gold's correlations with VIX and Nasdaq currently run against the textbook, so we do not force a causal chain onto it.

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 2 of 3 assets agreed

    Numbered threshold

    NFP >= 160K and unemployment rate <= 4.1%

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

    A second straight strong print would confirm that 162K was not noise and restore the October hike odds that PCE just removed. With the 2y already at an extreme, there is limited room for it to rise further, but high MOVE still makes it enough to push EURUSD toward the 1.13 area. For BTC, yields and equities press the same way on an already crowded long.

  2. Numbered threshold

    NFP between 21K and 159K and unemployment rate at 4.1%

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

    A print near consensus merely confirms the pullback the market has already priced. The 2y has little reason to move, so EURUSD and BTC likely stay inside their well-tested ranges. The long-end story returns to bond supply and term premium, which does not hinge on payrolls.

  3. Numbered threshold

    NFP <= 20K or unemployment rate >= 4.2%

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

    A soft print, matching the 21K–63K run before August, hits Fed expectations sitting at an extreme. Short-end yields have room to fall and EUR shorts may be forced to cover, so EURUSD is where this branch travels furthest. For BTC, lower yields are offset by growth worries with credit spreads already wider.

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 4/10

    Invalidated if: An H4 candle after the release closes below 1.1300 or above 1.1367

  • BitcoinSIDEWAYSConviction 3/10

    Invalidated if: An H4 candle after the release closes below 82,411 or above 84,427

Watch the 2y, not the 10y: soft PCE moved Fed expectations but not the long end. If payrolls disappoint and the 2y still won't fall, the problem is term premium, not the Fed.

After — were we right

September payrolls rose 29K, 60K below the 89K forecast. August was revised from +162K to +133K, a further −29K (source: BLS). Per CNBC, the unemployment rate rose. The first reaction went by the textbook: after 15 minutes gold was +0.756%, EURUSD +0.238% and BTC +0.224%. It did not hold. Four hours later gold was −1.219% (low −1.458%) and BTC −1.644% (low −1.845%). Only EURUSD stayed up, at +0.166%, after peaking at +0.462%. The 10y reclaimed 5.25%, erasing the entire post-report rally.

Scored 1/2. The neutral EURUSD call was right: +0.166% after four hours is not a directional move. But its invalidation broke. We wrote 'wrong if an H4 candle closes below 1.1300', and that happened: price was already at 1.1233 at the release, so the level was misplaced from the start. We were right because the range was narrow, not because of the band we drew. The neutral BTC call was wrong: −1.644%. Its invalidation below 82,411 stayed intact, so that line was too loose to catch a real decline. Our mechanism was also wrong: we expected the soft branch to move EURUSD furthest, but EURUSD barely moved while BTC and gold fell.

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

    1.1233 → 1.1252

  • Bitcoin-1.64%

    86,616 → 85,192

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.17%
  • BitcoinSIDEWAYSwrong-1.64%

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: Price moved most like the hot branch: 2 of 3 assets agreed (gold and BTC fell, EURUSD did not), despite a weaker-than-expected print. This is the case our watch note flagged: soft payrolls, but the long end will not ease. October hike odds fell to 17%, yet the 10y sits at 5.25%, so the problem is term premium more than the Fed. The system keeps gold bearish, EURUSD bearish on French fiscal stress, and BTC neutral.

NFP: a +55K consensus meeting an extreme real-rate backdrop

Release:(UTC)

Forecast
55K
Previous
-23K
Actual
+162K
vs forecast
+107K

prior period revised -23K → +21K · Actual figure from BLS (series CES0000000001) · no second source to cross-check yet

Before — what we said

Non-Farm Payrolls lands at 12:30 UTC on 4 September, alongside Average Hourly Earnings m/m (forecast 0.3%, prior 0.1%) and the unemployment rate (forecast 4.1%, unchanged from prior). NFP itself: consensus +55K after a -23K prior. This print matters because the regime has flipped — the market prices roughly 70% odds of a Fed HIKE, so strong labour data is no longer good news for risk but extra fuel for real yields. We publish one call, on EURUSD: it is the only asset that both trades a genuinely different day on release (1.51x its normal range) and carries a measurable link to the 10-year yield. Gold is excluded — its release-day range ratio is 0.99x, meaning NFP day looks like any other day, and gold's dominant lane right now is the dollar, not real yields. Bitcoin scores 1.25x, but its only open channel is also the dollar: enough to widen the range, not enough to set a direction.

The macro picture right now

The backdrop is at an extreme precisely in this event's own lane: 10-year real yields at 2.44% with z +2.06 and the 2-year at 4.39% with z +2.12. That makes the two tails asymmetric — an upside print has to push an already-stretched variable further, while a downside print only has to unwind what is priced, so for the same surprise the soft side has more room to travel. MOVE at 79.7 with a 5-session change of +7.79 says the release hits a rates market already jumpier than last week. Nothing has broken on the risk side: VIX 15.2, HY at 2.65% with z -1.30, Nasdaq 29,143.33 — meaning a weak report gets read first as rate relief, not as recession. EUR speculative positioning sits at -4.441 %OI (z -1.24): the market is already standing on the short leg, so the soft branch has something to squeeze while the hot branch pays less than it looks. Gold is the crowded side instead: 56.859 %OI, up 8.887 in five sessions, a packed position walking into an event that historically does not reach it. DXY 99.549 and broad USD 118.748 (z -0.93) — the dollar is being lifted by yields, not by haven demand.

How the last print went

The series has moved one way for five months: +214K (March), +148K, +63K, +20K, then -23K (July). The 12-print median is +41K, standard deviation 110.48, range -156K to +214K. So the +55K consensus asks for nothing unusual in level, but something substantial in momentum: it has to break a four-print downslope. The lane clue: the latest jobs report showed losses spread across manufacturing, information and professional services, and that breadth makes the rebound thinner than 55K implies. Where the clue can mislead: it describes the July print already in the base rather than leading the next one, and we have no sibling indicator with a measured coefficient to NFP. One prior round is scored: on 7 August we called gold bullish (correct, 0.719%) and EURUSD bullish (price went flat, 0.299%) — 1 of 2. We now stand on the opposite side of the euro from that call, and that miss is why we do not take a large directional swing on a labour day.

What it reaches, and how

The event runs on the real-rate lane, and only one asset has an open path. EURUSD: a strong NFP pushes the 2-year and real yields higher, the rate differential widens, and the euro takes it — the r of -0.33 ±0.12 between EURUSD and the 10-year is the only link above the noise floor across all three assets, and EURUSD currently has no dominant axis of its own, leaving the event lane room to take over. A 0.79% release-day range against 0.52% on normal days confirms the day is genuinely different. Gold: its link to the 10-year, r = -0.25, sits below the noise floor, so the number has to detour through the dollar (dxy r = -0.54) — an indirect leg that 17 prints of history say does not arrive. A further regime tell: gold's +0.30 correlation to the Nasdaq and -0.41 to VIX are both sign-flipped versus theory, so gold is trading as a risk asset rather than a hedge, making labour news even less likely to reach it the conventional way. Bitcoin: r = -0.10 to the 10-year, below the noise floor; its dominant lane is the dollar at r = -0.42, so the 1.25x ratio is a wider range, not a direction.

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

    NFP ≥ 100K or Average Hourly Earnings m/m ≥ 0.4%

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

    Payrolls break clearly out of the five-month slide, or wages heat up: the channel runs straight through the 2-year and rate differentials, with the euro as the weakest leg since it also carries the energy and food terms-of-trade shock. The obstacle for this branch is that real yields are already at an extreme — less road left ahead than behind — so the reaction can be sharp on impact and fade through the session.

  2. Numbered threshold

    NFP between 0K and 100K, unemployment at 4.1% and AHE m/m at 0.3%

    If this branch plays out:▬gold▬BTC▼EUR45%likelihood

    The number lands mid-consensus and does not change the September hike story. EURUSD keeps drifting on positioning and rate differentials rather than on the news, around the 1.1584–1.1591 cluster where both sides have already been tested nine and four times. Gold and Bitcoin hand control back to their own dollar lane and the release-day range compresses toward a normal day.

  3. Numbered threshold

    NFP below 0K (second consecutive negative month) or unemployment ≥ 4.3%

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

    A second consecutive negative month, or unemployment jumping off the 4.1% held for two prints — the only data point this week with enough weight to touch the hike narrative. The path: Fed expectations cool, real yields step back from the extreme, the dollar loses its support; EUR speculative positioning already sits on the short side and has something to squeeze, and gold finally gets a reason to move with the event's own lane. This is the only branch that overturns our bearish EURUSD view.

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 6/10

    Invalidated if: Wrong if EURUSD clears the 1.1591 resistance and holds above 1.1600 within 4 hours of the release (about 0.8 H4 ATR from 1.1587).

The thing to watch is not the headline but the 2-year yield in the minutes after 12:30 UTC: if 4.39% gets pushed higher still, everything else is downstream; if it fails to move on a strong report, the hike-pricing regime has saturated and subsequent shocks will only travel one way.

After — were we right

August payrolls printed +162K against a +55K consensus — a +107K surprise. The prior was revised from -23K to +21K, and with labour data a revision that size moves price alongside the headline: the "second consecutive negative month" story was off the table the moment the print landed (source: BLS, series CES0000000001, period 2026-08). Measured from 12:30 UTC to the H4 mark: gold -0.779% (as deep as -2.403%), Bitcoin -1.828% (as deep as -3.295%), EURUSD -0.039% (as deep as -0.356%). Nothing traded meaningfully higher — the furthest upside for the three was +0.025%, 0.000% and +0.003%. CNBC reported the US 2-year yield at its highest since January 2025 after the report.

We scored 0 of 1. Our single call — EURUSD lower, confidence 6 — closed at -0.039%, too small to count as directionally right; result flat. The invalidation we published ourselves (wrong if EURUSD holds above 1.1600 within four hours) was broken: we wrote the level off a 1.1587 reference while the pair entered the event at 1.1626, so the invalidation condition was already true before the release. That is a drafting error, not a market one. Price tracked the hot branch most closely — the branch we assigned 25% — with 3 of 3 assets agreeing. Yet we excluded gold as "no different from a normal day" (0.99x) and Bitcoin as "range, not direction": precisely the two that moved most, in exactly that direction.

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

    1.1626 → 1.1621

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.04%

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

Ahead: The hot branch materialised, but the dollar was not the receiving channel: the 2-year at 4.39% and 10-year real yields at 2.45% (z +2.08) pushed on while EURUSD barely moved. The running frame keeps gold bearish (conviction 4) on real opportunity cost, Bitcoin neutral (5) after the leverage flush, EURUSD neutral (6) on volatility compression and an empty calendar. Carry-forward lesson: pick the asset by where the shock lands, not by the highest correlation coefficient.

Payrolls: the gate for the weak-dollar story

Release:(UTC)

Forecast
85K
Previous
57K
Actual
-23K
vs forecast
-108K

prior period was revised · Actual figure from Forex Factory (series calendar/aug7.2026) · no second source to cross-check yet · figure added later — the analysis below was written without it

Before — what we said

The tape enters this jobs report with an unusual structure: DXY sits below 100 and is down 1.13% on the week while US10Y is nearly flat at 4.617 — the rates-dollar link is severed. Gold is running with risk assets (Nasdaq +8.44% weekly, VIX at 15.81), not against them, consistent with the fiscal-debasement view we already hold. This note keeps the bullish bias on gold and EUR/USD and simply states which branch would flip it. We deliberately leave Bitcoin out of the calls: the transmission channel from payrolls to BTC is effectively absent right now — price is close to still at 0.03% over 24 hours, and its swings are governed by the on-chain seller-exhaustion cycle around the 64,303 shelf, not by a jobs number. Data note: the gold quote in the price table is a stale prior close; every technical level below comes from the spot candles, reference 4,345.4.

Scenarios when the number lands

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

  1. Hot

    Numbered threshold

    NFP at 150K or above, OR unemployment at 4.1% together with average hourly earnings m/m at 0.4% or higher

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

    NFP at 150K or above, or unemployment at 4.1% with earnings at 0.4%: cut expectations get pushed out, Kashkari's call to start raising again gains weight, and the dollar tries to reclaim 100. Gold faces profit-taking pressure after H4 RSI reached 79.8, and EUR/USD loses the 1.1542 area. This is the only branch that flips the running bias.

  2. In line

    Numbered threshold

    NFP between 25K and 150K, unemployment holding at 4.2%, average hourly earnings m/m at 0.3%

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

    NFP between 25K and 150K, unemployment holding 4.2%, earnings at 0.3%: nothing forces the Fed to change course, and dollar supply plus official metals demand stay in charge. Gold ranges within its roughly 38.3-point H4 ATR before leaning higher, while EUR/USD holds the 1.1559 shelf and retests 1.1578.

  3. Cold

    Numbered threshold

    NFP at 25K or below (including a negative print), OR unemployment rising to 4.4%

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

    NFP at 25K or below, or unemployment up to 4.4%: easing expectations return quickly and DXY breaks further under 100. Gold benefits twice over, from lower real rates and a softer dollar, with EUR/USD heading toward 1.1590. BTC is genuinely two-sided here — growth fear can cancel the rates benefit — so we leave it neutral.

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.

  • Gold (XAU/USD)BULLISHConviction 6/10

    Invalidated if: Wrong if spot gold breaks 4,286.0 and fails to reclaim that level within 4 hours of the release.

  • EUR/USDBULLISHConviction 5/10

    Invalidated if: Wrong if EUR/USD drops below 1.1542 and is still trading under that level 4 hours after the release.

The most telling thing is not the 85K figure but how DXY behaves around 100: if payrolls come in strong and the dollar still cannot reclaim that level, the debasement thesis is confirmed more firmly than anything the data itself says.

After — were we right

Per CNBC, the US shed 23,000 jobs in July — against a forecast of +80,000 — yet the unemployment rate fell to 4.1% instead of holding 4.2%. A mixed print: payrolls collapsed while the jobless rate tightened. Price action was one-directional. Gold rose 1.24% within 15 minutes from a 4,307.62 base, reached as far as +1.49%, and still held +0.72% at the four-hour mark; notably it never traded below its base (downside extreme just -0.008%). EUR/USD gained 0.39% on the first impulse, peaked at +0.46%, and closed the window +0.30%. Bitcoin diverged: up 0.25%, then gave it back to finish -0.28%, with two-way range under half a percent.

Final tally: 1 hit from 2 scored calls. Gold bullish (conviction 6) — correct. EUR/USD bullish (conviction 5) — right direction, but the move was too small to score, marked flat. Our published invalidation at 1.1542 was never broken, and that is the part worth criticising: the level was loose enough to be meaningless, since price never printed a single candle below its base. The matched scenario was in line. Our thresholds were not written tightly enough for a mixed print: a negative NFP fell into the cold branch while 4.1% unemployment sat inside the hot condition. And the claim that only the hot branch could flip the bias was mechanically wrong — unemployment came in at 4.1% and gold ran anyway. Leaving Bitcoin out of the calls held up: the payrolls-to-BTC channel simply was not there.

What price did around the release
  • Gold (XAU/USD)+0.72%

    4,308 → 4,339

  • EUR/USD+0.30%

    1.1528 → 1.1562

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.

  • Gold (XAU/USD)BULLISHcorrect+0.72%
  • EUR/USDBULLISHflat (below threshold)+0.30%

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 hawkish ceiling is gone, so the debasement bid stays dominant: gold remains bullish at conviction 6, with silver and physical ETF inflows confirming this is a liquidity and currency trade, not haven demand. EUR/USD moves to neutral — on unverified X reports of US intervention selling euros for yen, euro-specific selling is absorbing the mechanical benefit of a softer dollar. BTC neutral: supportive macro against the most crowded speculative long in a year, right at resistance.

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.80%1.81%1.00×20 releases
  • Bitcoin3.54%2.71%1.30×20 releases
  • EUR/USD0.52%0.40%1.31×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.

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.