Performance Methodology

How we calculate leaderboard metrics — transparent and honest.

Introduction

Transparency is core to our platform. This page explains exactly how performance metrics on the Discover leaderboard are calculated. No hidden formulas, no marketing spin — just the facts from our codebase.

How Returns Are Calculated

We capture portfolio snapshots every 15 minutes, recording total value (cash + holdings at market value). Returns are computed from these snapshots using the formula:

(end_value − start_value) / start_value × 100

Time windows supported: 24 hours, 7 days, 30 days, 1 year, and all-time.

For all-time returns, we use:

(latest_value − initial_allocation) / initial_allocation × 100

Net of Fees

Returns are net of trading fees. Cash balance already reflects fees deducted at trade execution. For SELL trades, revenue = trade_value − fee. For BUY trades, cost = trade_value + fee. This means leaderboard returns show what the bot actually earned after costs.

Live Bots Only

Only live bots appear on the leaderboard — paper trading bots are excluded. This ensures performance reflects real market conditions, real execution, and real slippage.

Win/Loss Ratio

Win/loss is based on individual SELL trades. A win is a trade where realized PnL > 0 (sold for more than average cost basis). A loss is a trade where realized PnL ≤ 0.

Leaderboard Ranking

Sort options: Most Followed, Top 24h, Top 7d, Top 30d, Top 1y. Performance cache refreshes every 5 minutes.

Maximum drawdown

Maximum drawdown is shown on the leaderboard. We compute it from portfolio snapshots in time order: we track the running peak portfolio value, and at each snapshot measure drawdown as (peak − current) / peak. The value displayed is the largest such drawdown over the bot's history (as a negative percentage, e.g. −12.3%).

Volatility

Volatility on the leaderboard is the sample standard deviation of daily returns, derived from portfolio snapshots. For each calendar day we use the last snapshot of that day as the closing value, then compute day-over-day returns. A higher percentage means larger day-to-day swings in portfolio value (before any annualization).

Sample duration

Each bot lists Running since as the number of days from when the bot was created to now. Longer histories give more context for returns, drawdown, and volatility; very short samples should be interpreted cautiously.

Important Caveats

  • Only running or paused bots with positive all-time return appear on the leaderboard. This creates survivorship bias — we disclose this openly.
  • Bots with negative all-time returns are filtered from the public view.
  • Past performance is not indicative of future results.
  • Leaderboard rankings can change rapidly.
  • Following a top-performing bot does not guarantee you will achieve the same returns.
  • Market conditions, timing, and allocation can all affect follower results differently.
  • Follower slippage: Followers may experience different results than the leader due to entry timing, allocation size, and market conditions at the time they copy.

Methodology Updates

This page will be updated if our calculation methods change. We believe in transparency — when we adjust how we measure performance, we'll document it here.