GrowX 如何在 Chrome 擴充功能中為 X 帳戶建立 1-99 回關評分
How Follow-Back Scores Work: Building a 1-99 Ranking for X Accounts in a Chrome Extension
GrowX 這款 X 用 Chrome 擴充功能以 1-99 分估算帳戶回關可能性,並説明評分邏輯。評分結合關注與粉絲比例、近期活躍度、帳戶規模、個人檔案完整度、關鍵字相關性及帳戶年齡,再按權重計算。評分在擴充功能本機完成,伺服器不會接收用戶的關註名單。
When you're trying to grow a small account on X, the hardest question isn't "what should I post?" It's "whose attention is actually worth my time?" Following people at random fills your feed with noise and rarely builds a real audience. So while building GrowX, my Chrome extension for X growth, I spent a lot of time on one feature: a follow-back score that rates any account from 1 to 99.
This post explains how a follow-back score works, which signals matter, how I weighted them, and what I learned building the scoring logic entirely in the browser.
What a follow-back score is (and isn't)
A follow-back score is a quick estimate of how likely an account is to follow you back if you follow them. It isn't a judgement of whether someone is a "good" account, and it isn't a guarantee. It's a ranking tool: when you're looking at 200 followers of a creator in your niche, the score helps you decide where to spend your limited attention first.
I chose a 1-99 range on purpose. A 0 or 100 would suggest certainty, and there's no certainty in predicting human behaviour. Clamping the output to 1-99 keeps the number honest.
The signals that matter
After looking at a lot of accounts by hand, a handful of public signals turned out to be useful predictors:
1. Follow ratio
The ratio of following to followers is the strongest single signal. An account that follows 1,800 people and has 1,200 followers is clearly someone who follows people. An account with 50,000 followers that follows 300 almost never will. I don't use the raw ratio; I put it through a log scale so that extreme values don't dominate the score.
2. Recent activity
An account that hasn't posted in six months won't notice your follow. GrowX looks at how recently the account posted and gives a strong boost to accounts active in the last few days. Inactive accounts get pushed toward the bottom of the scale no matter how good their ratio is.
3. Account size
Mid-sized accounts (roughly a few hundred to a few thousand followers) are the sweet spot. Tiny accounts are often new or abandoned, and very large accounts get too many notifications to see yours. The size signal is a gentle bell curve rather than a hard cut-off.
4. Profile completeness
A profile photo, a bio and a banner suggest a real person who cares about their presence. Missing basics usually means a low-effort or throwaway account, so those signals reduce the score a little.
5. Niche relevance
This is the part most tools skip. If you build developer tools, a developer who follows you back is worth far more than a random follow-back. GrowX lets you set keywords, and accounts whose bios match those keywords get a relevance boost. A high score on an irrelevant account isn't growth, it's just a bigger number.
6. Account age
Very new accounts behave unpredictably. Older accounts with steady activity are more reliable. Age is a small modifier, not a main driver.
Turning signals into one number
Each signal produces a value between 0 and 1. The score is a weighted sum, then mapped onto 1-99:
function followBackScore(a, prefs) {
const ratio = Math.log10((a.following + 1) / (a.followers + 1)); // about -2..2
const ratioScore = clamp((ratio + 1) / 2, 0, 1);
const daysSincePost = a.daysSinceLastPost ?? 365;
const activity = Math.exp(-daysSincePost / 14);
const size = bell(Math.log10(a.followers + 1), 3, 0.8); // peaks around 1k
const profile = (a.hasPhoto ? 0.5 : 0) + (a.bio ? 0.3 : 0) + (a.hasBanner ? 0.2 : 0);
const relevance = keywordMatch(a.bio, prefs.keywords); // 0..1
const age = clamp(a.accountAgeDays / 365, 0, 1);
const raw =
0.30 * ratioScore +
0.25 * activity +
0.15 * size +
0.10 * profile +
0.15 * relevance +
0.05 * age;
return Math.round(1 + raw * 98); // 1..99
}
The weights above are simplified from what ships, but the idea is the same. I tuned them by checking my own follows against who actually followed back over a few weeks, then adjusting until the high-score group clearly outperformed the low-score group.
Why everything runs on-device
GrowX computes scores locally in the extension. Profile data that's already on the page you're viewing is read, scored and stored in chrome.storage. There's no server receiving your follow lists. That decision had a few nice side effects:
- Speed: scoring is instant because there's no network round-trip.
- Privacy: your targeting choices and history stay in your browser.
- Cost: as a student with a pre-revenue product, not running a backend matters.
The trade-off is that I can't train a big model across all users. Honestly, for this problem a transparent weighted formula is easier to reason about anyway, and users can see why an account scored the way it did.
Using the score well
A score is only useful if it changes what you do. A few habits that worked for me:
- Start from a relevant source. Open the followers of a creator in your niche. Those people already showed interest in your topic.
- Sort by score, then read. Look at the top of the list and actually read a few bios. Skip anyone who isn't a fit, even with a high score.
- Pace yourself. Spread activity across your real active hours and keep daily numbers modest. GrowX has caps, active hours and a warm-up period built in for this.
- Measure follow-backs by source. After a week, check which source accounts brought the most follow-backs. In my case two sources out of ten produced most of my growth.
- Clean up later. The unfollower tracker shows who left and when, which helps you spot posts that turned people off.
What I'd do differently
If I started over, I'd log the score at the time of each follow from day one. Having that history makes tuning weights much easier, because you can compare predicted scores against what really happened. I added it later and wish I'd had the earlier data.
I'd also expose the breakdown sooner. Users trust a number more when they can see "high ratio, active yesterday, bio matches your keywords" next to it.
Try it
GrowX bundles the follow-back score with a post scheduler, analytics, an unfollower tracker, smart auto follow based on the audience you target, and an on-device writer. It's free to start.
- Website: growxapp.org
- Chrome Web Store: GrowX on the Chrome Web Store
I'm a student building this in public, so feedback on the scoring approach is very welcome. What signals would you add?
來源:DEV Community · dev.to


