TinyPilot: Month 34

Michael Lynch

TinyPilot:第34个月

一句话总结

走出“紧急模式”

新来的读者?

大家好,我是 Michael(迈克尔)。我是一名软件开发者,也是 TinyPilot 的创始人,这是一家独立的计算机硬件公司。我于2020年创立了这家公司,目前月收入为6万至8万美元,雇有另外七名员工。

每个月,我都会发布一篇这样的复盘,分享我的业务以及整体职业生活的进展情况。

亮点

  • 我们已完成将 TinyPilot 的订单履行业务移交给第三方供应商。
  • 本地团队正在摆脱持续数月的“紧急模式”。
  • 既然生产速度不再是瓶颈,我可以选择一个以盈利最大化为目标的价格。

目标评分

每个月初,我都会宣布自己想要完成的目标。以下是我对这些目标的完成情况:

将所有产品过渡到我们的 3PL 供应商

  • 结果:我们的 3PL 供应商现在负责发运我们的所有产品。
  • 评分:A

过渡进行得很顺利,这是公司向前迈出的一大步。有了 3PL 处理日常订单履行,我们的灵活性大大提高,因为不必每周六天都安排人员到办公室上班。员工仍然会定期去办公室,但不再有必须在当天邮件收件截止前把所有事情做完的压力。

选定一家合同制造商接手 TinyPilot 的设备组装,并开始过渡流程

  • 结果:我仍在洽谈中,尚未正式选定。
  • 评分:B-

我找到了一家我喜欢的合同制造商,但还没有正式与他们签约。我在等待正式的报价和时间表。他们乐观的非正式估计是,首批产品将于2023年10月投产。

发布 TinyPilot Pro 的新版本

就功能而言,这并不是一个令人兴奋的版本,但它为用户提供了一条迁移出 Debian Buster 的路径,因为该系统现在已是遗留操作系统。停止对 Buster 的支持意味着可以消除我们代码库中的大量复杂逻辑——我们曾针对该操作系统版本编写了许多条件判断。

TinyPilot 数据统计

指标2023年3月2023年4月变化
独立访客7,4436,560-883(-12%)
总页面浏览量17,90415,034-2,870(-16%)
销售收入$83,529.40$82,060.84-$1,468.56(-2%)
企业订阅收入$290.70$290.700
特许权使用费$4,820.75$2,369.08-$2,451.67(-51%)
总收入$88,640.85$84,720.62-$3,920.23(-4%)
利润$43,952.10$10,295.55-$33,656.55(-77%)

这些数字看起来吓人,因为所有指标都在下降,但差距其实很小。总收入仅下降4%。利润下降只是因为费用波动较大。我对每月2万至3万美元的平均利润水平仍然感到乐观。

迈过 3PL 这道坎

过去几个月,TinyPilot 的本地团队几乎一直处于满负荷运转状态,所以我的首要任务是想办法减轻他们的负担。

在我看来,性价比最高的减负措施之一就是完成向第三方物流供应商的过渡。自 TinyPilot 创立以来,我们一直直接从办公室发货。使用 3PL 后,我们将产品批量运送到仓库,然后由 3PL 处理客户订单到来后的日常履行工作。

把履行业务外包给 3PL 肯定能为我们省下大量工作,但这却是一个两难困境,因为切换本身就需要额外的工作。

一旦我们把产品运送到 3PL,大约需要一周时间 3PL 才能准备好处理订单。这意味着我们必须多储备一周的库存——在我们勉强应付现有订单量的情况下,这可不是一件小事。

我本可以停业一周来完成过渡,但那相当于放弃1万至2万美元的销售收入。相反,我采取了几项措施来减轻本地团队的负担,让他们能够把精力集中到储备库存上。

首先,我削减了广告支出。这是显而易见的做法。当我们已经供不应求时,花钱吸引新客户毫无意义。

其次,我提高了价格。我分几轮上调了 TinyPilot 的价格,以减缓销售量,同时尽量减少收入损失。

最后,我亲自参与客户支持。本地员工要负责组装、履行和客户支持。我每在支持上为他们省下一个小时,他们就能多花一个小时来组装设备。

幸运的是,这些努力成功了。五月初,本地团队积累了足够的库存盈余,可以向 3PL 发运一周的库存。3PL 开始运转后,本地团队的工作量下降了大约15%。

向 3PL 的过渡进行得相当顺利,但如果重来一次,肯定有些地方我会计划得更好。我整理了一套向 3PL 供应商提问的问题清单,供首次接触 3PL 的人参考(或者供我自己将来更换供应商时使用)。

走出“紧急模式”

即使把履行业务外包给 3PL 之后,我们也没能像我希望的那样松一口气。由于仓库里只有几天的库存,团队仍在拼命赶工组装新设备,以补充 3PL 的库存。

我不无怀念地想起一年前本地团队还有多少富余产能。那时候,我最大的问题反而是错过了机会,没能让他们承担更多责任。

今年,情况完全反转了。我在承担本应由本地团队完成的任务。而且总有一种感觉:我们是在苦苦追赶工作量,而不是从容地处理它。我们忽略了文档编写、库存规划等长期任务。

最糟糕的是,我无法为销售旺盛的日子感到兴奋。当我在 Shopify 上看到我们一天卖出10多台时,我的第一反应不是庆祝,而是“糟糕!这会让我们更难在仓库里积累库存。”

我觉得,当仓库里有一个月的库存时,我们就能松口气了。我做了些简单的电子表格计算,估计要到七月才能达到这个水平,但我不想让大家再带着这种心态熬两个月。

