Don't buy the top.
🪙 Crypto
🛢️ Commodities
📈 Stocks
Methodology — how each zone is calculated

Every asset is scored against its 200-week moving average (200W MA): the average closing price over the last 200 weeks. The 200W MA smooths out short-term noise and gives a long-cycle baseline. The ratio of current price ÷ 200W MA determines the zone. Bands are tuned per asset class because crypto, metals, energy and agricultural commodities have very different volatility profiles.

Crypto (BTC, ETH, custom coins)

Adapted from the well-known "BTC 200W MA Heatmap" framework. Crypto cycle tops have historically printed at 3–5× the 200W MA, and bottoms below 1×.

Price ÷ 200W MAZone
< 1.0×Very Cheap
1.0× – 1.5×Cheap
1.5× – 2.5×Fair Value
2.5× – 4.0×Expensive
> 4.0×Very Expensive

Precious Metals (Gold, Silver, Platinum, Palladium)

Metals are middle-volatility — they trend up more steadily than crypto, so the bands are tighter. The gold-to-silver ratio (gold price ÷ silver price) is also shown on the silver card. Historical average is ~60. Above 80 implies silver is cheap relative to gold; below 50 implies silver is expensive relative to gold.

Price ÷ 200W MAZone
< 0.95×Very Cheap
0.95× – 1.05×Cheap
1.05× – 1.15×Fair Value
1.15× – 1.30×Expensive
> 1.30×Very Expensive

Energy (Brent, WTI, Nat Gas, Gasoline, Heating Oil)

Energy is the most volatile of the commodity classes. Oil can swing 40–60% in a year, and natural gas has historically seen 2–3× moves. Bands are widened accordingly so the gauge isn't pinned to one extreme.

Price ÷ 200W MAZone
< 0.80×Very Cheap
0.80× – 1.00×Cheap
1.00× – 1.20×Fair Value
1.20× – 1.50×Expensive
> 1.50×Very Expensive

Industrial & Soft Commodities, Grains

Copper, coffee, sugar, cocoa, cotton, wheat, corn, soybeans — medium-wide bands reflecting cyclical supply/demand and weather sensitivity.

Price ÷ 200W MAZone
< 0.85×Very Cheap
0.85× – 1.00×Cheap
1.00× – 1.15×Fair Value
1.15× – 1.40×Expensive
> 1.40×Very Expensive

Stocks & ETFs (SPY, QQQ, AAPL, NVDA, …)

Scored the same way as everything else — current price ÷ its 200-week moving average — but with tighter bands, because broad equity indices structurally trade above their 4-year average. At or below the 200-week MA is crash territory (Cheap → Very Cheap); a market that has run well ahead of its long-run trend reads Expensive, and the frothiest names read Very Expensive.

Price ÷ 200W MAZone
< 1.05×Very Cheap
1.05× – 1.15×Cheap
1.15× – 1.30×Fair Value
1.30× – 1.50×Expensive
> 1.50×Very Expensive

Single-factor model — for individual high-growth names especially, the 200-week reading is a rough cue, not a verdict, and "expensive" can keep climbing. Not financial advice.

Data sources

fairprice.fyi only ever shows a genuine 200-week moving average. If an asset doesn't have at least 200 weeks (~4 years) of price history, its card says "not enough history" rather than falling back to a shorter, misleading window.

Crypto, commodities and stocks all use the same 200-week moving average methodology. Crypto prices: CoinGecko (via the "Add coin" search and as fallback). Daily history for the 200W MA (crypto + everything else): Yahoo Finance /v8/finance/chart (BTC-USD, ETH-USD, GC=F, SPY, etc.) — five years of daily candles, resampled to weekly client-side. Requests are routed through a same-origin proxy on this site (public CORS proxies as localhost fallback). Historical data is cached in your browser for 6 hours; click Reload to force-refresh.

Caveats

This is a single-factor model. Real markets care about fundamentals (supply schedules, geopolitics, weather, demand cycles) and regime changes (post-halving crypto, oil shocks, dollar strength). "Cheap" by 200W MA can stay cheap for years. Use this as one input, not the only input. Not financial advice.