Logo
/
  • Home
  • Assets
  • Leaderboard
  • Awards
  • Polyrating
PolyRating·Signal ELO System

How PolyRating Is Calculated

PolyRating is an ELO-style rating from 0–100 that measures how strong a user’s verified trading signals are over time. It now blends three ideas: how right you were on direction and accuracy, how consistently active you are, and how much engagement your signals receive.

Bounded 0–100 scaleDirection-aware (LONG / SHORT)Magnitude-aware (% gain / loss)Frequency-aware (recent activity)Engagement-aware (likes & comments)Per-signal ELO updates
View Leaderboard→
High-level summary

One score, updated each time a signal is verified.

Every time one of your signals is verified, we compute a performance score S ∈ [0, 1] for that signal and update your PolyRating using an ELO-like rule:

Rnew = Rold + K × (S − E)
  • R is your PolyRating (0–100), starting at 50.
  • K is the sensitivity (dynamically adjusted based on how many signals you’ve had and when they were verified).
  • S is how well this specific signal performed (0 = terrible, 1 = outstanding).
  • E is the expected performance based on your current PolyRating.

If a signal does better than expected (S > E), your PolyRating goes up. If it underperforms (S < E), your PolyRating goes down. The higher your score already is, the harder it becomes to move it further up.

Per-signal performance score S

We blend direction, accuracy, frequency and engagement into a single score.

For each verified signal, we use three components:

  • Core (direction + accuracy) – did you get the direction right, and how strong was the move?
  • Frequency – how many signals you’ve made recently (last few days).
  • Engagement – how much attention the signal received (likes & comments).

1. Core component (direction + accuracy)

We start from the same idea as classic ELO, but tuned for trading signals: Direction (D): D = 1 if the prediction direction was correct, D = −1 if wrong. Magnitude (P): a damped version of accuracy_percentage, capped and curved so outliers don’t dominate.

The core per-signal score is symmetric around 0.5:

Score = clamp(0.5 + 0.5×wdir×D + 0.5×wgain×D×P)

Here wdir and wgain are internal weights for direction vs magnitude of the move.

2. Frequency component

We look at how many of your verified signals fall inside a rolling recent window (e.g. the last 7 days). More signals in that window push your frequency score closer to 1: Sfreq ∈ [0, 1], centred around a neutral 0.5. Very low recent activity → Sfreq slightly below 0.5; high recent activity → Sfreq closer to 1. When a signal is wrong, high frequency helps mitigate the loss: frequent, active users lose a bit less PolyRating on each individual mistake.

3. Engagement component

Engagement looks at how much attention a specific signal received (comments and likes). Higher engagement pushes this score closer to 1: Seng ∈ [0, 1], also centred around 0.5. When a signal is wrong but had high engagement, we treat it more softly: high Seng reduces the size of the rating drop.

Putting it all together

The final per-signal performance score is a weighted blend:

S = 0.7×Score + 0.2×Sfreq + 0.1×Seng

These percentages are configurable. By default:

  • 70% of the effect comes from direction + accuracy (the core ELO idea).
  • 20% from how actively you’ve been signalling recently.
  • 10% from how much engagement each signal gets.
Example A – Small but correct

LONG prediction, verified as correct with accuracy_percentage = +8%.

  • D = 1 (direction is correct)
  • P = min(0.08, 1.0) = 0.08
  • S ≈ 0.724
Solid winModest move, solid signal
Example B – Big home-run

SHORT prediction, verified as correct with accuracy_percentage = +60%.

  • D = 1
  • P = min(0.60, 1.0) = 0.60
  • S = 0.88
High-impact winLarge move, strongly rewarded
ELO-style update and score bounds

Higher PolyRating means we expect you to produce strong signals.

PolyRating is bounded between 0 and 100 and starts at 50 for every user. For each verified signal, we compute:

E = 1 / (1 + 10(BASE − R) / 400)
  • BASE = 50 is the neutral anchor.
  • R is the current PolyRating.

If your PolyRating is above 50, we expect you to perform better than average (E moves closer to 1). If it’s below 50, expectations are lower (E moves closer to 0).

The final update is:

Rnew = clamp(Rold + K×(S − E), 0, 100)
  • K is dynamic: it starts higher when you have fewer verified signals and slowly decays as your history grows, and is further scaled by how recent each signal is.
  • S − E is positive when you outperform expectations, negative when you underperform.
CasePolyRating (R)SEΔR = K·(S − E)
New user, solid win500.72≈ 0.50+2.2
High-rated user, small win800.65≈ 0.88−2.3
Mid-rated user, big loss600.05≈ 0.65−6.0

As scores get higher, expectations increase and each additional “good” signal moves the score less. Conversely, a large, incorrect call from a highly-rated user can move the score down more sharply – although high recent frequency and strong engagement will now cushion that downside somewhat.

Design rationale & future extensions

Why we chose this structure, and what might evolve.

  • Direction first. Getting LONG vs SHORT correct is the foundation. That’s why the core component (direction + accuracy) still receives most of the weight (~70%) in S.
  • Magnitude matters. Among correct calls, larger percentage moves represent higher information content and are rewarded via the gain component.
  • Consistency matters. More frequent, recent signalling earns a separate frequency bonus (~20% of S), and also softens the impact of occasional bad calls.
  • Engagement matters. Heavily discussed, high-conviction signals carry more weight. Engagement (~10% of S) rewards well-followed signals and reduces how harshly we punish an incorrect but highly engaged call.
  • Bounded & interpretable. A 0–100 scale with a 50 baseline is easy to compare across users over time.
  • Order-aware and time-aware. Signals are processed in verification order. Older signals naturally matter less via both the dynamic K factor and an explicit recency weighting in the update.

The current design is intentionally modular: the 70% / 20% / 10% split and the shapes of the frequency and engagement curves are all configurable. This lets us fine-tune the PolyRating system over time while keeping the underlying ELO-style structure stable and predictable.

PolyRating ELO v2 · This page documents the current production system.Last updated: Feb 04, 2026
Logo

Popular Signals

  • Gold
  • Currency
  • Stock
  • Automobile

Quick Links

  • Terms of Use
  • Privacy Policy
  • Pricing Plans
  • Our Services
  • Contact
  • Careers
  • FAQs

Discovery

  • Chicago
  • Los Angeles
  • New Jersey
  • New York
  • California

© 2026 Signal – All rights reserved