Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

活跃度指标设计v2 #2

Closed
3 of 7 tasks
seeflood opened this issue Jan 8, 2022 · 3 comments
Closed
3 of 7 tasks

活跃度指标设计v2 #2

seeflood opened this issue Jan 8, 2022 · 3 comments

Comments

@seeflood
Copy link
Collaborator

seeflood commented Jan 8, 2022

1. 设计目标

在v1版本基础上增加负反馈,以便激励各个项目:

  • 即时回复社区提的issue
  • 即时回复社区提的PR

消灭0回复!

2. 指标设计:方案A,扣分制

image

计算规则

如果issue回帖人里没有member,也算0回复;
如果issue发帖人是member,则不计算在内;
3月11日更新:打了help wanted或者good first issue的,不计算在内;

另一种选择

open digger社区的另一个思路是:分别计算每个贡献者的贡献度(可以理解成计算每个contributor的”得分“),最后项目的总贡献度=每个贡献者贡献度的根号求和。
这种设计的好处是:可以抹平核心贡献者活跃度过高导致的项目整体活跃度较高,而对长尾参与者较为友好

但是v2的设计目标不同,v2的设计目标是”消灭0回复“,不强调社区多元化

Pros & Cons

Pros

  1. 只需要一个指标即可搭建奖/惩机制,简单,方便理解
    比如可以定一个deadline阈值,长时间低于deadline的项目可以启动破产机制,推动下线/改名

Cons

  1. 大量项目得分负数,开局分太低,大家缺乏动力投入
    因此可以:
    a. 可以设计一个统计的时间窗口,比如"只统计从去年6月到现在的issue/pr"
    b. 换一种思路,得分太低,说明这个项目应该归档

  2. 解决不了”1回复问题“:member回1次issue或者PR,然后提问者补充提问,或者pr贡献者修改pr后,即使member再也不回,指标也不会有负反馈
    对于这个问题,考虑在v3解决,v2先解决0回复问题
    解决思路: 统计"超过一定期限未关闭的issue/pr数"

3. 破产机制

  • 长期低于deadline的项目,进入破产重组期
  • 破产重组期结束后,仍低于deadline的项目建议 archive,或者改名、移动进其他组织

4. 其他优化

  • 目前没把pr review数统计在内,这个也应该算回复,见 Count "pr review comment" in #1
  • 需要对多个项目做”聚合统计“。比如应该把layotto,layotto java sdk,layotto .net sdk等一起统计,计算出"layotto"的总活跃度

5. TODO

  • 开发工具,跑分看下效果;
  • 根据跑分结果,调整加权参数;
  • 舆情issue报警
  • 推动机器人:机器人每天@或私聊项目负责人,催促回复
  • Deadline报警
    设计一个Deadline,当某个项目达到Deadline,报警建议archive.
    literally deadline :)

测试

2月12日

统计所有开着的issue里,发帖人不是member、没有member回帖的issue,扣分
image

跑出数据后感觉有点反直觉:怎么做的好的项目,反而比缺少技术人日的项目分数更低?
去检查了下发现确实存在很多长期0回复的issue,比如:
mosn/mosn#1279

这是个好机会,推动重点项目把旧issue清下、保证即时回复新issue

@seeflood
Copy link
Collaborator Author

seeflood commented Jan 16, 2022

上述指标存在的问题

某些项目开局分数太低(都是负数),维护者没动力继续投入了

方案b,加分制

image

image

解释:

  1. 扣分制改成加分制
  2. d是从开始到关闭的时间段(天数)
  3. 缺点是长时间不回的issue权重低,没有回复动力
    因此可以另外设计一个“腐败指数”, 统计超过deadline没关闭的issue/pr,达到阈值推动archive
    但是会引入两个指标,增加理解成本

测试

k=10
deadline=30
2月12日早上跑数据:
image
mosn和sofajraft有微弱提升

@seeflood
Copy link
Collaborator Author

seeflood commented Jan 16, 2022

运营指标设计

流量模型

image

image

指标

  1. 仓库uv (比如周uv,月uv等)
    https://github.com/mosn/layotto/graphs/traffic
    https://github.com/mosn/mosn/graphs/traffic
    https://github.com/sofastack/sofa-registry/graphs/traffic

  2. star转化率

  3. contributor转化率(任务认领数,任务完成数)
    https://www.apiseven.com/zh/contributor-graph?chart=contributorOverTime&repo=mosn/layotto

image

todo

  • 全年uv统计
  • 每周机器人报警,分析每个仓库的uv波动

@seeflood
Copy link
Collaborator Author

seeflood commented Feb 15, 2022

2月15更新

讨论决定:

  1. 使用扣分制,只统计从2022年1月1之后创建的issue,舆情只看今年的,因为过去清理成本太高。
    统计如下:
    image

  2. 加了个功能,生成舆情issue列表,同步到群聊/群发邮件报警
    image
    image
    image

  3. 待遗留issue清理的差不多了,可以把机器人放到社区群里,让大家看到发issue有人帮忙催,引导大家发issue

@seeflood seeflood closed this as completed Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant