Methodology · v1.6 · July 2026
How the TrustSkore is calculated
The TrustSkore is a 0–100 algorithmic momentum indicator assigned to every Skool community in the TrustSkool index. It answers one question: is this community actually growing and stable, or does it just market itself well? The score is computed from publicly observable signals on a fixed, versioned formula, never from reviews, testimonials or payments.
1. The formula & exact weights
The TrustSkore is a weighted average of four sub-indicators, each independently normalized to a 0–100 scale before combination.
Growth Momentum
Measures the percentage change in total member count over the most recent 30-day lookback window. The raw growth percentage is mapped to a 0–100 score via a saturating exponential curve: 0% growth → 50 (neutral); +20% growth → ~97; negative growth decays toward 0 (losses penalised more steeply than gains are rewarded).
// pct < 0: score = 50 × epct/10
Ranking Momentum
Measures the relative change in Skool's own discovery rank over the full available rank history (lower rank number = better position). The relative improvement is mapped via a hyperbolic tangent: a community that improved its rank by 40% scores above 50; one that fell by 40% scores below 50.
score = 50 + 50 × tanh(improvement × 2)
Price Stability
Tracks the entry price over the full available price history. Free communities and communities with an unchanged price score 100. Each detected price change deducts 15 points; each price increase deducts an additional 10 points. Score is clamped to 0 minimum.
score = max(0, 100 − penalty)
Owner Engagement
Measures how actively the community founder participates on Skool. An engaged founder correlates with faster moderation, regular content, and a healthier community culture. The sub-score combines two signals: recency (days since the owner was last active) and frequency (active days in the last 30 days). When owner data is unavailable, both signals default to 50 — a neutral value that neither rewards nor penalises the community.
frequency_score = data missing ? 50 : clamp((active_days_last30 / 30) × 100, 0, 100)
owner_engagement = 0.6 × recency_score + 0.4 × frequency_score
Reference values: active today + 30/30 active days → 100 · active today + 0/30 active days → 60 · last active 90+ days ago → floor at 29 (recency clamped to 15). The “Founder active N days ago” badge on community pages reflects the recency signal directly.
Final formula
TrustSkore = 0.35 × Growth Momentum + 0.30 × Ranking Momentum + 0.15 × Price Stability + 0.20 × Owner Engagement
All four sub-scores are on a 0–100 scale. The final TrustSkore is clamped to [0, 100] and rounded to four decimal places. The score is refreshed on each daily ingestion run.
MRR badge floor (permanent — applied whenever a Skool-verified badge is present)
Communities with a Skool-verified MRR badge receive a permanent minimum TrustSkore. This floor is always applied — a verified badge is a stable external trust signal, not a bootstrap proxy.
| Badge | MRR tier | Floor |
|---|---|---|
| clover | $3k+/mo | 75 |
| rocket / liftoff | $10k+/mo | 82 |
| crown | $30k+/mo | 88 |
| diamond | $100k+/mo | 93 |
| red_diamond | $300k+/mo | 97 |
| goated / goat | $1M+/mo | 99 |
Final score = max(raw computed score, MRR badge floor)
Member-count floor (applied when fewer than 2 history snapshots are available)
Communities with insufficient history receive a minimum score derived from their current member count via a log-scale formula. This prevents large, established communities from showing a misleadingly low score while our tracking is young. Communities with real growth data can still score above the floor and outrank larger-but-idle ones.
// Reference values: 1k members → 63.6 · 10k → 69.8 · 100k → 76.0
Bootstrap rule (v4): Communities with ≥ 2,000 members and fewer than 3 snapshots receive temporary starting estimates derived continuously from their member count:
Ranking Momentum = 55 + 25 × log10(members) / log10(100,000)
// 2k members → ~67/62 · 10k → ~74/69 · 100k → 85/80
This ensures every community has a numerically distinct score based on its exact size. Once 3 or more real snapshots are collected, the bootstrap is dropped and real computed values take over permanently.
2. Worked numeric example
The following example uses realistic inputs to walk through every step of the calculation. The dataset is still in its first days of operation: once the daily pipeline has accumulated at least three snapshots per community, this section will be replaced with a real indexed community and its actual stored history.
Community: "Creator Growth Academy" · illustrative example
Step 1: Growth Momentum (weight 35%)
- Member count 30 days ago: 2,000
- Member count today: 2,340
- Growth % = (2,340 − 2,000) / 2,000 × 100 = +17.0%
- Score = 50 + 50 × (1 − e−17/7) = 50 + 50 × (1 − 0.0889) = 50 + 50 × 0.911 ≈ 95.6
Step 2: Ranking Momentum (weight 30%)
- Discovery rank at first recorded data point: 850
- Discovery rank today: 510
- Relative improvement = (850 − 510) / 850 = +0.400
- Score = 50 + 50 × tanh(0.400 × 2) = 50 + 50 × tanh(0.8) = 50 + 50 × 0.664 ≈ 83.2
Step 3: Price Stability (weight 15%)
- Price history: $49/mo → $49/mo → $67/mo (1 change, 1 increase)
- Penalty = 1 × 15 + 1 × 10 = 25
- Score = max(0, 100 − 25) = 75.0
Step 4: Owner Engagement (weight 20%)
- Owner last active: 3 days ago
- Active days in last 30: 22 days
- Recency = clamp(100 − 3 × 2, 15, 100) = 94.0
- Frequency = (22 / 30) × 100 = 73.3
- Score = 0.6 × 94.0 + 0.4 × 73.3 = 56.4 + 29.3 = 85.7
= 33.46 + 24.96 + 11.25 + 17.14
= 86.8
3. What TrustSkore is NOT
Understanding what the TrustSkore does not measure is as important as understanding what it does. This section exists to prevent misinterpretation.
✕ Not a measure of community quality or content value
The TrustSkore says nothing about whether the courses, coaching or content inside a community are good. A community with excellent content but slow member growth will score lower than a community with mediocre content that is growing fast.
✕ Not a measure of member satisfaction
No user reviews, star ratings or satisfaction surveys are collected or factored into the score. The TrustSkore is derived entirely from public, observable signals: member count, discovery rank and entry price.
✕ Not an editorial recommendation
TrustSkool does not endorse, recommend or vouch for any community. The score is a momentum indicator, not a quality seal. You should evaluate a community's content, creator reputation and fit for your goals independently.
✕ Not a review or rating in the Google sense
The TrustSkore is an algorithmic composite with zero user input. It is not marked up as a Review or AggregateRating in structured data and does not qualify for Google's review rich results. It is presented as a plain numeric indicator.
✕ Not a guarantee of safety or legitimacy
A high TrustSkore means a community is growing and price-stable. It does not mean the community is free from fraud, misleading claims or harmful content. See our fraud response policy for how we handle credible reports.
4. Anti-gaming & anomaly detection
Any public metric can be gamed. We document our current defenses honestly, including their limitations, and our roadmap for improving them.
Known attack vectors
- Bulk invite inflation: A creator can invite large numbers of contacts to inflate member count in a short window, producing a growth spike that does not reflect organic interest.
- Engagement-pod rank manipulation: Coordinated activity within a community can temporarily boost its Skool discovery rank without genuine audience growth.
Current defenses (v1.1)
- Spike dampening via log-scale saturation: The growth momentum formula uses a saturating exponential (not linear growth). A +100% spike in one day produces a score of ~99, the same as sustained +20%/month growth. The formula does not reward velocity beyond a threshold.
- Multi-window consistency check (planned): We plan to compare 7-day, 30-day and 90-day growth windows. A community that shows a large 7-day spike but flat 90-day growth will be flagged for manual review before its score is surfaced in promoted positions.
- Rank cross-check against member growth (planned): Unusually high rank improvement paired with flat or declining member growth is a signal of engagement-pod activity. We plan to flag such cases and apply a dampening factor to the ranking momentum sub-score.
5. Data sources & provenance
| Signal | Source | Collection |
|---|---|---|
| Member count | Skool public discovery listing (visible to any visitor) | Daily automated crawl |
| Discovery rank | Position in Skool's public community directory | Daily automated crawl |
| Entry price | Publicly displayed price on each community's Skool page | Daily automated crawl |
Collection mechanism: An automated crawler visits Skool's public discovery pages and individual community pages. No authentication, private data or member-only content is accessed.
Collection frequency: High-traffic language segments (English, Spanish, German, French) are refreshed daily. Lower-traffic language segments rotate on an approximately 72-hour cycle. All TrustSkores are recomputed after each ingestion run.
Coverage: Only communities that appear in Skool's public discovery listing are indexed. Private, unlisted and invite-only communities are not included.
No community self-submission: Communities cannot submit, correct or influence their own data. All inputs come exclusively from the automated crawl.
6. Limitations
Private and unlisted communities are not indexed
Many high-quality communities operate outside Skool's public discovery listing. TrustSkool only covers publicly discoverable communities, so the index is not exhaustive.
New and small communities have volatile scores
Communities with fewer than ~100 members or fewer than 14 days of history have very noisy trend data. A single day of unusual activity can swing the score significantly. Treat scores for new communities as provisional.
Seasonal cohort launches distort short-term momentum
Creators who run cohort-based programs may show large member spikes at launch followed by flat or declining periods. The 30-day growth window can capture either the spike or the plateau depending on timing, producing scores that do not reflect the community's long-term trajectory.
Discovery rank reflects Skool's own algorithm, not ours
We observe Skool's discovery rank but do not control it. Changes to Skool's internal ranking algorithm can produce rank movements that have nothing to do with a community's actual performance.
Price history only captures the entry price
Upsells, payment plans, or changes to what is included at a given price are not tracked. A community that raises its price but also substantially increases its value would score the same as one that raises its price without adding value.
7. Commission firewall
Some outbound links on TrustSkool are affiliate links: if you join a community or create a Skool account through them, TrustSkool may earn a commission at no extra cost to you. All affiliate links are marked with rel="sponsored".
The scoring engine has no access to affiliate commission data. The formula reads only member history, rank history and price history, fields that exist in the database before any affiliate link is created. Whether a community has an active affiliate link, a higher commission rate, or no link at all has zero effect on its TrustSkore or its position in any ranking.
If a community is flagged under our fraud response policy, its affiliate link is suspended until the flag is resolved, meaning TrustSkool stops earning from that community while it is under review.
8. Changelog
| Version | Date | Changes |
|---|---|---|
| v1.6 | July 2026 | Added permanent MRR badge floor: communities with a Skool-verified revenue badge receive a minimum TrustSkore regardless of history length. Floors by tier: clover ($3k+/mo) → 75, rocket/liftoff ($10k+/mo) → 82, crown ($30k+/mo) → 88, diamond ($100k+/mo) → 93, red_diamond ($300k+/mo) → 97, goated ($1M+/mo) → 99. Unlike the member-count bootstrap floor, the MRR floor is always applied — a verified badge is a stable external trust signal. Final score = max(raw, member-count floor if applicable, MRR badge floor). |
| v1.5 | July 2026 | Added Owner Engagement as a fourth sub-score (weight 20%). Weights rebalanced: Growth Momentum 35% (was 45%), Ranking Momentum 30% (was 35%), Price Stability 15% (was 20%). Owner Engagement combines recency (days since last active, clamped to [15, 100]) and frequency (active days / 30 days). Missing owner data defaults to neutral 50 so communities without data are not penalised. Added "Founder active N days ago" badge on community and founder pages. |
| v1.4 | July 2026 | Bootstrap formula v4: replaced fixed 85/82 constants with a continuous member-count-based formula (Growth Momentum = 60 + 25 × log₁₀(n) / log₁₀(100k), Ranking Momentum = 55 + 25 × log₁₀(n) / log₁₀(100k)). This ensures every community has a numerically distinct score: 2k members → ~67/62, 10k → ~74/69, 100k → 85/80. Added "Revenue verified" filter (100 communities with Skool-confirmed MRR badge). Post-processing uniqueness pass guarantees no two communities share the same TrustSkore. |
| v1.3 | July 2026 | Growth curve recalibrated: saturation constant 7 → 2.5 so modest real growth (+3%/30d) maps to ~82 instead of ~65. Bootstrap estimates raised to 85/82 so established communities (≥ 2,000 members) show a realistic starting score of ~87; communities with real growth data can still outrank them once sufficient snapshots accumulate. Score range now 60–87 for bootstrapped communities; 85–95+ achievable with strong real growth data. |
| v1.2 | July 2026 | TrustSkore rebalance: member-count floor ceiling lowered from 90 → 76 (formula: 45 + 31 × log₁₀(n) / 5). Bootstrap starting estimates reduced from 80/75 → 68/65 so communities with real growth data can outrank large-but-idle ones. Added deterministic micro-perturbation (max 0.05 pts) per community ID to eliminate score ties. Methodology page updated with explicit floor reference values and bootstrap documentation. |
| v1.1 | July 2025 | Added worked numeric example, "What TrustSkore is NOT" section, anti-gaming documentation, data provenance table, limitations, commission firewall statement, and this changelog. Removed AggregateRating structured-data markup (policy compliance). |
| v1.0 | June 2025 | Initial methodology. Weights: Growth Momentum 45%, Ranking Momentum 35%, Price Stability 20%. Saturating exponential growth curve, tanh rank curve, penalty-based price stability. |
How to read a score
| Range | Reading |
|---|---|
| 70–100 | Strong, sustained growth with a stable offer. The community is expanding and holding its position on the platform. |
| 45–69 | Steady but unremarkable trajectory, or mixed signals, for example solid growth paired with recent price changes. |
| 0–44 | Flat or declining membership, falling discovery rank, or unstable pricing over the observation window. |
A low TrustSkore does not mean a community is a scam. It means its recent public growth record is weak. New communities with little history tend to start in the middle of the range until they build a track record.
9. Estimated Revenue figures
Some community pages show an Estimated Revenue range. This figure is not a verified income claim. It is a model-based estimate derived from two independent signals: a naive ceiling and, when available, the creator's public Skool revenue badge.
Signal 1: Naive ceiling (always available for paid communities)
naive_ceiling = total_members × monthly_price
This is the theoretical maximum if every current member pays the full monthly price with zero churn. In practice, actual MRR is lower due to annual plans, trials, churn, and refunds. We display it as an upper bound only.
Signal 2: Skool public revenue badge (when available)
Skool displays a public badge on creator profiles when their total monthly revenue across all communities crosses a tier threshold. These tiers are publicly visible on Skool.com and are not set by TrustSkool.
| Badge | Tier range (MRR) | Notes |
|---|---|---|
| Clover | $3k – $10k / month | |
| Liftoff / Rocket | $10k – $30k / month | Liftoff is an alias for the Rocket tier |
| Crown | $30k – $100k / month | |
| Diamond | $100k – $300k / month | |
| Red Diamond | $300k – $1M / month | |
| Goated / Goat | $1M+ / month | Open-ended upper bound |
How the two signals are combined
- No badge + paid community: Display naive ceiling as "Up to $X/month" with no reinforcement label.
- Badge + single community: Intersect the tier range with the naive ceiling. If the naive ceiling is inside the tier, the intersection narrows the range. If the naive ceiling is below the tier's lower bound, the full tier range is shown with a note that the badge suggests higher revenue than the ceiling implies.
- Badge + multiple communities: The badge covers the creator's total across all their communities. We allocate the tier range proportionally by member count across the communities we have indexed. This is an approximation: the actual split depends on price and churn per community.
- Free community + no badge: No estimate is shown.
Important caveats
- Revenue estimates are not verified by Skool or the community creator.
- Skool badges reflect total creator MRR, not individual community MRR.
- Naive ceilings assume 100% conversion and zero churn. Actual MRR is always lower.
- The estimate is updated whenever the community's member count or price changes in our index.
- TrustSkool does not earn more commission from communities with higher revenue estimates.