网站统计产品 Rybbit 把自用需求做成了免费自托管和付费云服务,TrustMRR 的 Stripe 连接档案现已核验到 $9,425 MRR、333 个活跃订阅。早期传播主要来自 Reddit,但创始人没有把 GitHub 星数当成付费成绩:上线三周的自述是约 700 个注册、累计收款 $900。如今的付费规模已经不止首发验证,最近 30 天收款却在下降。
新读数:MRR 上涨,收款快照下降
TrustMRR 的 Rybbit 页面标注最近更新日期为 2026 年 11 月 6 日,网页原文时间是 08:04 PM,未另标时区。同页 Markdown 档案给出的精确同步时间换算为北京时间是 2026-11-07 04:04:01。2026-11-07 08:05(北京时间)再次打开,以下四项数字仍一致,两次保存的档案内容也一致。Markdown 页面声明这是缓存快照,因此重开只复核同一快照,不代表再次实时拉取 Stripe。
| 字段 | 数值 |
|---|---|
| 当前月经常收入 MRR | $9,425 |
| 当前活跃订阅 | 333 |
| 最近 30 天收入快照 | $9,131 |
| 累计收入快照 | $110,278 |
核验来源原文为 Verified payment provider API source: Stripe (API key)。档案说明收入字段来自支付服务商的实际付款记录,产品介绍等文字则由提交者提供。Stripe 记录能核验收款,不能替创始人的营销归因背书,也不等于利润。
两条趋势不能混写:档案标注最近 30 天 MRR 增长 +2.8%,最近 30 天收入快照增长 -22.3%。月度实际收款时间线里,2025 年 12 月是 $4,179,2026 年 8 月 $10,825,9 月 $11,934,10 月 $9,065。这不是一条只向上的曲线。
Markdown 的滚动收入表另有一个 Last 30 days 数字 $9,093,和页面存储的 $9,131 快照不是同一个字段。本文使用明确命名为 Last 30 days revenue snapshot 的 $9,131,与收入网页一致,不把两者拼成一组连续增长数据。
从游戏统计站的自用需求出发
Rybbit 的公开创始人是 Bill Yang。官方 《How Rybbit Got 5,000 GitHub Stars in 9 Days》发布于 2025 年 5 月 26 日,页面标注更新于 2026 年 9 月 28 日。文中说,他运营的游戏统计网站每月约有 150 万次访问,需要比单页仪表盘更深入、又没那么企业化的统计工具,于是在 2025 年 1 月开始做 Rybbit,约 110 天后上线。
在 2025 年 6 月 12 日的 Trial to Paid 创始人访谈里,他把那个游戏站明确为 Tomato.gg,并解释自己的定位:Google Analytics 一端太复杂,部分轻量工具另一端只有基础汇总,自己想填中间的空缺。他已有数年游戏统计站的开发经验,Rybbit 不是第一次接触数据产品。
访谈时他仍在上班,Rybbit 的主要开发由自己推动,并有开源贡献者参与。他当时明确说没有 VC 投资。这里保留早期独立开发的背景,不把一年多前的人员状况当成当前团队人数。
Reddit 带来传播,首页演示减少理解成本
官方复盘写,主要发帖位置是 r/SideProject 和 r/selfhosted,加上几个较小社区。他用的标题很直接:I built an open source Google Analytics replacement。约四条 Reddit 帖子带来他估计的 15 万次曝光,随后项目由其他人传播到 X、Hacker News、Bluesky 和 Mastodon。15 万是创始人的估计,不是 Stripe 或第三方流量 API 核验值。
产品页的处理也具体:把完整可操作的演示站嵌进首页首屏,不是只放静态截图或等访客点击演示链接;README 以产品截图为主,缩短正文;社交预览图展示功能。代码、文档、自托管说明和可收费的云服务都已经准备好,用户看到之后能继续操作。
没起作用的渠道也写了。自己的 X 账号只有几百个关注者,首发帖没有带来明显反响;大型 Discord 服务器里的 showcase 频道也没什么反馈。Rybbit 并非“每个平台都发一遍就能卖”的故事。
最重要的限制在复盘末尾:传播目标是触达,不是收入。大量来自自托管社区的人选择自行部署,并没有随星数一起转成云服务买家。上线三周,创始人自述约 700 个注册、累计收入 $900;这与文章标题里的“九天 5000 星”是不同时间窗口、不同指标。
试用改免费层,才出现早期付费转化
Trial to Paid 访谈补上了从传播到收款的一步。Bill 说,最初采用两周试用,上线接近两周时仍没有付费转化。他随后改成有限额的免费层,接下来几天开始有付费用户。免费层当时只有每月几千个事件,他认为其成本可以承受。
在该次访谈里,他将数值分得很清楚:约 900 个试用或免费注册,约 23 个已转化客户,MRR 约 $500,累计收款约 $1,600。累计收款高于 MRR,是因为有人买了年付。这些是 2025 年的创始人自述,不是今天的核验快照,也不能把“35 天收款 $1,600”写成“35 天做到 $1,600 MRR”。
这条路径有实际动作,也有边界:先从自己的站点需求出发,再用开源降低传播阻力,用可操作演示让人理解产品,之后调整云服务入口。资料没有公开从每个 Reddit 帖子到今天 333 个活跃订阅的归因明细,不能断言某次首发贡献了全部现有营收。
今天卖的是按量云服务,早期免费层不等于现行套餐
2026-11-07 读取的官方 定价页有 Standard、Pro、Enterprise 三类。滑块标题是每月 pageviews,分为下表各档;价格是美元月付价。官网默认年付视图的入门价是 Standard $13/月、Pro $26/月,属于年付折算显示,不是月付 $13 和 $26。
| 官网滑块流量档/月 | Standard 月付 | Pro 月付 |
|---|---|---|
| 100,000 | $19 | $39 |
| 250,000 | $29 | $59 |
| 500,000 | $49 | $99 |
| 1,000,000 | $69 | $139 |
| 2,000,000 | $99 | $199 |
| 5,000,000 | $149 | $299 |
| 10,000,000 | $249 | $499 |
| 20,000,000 | $399 | $799 |
| 30,000,000 | $549 | $1,099 |
| 40,000,000 | $699 | $1,399 |
| 50,000,000 | $849 | $1,699 |
| 50,000,000 以上 | 询价 | 询价 |
| Enterprise | 自定义报价 | |
同一页面提供月付和年付,年付标注 4 months free。Standard 包含最多 5 个站点、3 名成员;Pro 增加会话回放和更高 API 配额;Enterprise 列有 SSO、独立实例、私有部署和定制等内容。定价页称 Pro 成员不限,而 计费文档列为 100 人,两个主源在这项限制上并不一致。
计费文档还明确,真实用量不只 pageviews:自定义事件、Web Vitals、出站点击和自动捕获的交互也计入组织月配额。超额后停止收集,直到下月或升级。现行首次订阅试用为 7 天;2026 年 2 月 13 日及以后创建的无试用、无付费计划站点不收集数据,更早的站点保留旧免费层。2025 年从试用改免费层的实验,不能直接当成今天仍向所有新用户开放的云服务政策。
Spring Boot 真运行:公开演示读到汇总,半个日期范围回 400
官网现在仍链接到 公开演示站点 81。官方 API 文档写明,开启 Public Analytics 的站点,其公开读取端点可以不带凭证访问。这个例外只覆盖公开仪表盘可读取的数据,不包含组织管理和写操作。
本次新建 Java 21、Spring Boot 3.4.5 Maven 项目,编译成可执行 JAR 后运行。探针只发两次 GET:读取公开演示站点北京时间 2026-11-05 的统计汇总,再故意遗漏结束日期。不注册账号,不发送埋点,不创建或修改站点。
以下为请求与输出逻辑的精简片段;完整探针另配置了连接、读取超时,并校验预期状态码。
RestClient rest = RestClient.builder().build();
String url = "https://demo.rybbit.com/api/sites/81/overview"
+ "?start_date=2026-11-05&end_date=2026-11-05"
+ "&time_zone=Asia%2FShanghai";
var response = rest.get().uri(URI.create(url))
.retrieve().toEntity(String.class);
System.out.println("PUBLIC_OVERVIEW status="
+ response.getStatusCode().value());
System.out.println("PUBLIC_OVERVIEW body=" + response.getBody());
try {
rest.get().uri(URI.create(
"https://demo.rybbit.com/api/sites/81/overview"
+ "?start_date=2026-11-05&time_zone=Asia%2FShanghai"))
.retrieve().toEntity(String.class);
} catch (RestClientResponseException ex) {
System.out.println("HALF_DATE_RANGE status=" + ex.getStatusCode().value());
System.out.println("HALF_DATE_RANGE body=" + ex.getResponseBodyAsString());
}
Maven 构建结果为 BUILD SUCCESS,应用启动横幅为 Spring Boot 3.4.5。2026-11-07 08:05(北京时间)的业务输出原样如下:
PUBLIC_OVERVIEW status=200
PUBLIC_OVERVIEW body={"data":{"sessions":1016,"pages_per_session":1.5285433070866141,"bounce_rate":75.88582677165354,"session_duration":134.5738188976378,"pageviews":1553,"users":862}}
HALF_DATE_RANGE status=400
HALF_DATE_RANGE body={"error":"start_date and end_date must be provided together","code":"INVALID_REQUEST","message":"start_date and end_date must be provided together","resolution":"Check the request parameters and body against https://rybbit.com/openapi.json."}
200 响应证实公开演示端点能返回指定日期的 sessions、pageviews 和 users 等汇总,不是仅到达了鉴权失败页面。400 响应证实开始和结束日期必须成对发送。它没有检验生产站点埋点完整性、私有站点权限、会话回放或所有付费功能,更不能拿演示流量里的 862 个 users 解释为付费客户。
开源传播、订阅规模与收款应分开看
Rybbit 的开源传播有官方复盘,早期付费入口调整有创始人访谈,现在的月经常收入有 Stripe 连接档案。三种证据能连出业务发展的阶段,但没有同一批用户的完整转化追踪。2026 年 11 月这次核验的结果是 333 个活跃订阅、MRR $9,425,同时最近 30 天收款快照相较上一窗口下降 22.3%;月经常收入上升并不保证短期现金收款同步增加。
来源:TrustMRR 收入页、Stripe 连接档案、官方增长复盘、创始人访谈全文、完整云服务定价、现行计费规则、汇总 API 文档。
一起交流
分享你的思考,让讨论更进一步。