电子表格计算,显示相对于我们当前销售和生产速度的库存余额

据我估计,我们要到七月才能在 3PL 积累起健康的库存。

过去几个月,我一直考虑雇用第三名本地员工。我犹豫不决,因为我预计一旦把履行交给 3PL,工作量就会下降,而一旦把生产交给合同制造商,工作量更会大幅下降。到那时,本地团队的工作就只剩客户支持,而我预计三个人的支持工作量不会饱和。

当我发现 3PL 过渡之后工作量仍然很大时,我又重新考虑起第三名员工的想法。然后我灵光一闪:如果六个月后没有足够的工作,我可以直接把它定位为一个短期职位。

我在 craigslist 和本地 Facebook 群组上发布了招聘信息。两周内,我收到了18份申请,面试了五个人,发出了一个录用通知,对方也接受了。新员工本周入职。

自从决定招入第三名员工以来,团队的氛围明显变了。大家不再有短期赶工的压力。每个人都更放松了,我们又重新投入文档编写和长期规划。

什么价格能实现利润最大化?

过去两个月,我一直在提高 TinyPilot 的价格以减少销售量。我故意把 TinyPilot 的价格定得很高,以减少总销量,从而有更多时间补充库存。

现在我们已经缓过劲来,有了额外的产能来组装设备,我可以把价格定在利润最大化的水平,而不是围绕生产速度瓶颈来定价。

上个月我已经做过定价实验,现在有了更多数据,让我们看看数字说明了什么。

Voyager 2a USB-C

价格时间段天数每日销量每日收入每日利润
$3792月13日 - 3月6日225.0$1,895$1,220
$3993月7日 - 3月12日65.7$2,261$1,496
$4293月13日 - 4月10日294.6$1,953$1,338
$4994月11日 - 5月3日233.3$1,671$1,219
TinyPilot Voyager 2a (USB-C) 价格与每日收入和利润的关系图

上个月,我对 TinyPilot 需求的低弹性感到惊讶。我原以为提价后销量会下降得更多。有了更多数据后,需求曲线更接近我的预期了。提价120美元(32%)导致订单减少34%。

有趣的是,在379美元和499美元这两个价位上,利润几乎完全相等(每日1,220美元对1,219美元)。总体而言,499美元价位的利润会更高,因为销量减少34%意味着更低的长期支持成本。

Voyager 2a PoE

价格时间段天数每日销量每日收入每日利润
$4782月13日 - 3月6日221.3$630$426
$4983月7日 - 3月12日62.5$1,245$858
$5283月13日 - 3月19日71.3$679$480
$5583月20日 - 4月10日221.1$609$440
$6384月11日 - 5月3日230.9$583$441
TinyPilot Voyager 2a (PoE) 价格与每日收入和利润的关系图

高端 PoE 版本的客户似乎对478美元到528美元之间的价格不敏感。无论哪个价位,他们的购买率大致相同,不过样本量较小。

利润最高的价格是498美元,但考虑到采集周期很短,这很可能是个异常值。

决定:以 $399 + $99 出售

定价的最佳平衡点似乎是基础型号售价399美元,PoE 升级加收99美元(合计498美元)。TinyPilot 在这些价格下实现了最高的销售利润。虽然该时间段的样本量较小,但它似乎也处于其他价格所暗示的曲线顶部附近。

我喜欢399美元基础价格的另一个原因是,对于像我这样的人来说,这个价格仍然在可接受范围内可以买得起。如果三年前我看到 TinyPilot 这样的产品,我会想:“当然,399美元的话,对我的 homelab 来说是值得的。”

业余项目

ScreenJournal

我继续开发 ScreenJournal,这是一个开源 Web 应用,可以让你与朋友分享电影推荐。

我在四月添加的主要功能是让用户能够评论其他人的影评。我没有使用任何现成的评论组件包,所以实现完全是自研的。效果如下:

我在四月为 ScreenJournal 添加的评论功能演示

我对 ScreenJournal 做的另一项大改动是重新设计了端到端测试,使其能够并行运行而不是串行运行

在对 Web 应用进行端到端测试时,我一直为共享数据库的问题所困扰。我一直没能弄清楚其他开发者是如何解决这个问题的。

以前,我通过在每次端到端测试前重置数据库来应对共享状态的问题。这很慢,而且由于所有测试共享同一个数据库,我一次只能运行一个测试。

我目前的解决方案是为每个客户端分配一个 cookie,并将该 cookie 与一个唯一的内存中 SQLite 数据库关联。这样,测试就不再通过数据库共享状态,因此可以并行运行。比起我以前用过的任何方案,我更喜欢这个方案,但我仍然觉得自己在重复造轮子,很好奇读者是否知道更成熟的解决方案。

总结

完成了什么?

  • 完成了向 3PL 仓库供应商的过渡。
  • 发布了 TinyPilot Pro 2.5.4。
  • 参加了 Microconf US 2023。
  • 为 TinyPilot 办公室雇用了一名新员工。
  • 为2022年纳税处理了Section 174 的麻烦

经验教训

  • 有很多潜在员工并不介意短期职位。
    • 我之前一直避免雇用第三个人,因为我担心当这个岗位的需求消退时该怎么办。我意识到我可以从一开始就把它定位为短期职位,而且有很多候选人愿意接受、甚至更青睐短期岗位。

下个月的目标

  • 让最新的 TinyPilot 员工完成入职。
  • 实现9万美元的收入。
  • 找到三位有兴趣评测 TinyPilot Voyager 2a 的 homelab 博主或 YouTuber。

原文由 Michael Lynch 发布

本文章由 stealth/ox-alpha 进行翻译