Scoring methodology

Kol Proof uses two scoring layers per dimension: deterministic math (formulas applied to raw account data) and LLM judgment (a model reading the account's content and assigning a qualitative score). Each rubric adds up to 100 points. Letter grades are then assigned from the total.

X / Twitter
InstagramSoon
YouTubeSoon
TikTokSoon

Grade scale

A+90+
A80–89
B65–79
C50–64
D35–49
Fbelow 35

KOL value

Measures whether this account is worth partnering with for a campaign: reach, engagement authenticity, posting habits, and brand safety.

DimensionKindMax ptsHow it's calculated
Audience sizeDeterministic20log₁₀(followers) scaled from 1k → 0 to 5M → 20
Engagement rateDeterministic20Engagements per 1k impressions (ER‰); 50‰ = full score
Audience quality (proxy)Deterministic15Follower/following ratio sweet-spot around 8×
Content cadenceDeterministic10Posts/day sweet-spot at 0.1, 2, or 30 per day
Verification & statusDeterministic5Counts verified signals (blue/business/government/legacy)
Content focus / topic clarityLLM15Model judges whether tweets cluster on one topic or scatter
Brand safetyLLM15Model flags controversy, political polarization, offensive content

Credibility

Measures how much the account's profile signals a genuine subject-matter expert with an organically grown audience.

DimensionKindMax ptsHow it's calculated
Original output ratioDeterministic15Share of original posts vs. retweets (higher = more credible)
Posting consistencyDeterministic15Coefficient of variation of inter-post gaps; steady cadence scores higher
Audience depthDeterministic15Follower/following ratio as a proxy for organic growth
Account ageDeterministic10Older accounts score higher; sweet-spot at 2–4 years
Verification stackDeterministic5Any verification signal present
Content expertiseLLM15Model rates whether content reflects domain knowledge
Domain consistencyLLM15Model checks that posts stay in one knowledge domain
Peer engagementLLM10Model assesses quality of replies and quote-tweet conversations

Account quality

Anti-spam / authenticity check: flags bot-like patterns, incomplete profiles, and engagement manipulation before they drain your budget.

DimensionKindMax ptsHow it's calculated
Profile completenessDeterministic15Bio ≥20 chars, avatar, location, URL, display name — 3 pts each
Account ageDeterministic10Newer accounts score lower
Posting cadence sanityDeterministic10Penalises burst-posting (>50/day) and dormancy (<0.02/day)
Engagement / followers ratioDeterministic10Checks that engagement scales with follower count
Original content ratioDeterministic20High retweet ratio is a quality red flag
Follower / following sanityDeterministic10Extreme ratios (follow-back farms or buying follows) score low
VerificationDeterministic10Verified account gets a quality boost
Content qualityLLM15Model rates writing quality, originality, and signal-to-noise

Topic fit

Measures how well this account's content, audience, and bio align with a specific campaign topic you supply.

DimensionKindMax ptsHow it's calculated
Bio fitLLM25Model reads the bio and rates alignment with your topic
Recent content fitLLM40Model scores last N tweets against your topic (most important signal)
On-topic engagement upliftLLM15Model checks whether on-topic posts outperform average engagement
Topic-weighted reachHybrid20log₁₀(followers) × LLM topic-fit confidence (0–1)

In development / mock mode (when TSKGONE_* env vars are unset), LLM dimensions are stubbed with fixture data rather than real model output. Deploy with the env vars set to score against live account data.