Our Methodology
All data comes from the OSRS Wiki Prices API, the same source used by the official RuneScape wiki. This provides:
- Real-time prices at 5-minute granularity — high/low prices and trade volumes for all 3,932+ tradeable items.
- Historical data going back 367+ days, enabling robust backtesting and trend analysis.
- Item metadata including buy limits, High Alchemy values, members status, and categories.
For shop running analysis, we also use the Wiki Bucket API for NPC shop inventories, stock levels, and restock rates. All data is collected with a custom User-Agent header as required by the API terms of service.
Each item is classified into one of three categories using a three-factor statistical model:
- Shop-anchored — Items sold by NPC shops at fixed prices. Identified by a high supply anchor score (shop price acts as a floor). These mean-revert strongly and are ideal for z-score strategies.
- Cost-anchored — Items whose prices track a stable baseline (often input costs or consistent supply). Identified by negative AC1 (below -0.2), indicating strong mean-reversion. Includes crafted items, but also some drops with steady supply.
- Demand-driven — Boss drops, rare equipment, and meta-sensitive items. Identified by positive AC1 (above +0.1) and higher Hurst exponent (>0.5 indicates trending behavior). These are unsuitable for mean-reversion strategies.
Classification determines which strategies are applied to each item. Mean reversion is only used on shop-anchored and cost-anchored items. Prophet forecasts are generated for all items but weighted differently based on category.
Four strategies run automatically on different schedules:
- Margin Threshold (every 5 minutes) — Scans all items for margins exceeding 5% after tax. Simple but effective for quick flips.
- Mean Reversion (every 5 minutes) — Calculates z-scores for shop-anchored and cost-anchored items. Generates buy signals when z ≤ -2.0 and sell signals when z returns to 0.
- Volume Spike (every 5 minutes) — Flags items where current volume exceeds 2.5 standard deviations above the 30-day average. Unusual volume often precedes price moves.
- Prophet Forecast (daily) — Facebook Prophet ML model generates 7-day price predictions for 200 items. Produces direction, magnitude, and confidence intervals.
Each signal receives a confidence score (0 to 1) computed as the geometric mean of three factors:
- Consistency — Percentage of recent days with positive returns.
- Sharpe Ratio — Margin divided by margin standard deviation (risk-adjusted return).
- Volume Adequacy — Daily volume relative to buy limit (can you actually execute the trade?).
The geometric mean ensures all three must be strong — a single zero factor produces a zero score. Final ranking uses score = confidence * estimated_GP/hr, balancing quality and profitability.
All strategies are validated using walk-forward backtesting:
- Train on 60 days of historical data.
- Test on the next 7 days (out-of-sample).
- Slide the window forward by 7 days and repeat.
This prevents overfitting by always testing on data the model has not seen. Each strategy is tested across 200+ items, producing win rates, average returns, and risk metrics for every item/strategy combination.
Walk-forward results are more conservative than simple backtests because they simulate real trading conditions: you only have past data available when making each decision.
Transparency about what we cannot do is as important as what we can:
- Dark order book — We cannot see pending buy/sell offers. All analysis is based on completed trades only. Large pending orders can move prices in ways we cannot predict.
- Buy limits are not real-time — We know each item's 4-hour limit but cannot tell how much of your personal limit has been consumed. Fill time estimates assume starting from zero.
- Prophet has limited directional accuracy on mean-reverting items — Only about 15% directional accuracy on items with strong mean reversion. For these items, Prophet is used as a fair value anchor (is the current price above or below predicted fair value?) rather than a directional predictor.
- Game updates can invalidate models — A new boss, skill rework, or economy change (like the tax increase) can shift the entire market regime. Historical patterns may not hold after major updates.