PRICING-MANAGER · PR #173 · RUN 2026-06-02 08:57 UTC
Read-only rehearsal: phase-blind vs per-phase matching of the live csgoskins /prices feed against 462 doppler rows. Zero writes.
The dry run surfaced a live mispricing the fix corrects
110 base-name doppler items are phase-contaminated in production today.
Items like ★ Karambit | Doppler (Minimal Wear) share one feed market_hash_name with all five phase entries. The current phase-blind index keeps whichever entry lands last — so generic dopplers have been priced off gem-phase (Ruby/Sapphire) market data.
PR #173 routes phased entries to phased keys, so the base name finally matches the feed's own base entry. Result: corrections of -60% to -81% on the generic doppler rows — e.g. Karambit Doppler MW $6,450 → $1,235. These all have full snapshot history, so the correction glides in over ~30 snapshot runs.
437 of 462 doppler rows matched per-phase market data · feed: 36,483 entries, 670 phased
New market livePrice vs current stablePrice · 306 items with a current price (the 131 unsmoothed have none)
72% of priced dopplers move less than ±10% · median delta -0.7%
percentiles p10 / p25 / p50 / p75 / p90 : -53% / -9.4% / -0.7% / +3.1% / +6.5% — the entire negative tail is the phase-contamination correction
Largest |Δ| vs current stablePrice · all have 100 snapshots → correction glides over ~30 runs
| Item | Phase | Mkts | Current | New Market | Δ |
|---|---|---|---|---|---|
| Glock-18 | Gamma Doppler Emerald (BS) | Emerald | 1 | $218.72 | $435.59 | +99.2% |
| ★ Karambit | Doppler (MW) | base | 15 | $6,450.86 | $1,235.02 | -80.9% |
| ★ Bayonet | Doppler (MW) | base | 16 | $2,152.50 | $444.65 | -79.3% |
| ★ M9 Bayonet | Doppler (FN) | base | 18 | $4,192.84 | $918.33 | -78.1% |
| ★ ST™ M9 Bayonet | Doppler (FN) | base | 17 | $4,111.40 | $947.03 | -77.0% |
| ★ M9 Bayonet | Doppler (MW) | base | 16 | $3,923.99 | $1,027.10 | -73.8% |
| ★ Karambit | Doppler (FN) | base | 17 | $4,410.91 | $1,226.37 | -72.2% |
| ★ ST™ Karambit | Doppler (FN) | base | 16 | $4,752.65 | $1,334.74 | -71.9% |
| ★ ST™ Flip Knife | Doppler (FN) | base | 18 | $1,155.02 | $339.01 | -70.6% |
| ★ Bayonet | Doppler (FN) | base | 18 | $1,317.67 | $399.39 | -69.7% |
| ★ Flip Knife | Doppler (MW) | base | 15 | $1,266.64 | $390.24 | -69.2% |
| ★ Butterfly Knife | Doppler (FN) | base | 17 | $6,317.32 | $1,968.71 | -68.8% |
| ★ Flip Knife | Doppler (FN) | base | 19 | $978.65 | $319.27 | -67.4% |
| ★ ST™ Bayonet | Doppler (FN) | base | 17 | $1,396.96 | $459.83 | -67.1% |
| ★ Paracord Knife | Doppler (MW) | base | 16 | $841.76 | $277.89 | -67.0% |
| ★ Butterfly Knife | Doppler (MW) | base | 13 | $6,630.01 | $2,304.30 | -65.2% |
| ★ ST™ Gut Knife | Doppler (FN) | base | 18 | $419.96 | $148.47 | -64.6% |
| ★ Gut Knife | Doppler (FN) | base | 19 | $348.25 | $124.19 | -64.3% |
| ★ Gut Knife | Doppler (MW) | base | 16 | $415.37 | $159.16 | -61.7% |
| ★ ST™ Butterfly Knife | Doppler (FN) | base | 16 | $5,790.24 | $2,265.85 | -60.9% |
19 of 20 are base-name items shedding gem-phase contamination. The single upward outlier (Glock Emerald BS, +99.2%) prices off one market — verify by hand before trusting it.
Zero snapshots → no glide: these take full market price on run 1 · sample of the highest-value
| Item | Phase | Mkts | Day-1 Price |
|---|---|---|---|
| ★ Butterfly Knife | Doppler Ruby (MW) | Ruby | 3 | $9,106.10 |
| ★ Butterfly Knife | Gamma Doppler Emerald (MW) | Emerald | 3 | $7,217.97 |
| ★ Butterfly Knife | Doppler Sapphire (MW) | Sapphire | 5 | $6,638.16 |
| ★ Butterfly Knife | Doppler Phase 2 (MW) | Phase 2 | 5 | $4,247.74 |
| ★ Butterfly Knife | Doppler Phase 4 (MW) | Phase 4 | 3 | $2,727.92 |
| ★ Butterfly Knife | Doppler Phase 1 (MW) | Phase 1 | 3 | $2,371.26 |
| ★ Bayonet | Gamma Doppler Emerald (MW) | Emerald | 1 | $2,340.00 |
| ★ Butterfly Knife | Doppler Phase 3 (MW) | Phase 3 | 4 | $2,205.08 |
| ★ Butterfly Knife | Gamma Doppler Phase 1 (MW) | Phase 1 | 8 | $1,934.16 |
| ★ Bowie Knife | Doppler Ruby (MW) | Ruby | 1 | $830.00 |
| ★ Bowie Knife | Gamma Doppler Emerald (MW) | Emerald | 9 | $764.60 |
| ★ Bayonet | Gamma Doppler Phase 2 (MW) | Phase 2 | 1 | $715.00 |
Amber rows price off a single market with no snapshot damping — the real day-1 risk surface. protectDopplers floors still apply to all of these.
Existing dopplers: safe
All 306 priced items have full snapshot history. Every delta — including the -80% corrections — phases in over ~30 snapshot runs. No day-1 jump by construction.
Unsmoothed 131: day-1 prices
New per-phase items take raw market price immediately. Eyeball the thin-market (1–2 sources) entries above before the first /take snapshot locks their history in.
Backstops active
protectDopplers price floors apply unconditionally; item_prices_raw is upsert-per-run, so a master redeploy + one run fully restores prior state.
Recommended rollout
Backup doppler rows → deploy branch → one /update-prices run → diff vs backup → hold /take until satisfied → merge. The negative tail is a bug fix, not a regression.
Generated 2026-06-02 · scripts/doppler-dry-run.ts · PR #173 · tradeit.gg