Moonboard Score
An absolute 0-100 composite that rewards social activity which is large relative to an asset's market footprint.
- Scale
- absolute Absolute scale — the value does not depend on the rest of the universe.
- Formula
- Social Momentum (≤25) + Market Dynamics (≤35) + CPR (≤25) + Discovery (≤15)
- Inputs
- socialDominance
- marketDominance
- sentiment
- socialVolume24h
- interactions24h
- volume24h
- marketCap
- volatility
- altRank
Purpose
The Moonboard Score answers one question: is this asset being discussed more than its size would suggest?
Large assets attract more of everything — more posts, more volume, more engagement — so ranking on raw social counts simply re-derives the market cap ranking. The score is built to avoid that. Its central input is the ratio of an asset's share of conversation to its share of market value, and its size component pays more for smaller assets. An established large cap can score well, but it has to overcome a structural handicap to do so.
It is the only Moonboard metric on an absolute scale. Every point comes from a fixed threshold, so a score of 70 means the same thing today as last month, and does not move when other assets do. That property is what makes it usable as an input to OPS.
Inputs
Nine fields from a single observation:
| Field | Used for |
|---|---|
| socialDominance | Numerator of the social-to-market ratio |
| marketDominance | Denominator of that ratio, and the size component |
| sentiment | Tone term inside social momentum |
| socialVolume24h | Denominator of the engagement ratio |
| interactions24h | Numerator of the engagement ratio |
| volume24h | Turnover, with market cap |
| marketCap | Turnover denominator |
| volatility | Banded into a volatility score |
| altRank | Banded into the community component |
If marketDominance is zero or missing the score returns 0, because the ratio the whole design rests on is undefined. Treat a Moonboard Score of exactly 0 as "not computable", not as "worst asset".
Weighting: four components
The score is a sum of four blocks with fixed maxima. Nothing is multiplied by a percentage at the end — the weights are the maxima.
Social momentum — max 25
Three terms, each separately capped.
- buzz reaches its cap of 9 once an asset holds 1.8× as much share of conversation as share of market value.
- tone is the only uncapped-in-practice term: it scales linearly with sentiment across the full 0–100 range.
- eng measures interactions per post — depth of response rather than number of mentions. The log keeps a viral outlier from swamping the term, and the cap of 6 is reached at just under 3 interactions per post, which most assets clear comfortably.
Market dynamics — max 35
The volatility bands encode a deliberate view: moderate movement scores highest, and both dead-flat and violently swinging assets score lower. This is a preference, not a finding — an asset moving 3 % is not empirically proven to be more interesting than one moving 12 %.
Because volRatio is already a percentage and is then multiplied by 50, the cap of 15 binds as soon as turnover exceeds 0.3 % of market cap in 24 hours. The large majority of actively traded assets clear that threshold every day. In practice this component awards 15 points to nearly everything and only discriminates among genuinely illiquid assets. Anyone reproducing the score should expect it to behave as a near-constant, and anyone comparing two liquid assets should not expect turnover to separate them here — that is what LMR is for.
Community rank — max 25
A step function over altRank, an external composite ranking where 1 is best. It is the largest single block after market dynamics, and it is the component that keeps established projects competitive.
| altRank | Points | altRank | Points |
|---|---|---|---|
| ≤ 10 | 25 | ≤ 200 | 11 |
| ≤ 25 | 22 | ≤ 300 | 8 |
| ≤ 50 | 19 | ≤ 500 | 6 |
| ≤ 100 | 15 | ≤ 750 | 4 |
| ≤ 1000 | 2 | > 1000 | 1 |
Because this is a step function, an asset moving from rank 26 to rank 25 gains three points, while one moving from 26 to 49 gains nothing. Small rank changes near a boundary produce visible score jumps that carry no real information.
Discovery — max 15
A second, coarser reading of the same social-to-market ratio, added on top of the buzz term.
This is worth being explicit about: the ratio is counted twice. It drives buzz (up to 9 points) and discovery (up to 15), so up to 24 of the 100 available points respond to the same quantity. That is intentional — it is the concept the score is built around — but it means the Moonboard Score is considerably more concentrated on one input than a four-component breakdown suggests.
Normalisation
There is no cross-sectional step. Every component is bounded by construction — through a cap, a band, or a step table — so the total naturally lands in 0–100 without reference to any other asset. The final clamp exists only as a guard.
The consequence is the property that distinguishes this metric from the other six: it is stable. An asset's Moonboard Score changes only when its own data changes. Compare that with percentile-ranked metrics, which move whenever the universe moves.
Interpretation
| Score | What it describes |
|---|---|
| ~20 | Little social presence relative to size, and at least one weak market component. Common for large caps with quiet communities and for illiquid assets. |
| ~50 | Roughly balanced. Social share broadly matches market share, volatility outside the preferred band, or a mid-table community rank. |
| ~70 | Several components strong at once: attention above what size implies, turnover present, volatility moderate. |
| ~90 | Rare. Requires a high social-to-market ratio, a top community rank, and volatility in the preferred band simultaneously. Worth inspecting the components before drawing conclusions — a value this high often reflects an unusual data condition. |
A higher score does not mean an asset will outperform. It means the asset currently displays the pattern the score was built to detect: attention disproportionate to size. Whether that pattern precedes price movement is an empirical question the score itself does not answer.
Worked examples
Both use hypothetical figures chosen to be realistic. They are meant to be reproducible with a calculator — or with the score calculator.
Example A — small cap with outsized attention
| Input | Value | Component | Points |
|---|---|---|---|
| socialDominance | 0.030 | ratio = 2.5 → buzz | 9.00 |
| marketDominance | 0.012 | ||
| sentiment | 72 | tone | 7.20 |
| interactions / posts | 96 000 / 1 200 | eng, capped | 6.00 |
| volume24h / marketCap | 24 M / 400 M | volume, capped | 15.00 |
| volatility | 0.035 → 3.5 % | preferred band | 14.00 |
| marketDominance | 0.012 | size, < 0.1 | 6.00 |
| altRank | 180 | community, ≤ 200 | 11.00 |
| ratio | 2.5 | discovery, > 2 | 8.00 |
Market dynamics is maxed out and social momentum is close. The score is held back entirely by community rank — the profile of an asset with strong current attention but no established standing.
Example B — large cap, larger in every raw number
Same formula, an asset 300× bigger with 22× the posts and 28× the interactions.
| Input | Value | Component | Points |
|---|---|---|---|
| socialDominance | 2.20 | ratio = 0.61 → buzz | 3.06 |
| marketDominance | 3.60 | ||
| sentiment | 61 | tone | 6.10 |
| interactions / posts | 2.7 M / 9 000 | eng, capped | 6.00 |
| volume24h / marketCap | 3.6 B / 120 B | volume, capped | 15.00 |
| volatility | 0.018 → 1.8 % | below band | 11.00 |
| marketDominance | 3.60 | size, < 5 | 2.00 |
| altRank | 12 | community, ≤ 25 | 22.00 |
| ratio | 0.61 | discovery, ≤ 1 | 0.00 |
The larger asset scores 11 points lower despite leading on every raw count. It earns nearly full marks for community standing and loses on exactly the two components that measure size-relative attention. That gap is the design working as intended — and also the clearest statement of the score's bias.
Limitations
- The central ratio is counted twice. Up to 24 points respond to social-to-market share. The score is less diversified than its four components imply.
- The volume component is effectively constant above 0.3 % turnover, so 15 of the 35 market-dynamics points rarely discriminate.
- Step functions create artificial jumps. Crossing an altRank or volatility boundary moves the score by whole points with no corresponding change in the underlying condition.
- It systematically favours small caps. Both the size component and the ratio push in the same direction. This is intended, but it means the score should not be read as a general quality measure — it is a discovery-oriented one.
- Attention has no sign. An exploit, a delisting or a lawsuit raises social dominance exactly as a product launch does. The sentiment term partially offsets this, but a high score during bad news is a known and expected behaviour, not a malfunction.
- Synthetic activity is not filtered out. Coordinated posting inflates the ratio directly. See AI agents and synthetic engagement.
Data quality
Missing marketDominance voids the score entirely. Missing social fields are read as zero, which produces a low but computable score — indistinguishable from an asset nobody talks about. Assets listed within the last few days are the most affected: their market data is complete while their social history is not, so their scores are biased low for reasons that have nothing to do with the asset.
Sources and refresh intervals documents coverage in more detail.
Related
- OPSUses this score as its heaviest single input
- SMISocial footprint without the size adjustment
- Social dominanceThe field the whole score rests on
- Score calculatorRun these formulas on your own inputs
- Social intelligenceWhat social counts do and do not capture