How We Rank Communities
Every ranking on CommunityRanker is computed algorithmically from observable data. No pay-to-play, no hidden factors. Here is exactly how it works.
The Scoring Formula
Each community receives a composite score from 0 to 100, calculated as a weighted sum of six normalized factors. The formula runs daily at 04:00 UTC against our full dataset.
Score =
0.25 × Size Score
+ 0.25 × Activity Score
+ 0.20 × Age Score
+ 0.10 × Accessibility Score
+ 0.10 × Reputation Score
+ 0.10 × Freshness Score
Factor Breakdown
Community Size
Member count on a logarithmic scale, capped at 1 million members. We use log-scale because the difference between 100 and 1,000 members matters more than the difference between 100,000 and 101,000.
Confidence levels: We track whether member counts are verified (from platform API), stated (self-reported), or estimated (scraped). Verified counts receive no penalty. Estimated counts are flagged but not penalized in scoring.
Activity Level
How active the community is based on observable signals: post frequency, response rates, event cadence, and growth trajectory. Categorized into five tiers.
| Level | Score | Signals |
|---|---|---|
| Very Active | 1.0 | Daily posts, rapid responses, growing membership |
| Active | 0.8 | Multiple posts per week, consistent engagement |
| Moderate | 0.5 | Weekly activity, slower response times |
| Low | 0.2 | Sporadic posts, declining engagement |
| Inactive | 0.0 | No recent activity |
Community Age
Years since founding, linearly scaled up to 10 years. Older communities that have sustained engagement over time score higher, reflecting durability and trust.
Communities with unknown founding dates receive a default score of 0.3.
Accessibility
How easy it is for someone to join. More open communities score higher, reflecting broader accessibility — though this does not imply lower quality.
| Access Model | Score |
|---|---|
| Open / Free | 1.0 |
| Freemium | 0.75 |
| Paid | 0.5 |
| Application Required | 0.4 |
| Invite Only | 0.2 |
Reputation
A composite of the age and size scores, serving as a proxy for established trust. As we gather more data (external mentions, sentiment analysis, third-party reviews), this factor will evolve into a richer signal. Currently calculated as the average of age and size scores.
Data Freshness
How recently we verified the listing data. Scores decay over time to ensure rankings reflect current reality, not stale snapshots.
Listings not re-verified within 60 days drop to 0 freshness. Stale listings are refreshed regularly.
Data Sources
Web Research
We collect data from community landing pages, platform APIs, and public profiles. Structured data is extracted and validated against strict schemas — unverifiable values are rejected and shown as unavailable.
Platform APIs
Where available, we pull verified member counts and activity metrics directly from platform APIs (Discord, Reddit, Meetup). API-sourced data is flagged as "verified" confidence level.
Community Submissions
Community owners can submit or claim their listing and provide verified data. Claims are validated through email domain verification, DNS TXT records, or platform OAuth (Discord admin, Reddit moderator).
Editorial Review
Our editorial team assigns qualitative scores based on community culture, content quality, and member experience. These feed into the reputation factor and are clearly marked as editorial assessments.
Update Schedule
| Process | Frequency | Time (UTC) |
|---|---|---|
| New community discovery | Daily | 02:00 |
| Stale listing refresh | Daily | 03:00 |
| Ranking recomputation | Daily | 04:00 |
| Editorial content | Mon / Wed / Fri | 05:00 |
Our Commitment
No pay-to-rank. Community owners cannot pay to improve their score. Claiming a listing unlocks editing capabilities, not ranking boosts.
Transparent methodology. This page documents our exact scoring formula. If we change it, we will document the change and the reasoning.
Open to feedback. If you believe a ranking is inaccurate, submit a correction. We review every submission and update our data accordingly.