Open any media kit and the first number you see is the follower count, set in the largest type on the page. It is the number brands ask for, the number rate cards are priced against, and the number that decides who gets shortlisted. It is also the number with the weakest relationship to whether a campaign works.
Followers measure an audience someone accumulated at some point. They say nothing about whether that audience still shows up. A creator who gained 400,000 followers during one viral moment in 2023 and now gets 11,000 views a post has a spectacular media kit and a dead channel. A creator with 9,000 followers whose posts routinely reach 40,000 people has a modest media kit and the thing you actually want to buy.
Followers belong in the denominator
The Nuvora Social Score is built on one structural decision: follower count is the denominator, never the numerator. The score is a reach-efficiency measure. It asks how far a creator’s work travels beyond the audience they already have, and how hard that reach engages when it gets there.
Two ratios do the work:
- View-through — median views divided by followers. Reach beyond the follower base. A value of 1.0 means a typical post reaches about as many people as follow the account; 3.0 means it reaches three times that.
- Engagement rate — interactions divided by views. Not divided by followers, which is the more common definition and the more flattering one. Dividing by views asks whether the people who actually saw the post did anything about it.
Because followers sit underneath the first ratio, growing an audience without growing reach *lowers* the score. That is not a side effect. It is the entire point, and it is what makes the number usable for casting UGC, where the best performers are frequently small.
The weights, in the open
Three components are combined into the final 0–100. The weights are constants in packages/contracts/src/social-score.ts, and they are these:
- View-through — 0.50. Does the work travel?
- Engagement rate — 0.35. Does it land when it does?
- Audience credibility — 0.15. What share of the audience looks like real people?
Each component is normalised logarithmically against a per-platform benchmark rather than scaled linearly, because the interesting distinction is between half and twice typical performance, not between fifty and sixty times it. On TikTok the benchmarks are a view-through of 1.2 and an engagement rate of 0.06; on Instagram, 0.55 and 0.045; on LinkedIn, 0.3 and 0.03. A creator exactly at benchmark scores in the middle. Four times benchmark and a quarter of it sit equally far either side.
Every input uses the median, not the mean. One post that went unusually far should not carry a creator’s score for the next six months, and with a mean it would.
Why publish the formula at all
The usual argument against publishing a scoring formula is that people will game it. The counter-argument is stronger: a score a brand cannot interrogate is a score they will not trust, and quite reasonably. If a creator is surfaced ahead of one you expected, you are entitled to know which component carried them.
So the API returns every input and every component alongside the number, and the interface shows them. You can see that a creator scored 84.8 because their view-through is 2.4× the TikTok benchmark, that their engagement rate is slightly below it, and exactly how much each fact moved the total.
There is one honest caveat, and it is in the source file too: the benchmarks are launch-market starting points. They are informed estimates for Kenyan audiences on each platform, and they will be recalibrated against our own outcome data as campaigns complete. Any platform telling you their benchmarks are definitive on day one is telling you something else as well.
What to ask for instead of followers
If you take nothing else from this: when a creator sends you a media kit, ask for median views per post over the last ten posts, and the interaction count on those same posts. Two numbers. They take a creator two minutes to pull and they tell you more than a follower count ever will.
A large account with flat reach scores below a small account whose posts travel. This is what makes the score usable for UGC casting.
From the docblock on social-score.ts