The Bargain Score is a single number from 0 to 100 that summarises how attractive a coin looks from a contrarian perspective. It is built from five sub-scores, each measuring a different aspect of value and sentiment.
1. Historical Value Distress (HVD) — weight 30%
Measures how far the price has fallen from its all-time high, how close it is to its all-time low, and how long it has been since the ATH. A coin down 90% from its ATH, near its ATL, with the ATH years ago scores very high here.
DD = 1 - (Price / ATH)
Proximity_to_ATL = 1 - ((Price - ATL) / (ATH - ATL))
Time_Decay = min(1, DaysSinceATH / (365 * 4))
HVD = 0.40 * DD + 0.40 * Proximity_to_ATL + 0.20 * Time_Decay
- DD = Drawdown from ATH (0 = at ATH, 1 = at zero)
- Proximity_to_ATL = How close to the ATL (1 = at ATL, 0 = at ATH)
- Time_Decay = How stale the ATH is — normalised over 4 years (older ATH = more distressed)
- Higher HVD = more distressed = more interesting to a contrarian
2. Sentiment Extreme Score (SES) — weight 20%
Measures how fearful the market is. Extreme fear is historically a good time to accumulate. This combines the Crypto Fear & Greed Index, the RSI indicator, and the funding rate from derivatives markets.
FearScore = 1 - (FearGreedIndex / 100)
RSI_score = max(0, (30 - RSI) / 30) ← only counts if RSI < 30
FundingScore = 0.8 if funding < 0 else 0.5 - (funding * 100 * 0.4)
SES = 0.5 * FearScore + 0.3 * RSI_score + 0.2 * FundingScore
- Fear & Greed Index: 0 = Extreme Fear (bullish signal), 100 = Extreme Greed (bearish signal)
- RSI below 30 = oversold (historically a buy signal)
- Negative funding rate = traders are paying to be short = bearish crowd = contrarian buy signal
3. Positioning Imbalance Score (PIS) — weight 20%
Looks at whether traders are crowded on one side of the market. When most traders are short, a short squeeze becomes likely. When most traders are long, the market is vulnerable to a flush.
If Long/Short Ratio < 0.9 → PIS = 0.8 (crowded shorts = bullish)
If Long/Short Ratio > 2.0 → PIS = 0.2 (crowded longs = bearish)
Otherwise → PIS = 0.5 (neutral)
- Long/Short Ratio from OKX perpetual futures (where available)
- A ratio below 0.9 means more shorts than longs — a potential short squeeze setup
4. On-Chain Resilience Score (ORS) — weight 15%
Measures how structurally resilient the asset is. When you expand a coin in Pro mode, the score is re-calculated using live GitHub developer activity and community engagement data fetched from CoinGecko. Without that data, it falls back to three market-proxy signals.
Without developer data:{
ORS = 0.35 * Liquidity_Health + 0.35 * Survival_Score + 0.30 * Longevity{
{
With developer data:{
Dev_Health = 0.70 * Commit_Score + 0.30 * Issue_Resolution_Ratio{
Community_Health = clamp(Reddit_Active_48h / Reddit_Subscribers / 0.01, 0, 1){
ORS = 0.20 * Liquidity + 0.15 * Survival + 0.15 * Longevity{
+ 0.35 * Dev_Health + 0.15 * Community_Health
- Commit_Score: commits in last 4 weeks, normalised to 30 (30+ = fully active, 0 = inactive)
- Issue_Resolution_Ratio: closed issues / total issues (higher = more responsive team)
- Community_Health: ratio of Reddit active users to subscribers, normalised to 1% active = full score
- When developer data is available, it has 50% weight — replacing the old market-proxy signals
5. Tokenomic Quality Score (TQS) — weight 15%
Measures how much of the total supply is already in circulation. A coin with 95% of its supply already out has very little inflation risk. A coin with only 20% circulating could be heavily diluted by future unlocks.
TQS = Circulating Supply / Max Supply
(If no max supply → TQS = 1.0, treated as fully diluted)
- TQS close to 1.0 = low inflation risk (good)
- TQS close to 0.0 = high inflation risk, many tokens yet to be released (bad)
Composite Score (CAS)
CAS = 0.30 * HVD + 0.20 * SES + 0.20 * PIS + 0.15 * ORS + 0.15 * TQS
Liquidity Gate: if (Volume / Market Cap) < 1% → cap CAS at 60
Regime Boost: if Fear & Greed < 30 AND Drawdown > 50% → CAS * 1.15
Regime Penalty: if Fear & Greed > 75 → CAS * 0.85
Bargain Score = CAS * 100
Accumulation Tiers
80–100 / High ConvictionStrong contrarian setup across multiple signals
60–79 / Gradual AccumulateGood setup but not all signals aligned
40–59 / WatchSome interest but wait for better entry
0–39 / AvoidOvervalued, overbought, or too risky