Skip to content

How every verdict is decided

rules version 2026-10-02.2 · rendered 2026-10-10 from data/atlas/method.json · auction cut 5%

Every stamp on the atlas is one of four words, decided by the rules below in order, first hit wins. The rules run once per data build on our own machine and write a verdict file per market. Your browser renders the verdict; it never computes one.

The figures a rule may see

nowlowest listed unit price at the last scan (buy_price_copper)
p5014-day median of the scans (7-day for Midnight)
change_pctas the market source defines it (its method string is copied verbatim into the market file)
unitsunits listed, not sold
ptsscan points in the window
vendorwhat a vendor pays per unit
netround(now x (1 - 0.05))
premiumnet - vendor (copper above the floor; 0 when the vendor price is unknown)

Every figure on a page carries its market and scan time in its title. Units are listed units, never sold units. No per-hour figure exists on this site unless you type your own rate, and then it is labelled your estimate.

The four verdicts, in the order they are tested

R0 -> R1 -> R2 -> R3, the first clause that fires decides; fail-closed to no data

no data R0 · counts x0.0 toward a zone

  1. R0a no scan has priced this item on this market in 14 days
  2. R0b fewer than min_pts scan points in the window (Forever 3, Midnight 2)
  3. R0c the last scan is older than stale_after_hours (Forever 72h, Midnight 48h)
  4. R0d fewer than 2 scans of this market in 14 days

vendor floor R1 · counts x0.0 toward a zone

  1. R1a vendor price known and net after the 5% cut is at or under 1.15x the vendor price
  2. R1b vendor price unknown and the lowest listing is 5c or under

thin R2 · counts x0.5 toward a zone

  1. R2a vendor price known and net is under 3x the vendor price
  2. R2b vendor price unknown and net is under 50c a unit
  3. R2c the lowest listing is under 60% of the 14-day median (an undercut war)
  4. R2d change_pct is -25% or worse and the last third of the scans averages below the first third (falling)
  5. R2e more than 5000 units listed and change_pct is -10% or worse (oversupply draining)

worth it R3 · counts x1.0 toward a zone

  1. R3 none of the above: the auction house nets more than the vendor floor at a price several scans agree on

Fail-closed: a missing figure can only move a unit toward no data or vendor floor, never toward worth it.

Confidence, printed beside every stamp

solidpts >= 8 and the last scan <= 24h old at build
lightanything less; printed beside every stamp with the scan time

Coin colour

Among units stamped worth it on one market, the coin colour follows the net per unit. It sets the glow on the map and the colour of the figure, nothing else; a copper unit is still worth it.

terciles of net among worth-it units on one market: gold (top third), silver, copper; coin colour only, never a verdict

Alliance and Horde

Forever only: (p50 Alliance - p50 Horde) / min(p50) x 100 when neither side is no data; flagged at |gap| >= 40%

Every threshold, as the code holds it

version2026-10-02.2
ah_cut0.05
min_scans_14d2
floor_vendor_mult1.15
floor_now_no_vendor5
thin_vendor_mult3
thin_net_no_vendor50
thin_undercut_ratio0.6
thin_fall_pct-25
thin_oversupply_units5000
thin_oversupply_pct-10
solid_pts8
solid_stale_hours24
gap_flag_pct40

How zones are ranked

zone score = sum over eligible materials of found-here tier weight (primary 1, secondary 0.5, trace 0.2) x contribution (worth 1, thin 0.5, floor 0, nodata 0) x premium copper; shown as glow and rank, never as a number; ties by worth count, then top net, then name. Zones more than 5 levels above the player are level-locked. Mirrored in js/core/rank.js and tools/rank.py.

A unit only counts toward a zone when your character could gather it. Forever uses the classic trainer gates below; Midnight has no cap. A zone more than five levels above the level you set is listed as level-locked and not ranked. A zone with nothing you could gather is hidden from the board.

level <5skill cap 0
level 5-9skill cap 75
level 10-19skill cap 150
level 20-34skill cap 225
level 35+skill cap 300

The markets

Forever has no realm in the retail sense: a market is a region, a ruleset and a faction, and the beta scans come from one realm standing in for each. Midnight commodities are one US-wide market.

forever-us-normal-hordemin 3 scan points · stale after 72h · Forever US · Normal · Horde
WoW Forever prices come from player addon scans of each realm auction house, a few scans a week, so stats use the last 14 days of scans. Units assume 10% of daily sell-through; drops include cancels, so this is an upper bound. 5% AH cut included. Past picks do not guarantee future prices.
forever-us-normal-alliancemin 3 scan points · stale after 72h · Forever US · Normal · Alliance
WoW Forever prices come from player addon scans of each realm auction house, a few scans a week, so stats use the last 14 days of scans. Units assume 10% of daily sell-through; drops include cancels, so this is an upper bound. 5% AH cut included. Past picks do not guarantee future prices.
midnight-usmin 2 scan points · stale after 48h · Midnight US commodities
Midnight prices are the US retail commodity auction house snapshot in prices-latest.json: now = the latest listed unit price, p50 = the 7-day median (med7), change_pct = the 7-day change (chg7), units = quantity listed (not sold). 5% AH cut is applied in the verdicts, not here.

What the atlas never prints

  • A per-hour figure that you did not type yourself.
  • A figure without a date and a market.
  • Node spawn positions. Loops are suggestions traced on the map art along roads and named landmarks.
  • Drop rates. A cloth or leather row says what level of creature drops it here, nothing finer.
  • A sentence about why a price moved. The daily note states what moved and by how much, from the facts packet only.