比较 Instagram Followers 与 Following:集合、比率与公式
把 Instagram Followers 和 Following 建模为两个集合,计算互关与单向关系,并在 Google Sheets 中复核结果。
本文目录
Instagram Followers 与 Following 的方向相反。Followers 是关注该主页的账号,Following 是该主页关注的账号;两者并不自动互为关注。
设:
F= 当前 Followers 文件中观察到的唯一账号集合;G= 当前 Following 文件中观察到的唯一账号集合。
完整的当前关系模型为:
互关 = F ∩ G
仅关注你 = F − G
你单向关注 = G − F
所有不同关系账号 = F ∪ G
所有单向关系 = (F − G) ∪ (G − F)本文是一份公式与验算参考。如果你只想按步骤找出没有回关你的账号,请阅读谁没有在 Instagram 上回关我。
四种关系类别
“你单向关注”是一种当前关系,不是历史取关的证据。历史变化需要较早和较新的 Followers 快照。
为什么两个总数还不够
只知道 |F| 与 |G|,无法推导互关数量。两个主页都可能有 1,000 Followers 和 800 Following,但交集大小完全不同。
总数差是有用的算术结果,但它无法识别具体关系类别:
总数差 = |F| − |G|不要把这个差值称为非互关人数。
必须成立的数量恒等式
定义:
M = |F ∩ G|——互关数量;FO = |F − G|——仅关注你的数量;GO = |G − F|——你单向关注的数量;U = |F ∪ G|——并集数量。
结果应满足:
|F| = M + FO
|G| = M + GO
U = M + FO + GO
单向关系数 = FO + GO如果这些等式无法配平,请检查重复项、空白行、混用的身份键和错误的区域引用。
5 个常用比率
这里用 card(F) 和 card(G) 表示集合 F、G 中唯一账号的数量。
分母为 0 时,应把比率标记为不适用,不要输出无穷或人为填成 0%。
用一组虚构 ID 验算
以下 ID 均为虚构:
F = {101, 102, 103, 104}
G = {102, 103, 105}计算结果为:
- 互关:
{102, 103};M = 2 - 仅关注你:
{101, 104};FO = 2 - 你单向关注:
{105};GO = 1 - 并集:
U = 5 - Followers/Following ratio:
4/3 = 1.33 - Follow-back coverage:
2/3 = 66.7% - Followers 互关占比:
2/4 = 50% - Jaccard overlap:
2/5 = 40%
这些数值只描述上述虚构集合,不是 Instagram 基准,也不是产品测试结果。
Google Sheets 公式
假设 Followers!A2:A 与 Following!A2:A 存放已经去重的 account ID。Google 将 COUNTIF 定义为条件计数函数,将 FILTER 定义为返回满足指定条件的行。
互关
=FILTER(Followers!A2:A, Followers!A2:A<>"", COUNTIF(Following!A2:A, Followers!A2:A)>0)仅关注你
=FILTER(Followers!A2:A, Followers!A2:A<>"", COUNTIF(Following!A2:A, Followers!A2:A)=0)你单向关注
=FILTER(Following!A2:A, Following!A2:A<>"", COUNTIF(Followers!A2:A, Following!A2:A)=0)COUNTIF 不区分大小写,这有助于处理用户名大小写变化,但无法解决改名、删除、停用或错误归一化规则。没有任何行符合条件时,FILTER 会返回 #N/A;可以用 IFNA 包裹一个有效的空结果,但应先确认错误不是由范围不对齐造成。
构建可比较的源集合
Instagram Follower Exporter 每次只运行一个 Audience。构建 F 与 G 时:
- 使用相同来源主页和相近的采集时间窗口。
- 分别运行 Followers 与 Following。
- 两次都使用相同的 100、200、500 或 1,000 行上限。
- 保持相同的默认 account ID 去重行为。
- 记录每个任务的终态和确认行数。
14 个输出字段为 id、pk、username、profileUrl、fullName、profilePicUrl、isVerified、followedByViewer、requestedByViewer、audience、sourceProfile、sourceProfileUrl、collectedAt 和 rowIndex。
优先使用 id 作为比较键;只有缺少稳定 ID 时,才回退到归一化后的 username。不要比较 fullName、头像 URL 或 rowIndex:显示名可以重复、图片会变化,行号也只是文件中的位置。
验证清单
- 两份文件描述同一个
sourceProfile和sourceProfileUrl。 - 一份为 Followers,另一份为 Following。
- 行数上限和去重设置一致。
- 两次采集时间足够接近,符合当前问题的要求。
- 记录终态和确认行数;不得把
partial改写成完整结果。 - 所有数量恒等式都能配平。
- 人工抽查每个关系类别中的重要行。
- 原始文件保持不变,公式只放在工作副本中。
限制
Web Tidy 每次最多确认 1,000 行。对更大的账号,这些比率描述的是两个有边界的观察集合,而不是完整社交关系图。login、challenge、rate limit、private/unavailable 目标或 lost context 会停止采集;瞬态错误和 HTTP 5xx 响应最多重试 3 次。
所选任务显示 completed,并不保证覆盖主页显示的总数。当前集合不包含历史事件时间或发生原因。这些比率也不能证明参与度、触达、账号质量、收入或联系他人的许可。
产品不输出 JSON,不定时监控,不丰富邮箱或电话,不同步 CRM,不自动关注、取关或发消息,也不绕过私密主页和访问控制。
常见问题
Followers 多于 Following,是否意味着互关更多?
不是。互关数量是交集 |F ∩ G|,不能从两个总数单独推导。
Followers-to-Following ratio 是什么?
它是 |F| / |G|,只比较两个总数的大小,并不是 Instagram 官方的账号健康评分。
哪个比率最适合描述互惠关系?
M/|G| 表示 Following 中有多少回关,M/|F| 表示 Followers 中有多少也被你关注,M/U 则表示交集相对于所有不同账号的占比。使用时应明确分母。
可以用用户名而不是 ID 比较吗?
只能作为回退方案。account ID 更稳定,用户名可能改变。
这些公式能找出最近取关的人吗?
不能。这个问题需要比较较早和较新的 Followers 文件。