TinyPilot: Month 31

Michael Lynch

TinyPilot:第 31 个月

原文由 Michael Lynch 发布,订阅该博客

一句话总结

有些过渡比另一些更顺畅。

第一次来?

你好,我是 Michael。我是一名软件开发者,也是 TinyPilot 的创始人。TinyPilot 是一家独立的计算机硬件公司。我在 2020 年创办了这家公司,如今月营收为 6 万至 8 万美元,团队还有另外六名成员。

每个月,我都会像这样发布一篇回顾,分享公司业务和我个人职业发展的近况。

本月亮点

  • TinyPilot 开始发售新产品:Voyager 2a
  • 与一家新的 3PL 服务商合作几周后,我取消了与他们的合同。

目标完成度

每月初,我都会定下当月想要完成的目标。以下是本月的完成情况:

发出首台 Voyager 2a 设备

  • 结果:我们已开始发售 Voyager 2a
  • 评分:A

Voyager 2a 成了 TinyPilot 迄今为止最顺利的一次发布。以往发布时,我们总会遗漏一些小细节,不得不在最后关头手忙脚乱。而这一次,我们从 12 月起就为所有需要完成的环节做了准备,最终一切都按计划实现。

为 2 月将履约转交给 3PL 服务商做准备

  • 结果:我们取消了与该 3PL 服务商的合同。
  • 评分:不适用

遗憾的是,正式合作后,我们发现对方的工作流程存在严重漏洞。更多详情见下文

撰写第五篇年度回顾

  • 结果:我发布了,虽然晚了 10 天,但我对结果很满意。
  • 评分:A-

今年写年度回顾颇费周折。最终成文约 2500 字,但被我废弃的草稿就有 5000 到 8000 字。我常常写了很长一段,才发现为了 200 字的反思,需要先铺垫 1500 字枯燥的背景信息。

我觉得最终发布的那一版,很好地涵盖了全年的重点,又没有在复杂故事的细枝末节上陷得太深。

TinyPilot 数据一览

指标2022 年 12 月2023 年 1 月变化
独立访客7,3088,092+784 (+11%)
总浏览量15,54916,665+1,116 (+7%)
销售收入$66,092.24$68,619.55+$2,527.31 (+4%)
企业订阅$290.70$290.700
版税$2,798.97$5,689.93+$2,890.96 (+103%)
总收入$69,181.91$74,600.18+$5,418.27 (+8%)
利润-$4,806.26$8,552.79+$13,359.05 (+inf%)

销量较去年年底的峰值有所回落,但这是有意为之。为了应对供应短缺、减轻 TinyPilot 履约团队的压力,并为新产品的过渡留出空间,我主动缩减了广告投放,并在亚马逊上维持了较高定价。

TinyPilot 过去三个月的平均滚动利润已连续五个月为正,创下历史最长纪录。1 月份的数据尤其让我振奋:尽管有几笔大额的一次性开支,且销量低于我对今年其余月份的预期,我们依然实现了可观的盈利。月利润 8500 美元,意味着我正好走在实现 2023 年全年盈利 10 万美元目标的轨道上。

月产量从 140 台提升至 200 台

去年年底,有人告知我 TinyPilot在 2023 年 9 月之前都不会获得新的树莓派配额。这意味着在此之前,我们的产能将被限制在每月约 140 台。虽然消息令人沮丧,但我已有应对计划。

好在 1 月份我们收到通知,将获得少量新增配额,产能因此可提升至每月 200 台。我们需要采购 8GB 版本的树莓派,价格几乎翻倍,但为了能持续销售新设备,我愿意支付这笔溢价。

我对每月 200 台这个目标很满意。以这个速度销售,我们既能保持舒适的节奏,又能留出足够的时间和利润,在 9 月供应缓解后投入更快扩张。

金属外壳千钧一发及时到位

每年一月底或二月初,中国都会庆祝春节。中国人对春节极为重视,供应商会全面停工。有的会关闭两周,有的甚至长达四周无法联系。

TinyPilot 的大部分原材料都从中国采购,因此我会围绕春节仔细做计划。必须提早下单,确保在停工前完成生产;同时也要加大订货量,以熬过长达四周无法下新单的空窗期。

12 月时,我们仍在敲定 TinyPilot 新款金属外壳的设计。制造商预估订单需要 30 个工作日才能完成,这让我们几乎撞上了春节前的危险窗口。

通常,定制产品的首批订单我会尽量少订——大约只订四周的量。但这一次,最小的起订量就相当于四个月的用量——我需要足够的库存来撑过春节,再加上下一轮生产的周期。

所以,这本身就是一笔让人紧张的订单。虽然我们已经看过样品,但首批量产仍可能出现各种问题,一旦出现大面积不合格,我手里就会积压 1000 个无法使用的外壳。那也意味着我们还要再靠 3D 打印外壳撑四个月,而为了满足超额需求,我们在那家备用供应商处付出了高昂的溢价。

另一个重大风险是制造商延期,赶不及在春节前发货。临近交期的几周里,他们除了反复说应该能按时交付外,没有提供任何进度更新。我提出如果有必要可以先发一部分,他们也没有明确答复这样是否有帮助。

最后,在我以为他们已经放假的那个周六,我收到了一封邮件,让我立刻支付运费。我照做了,几天后便收到了外壳的物流单号。

一周后,外壳到货了!令我如释重负的是,全部产品的质量都和样品一样好。

装满其他外壳的纸箱中,一只 TinyPilot 金属外壳的照片

我们 16 箱新外壳中的一箱

我们得以按计划发售 Voyager 2a,现有的外壳库存也足以支撑到第二批生产到货。

转向 3PL 服务商过程中的波折

我今年的目标之一,是将 TinyPilot 自有的履约流程迁移到外部发货仓库。这类企业被称为“3PL”:第三方物流服务商。

12 月,我们开始将履约工作转移给一家 3PL 服务商,起初一切顺利。他们是一家小公司,客户也都是小企业。看起来我们很合拍,他们也理解我们的需求。

接着,他们给了我一份对接其仓储管理系统 Veracore 的说明。那是一份 PDF 文件——这是第一个危险信号。当我登录系统后,发现是一个看起来 20 年都没更新过的 ASP 应用。

Veracore 入门说明 PDF 的一页,展示了其糟糕的 ASP 应用截图

Veracore 入门说明 PDF,其中包含其网页界面的截图

看到如此过时的软件,我确实犹豫了一下,但还是安慰自己应该没问题。TinyPilot 团队会继续在 Shopify 上管理订单。Veracore 只是 3PL 与我们系统同步的桥梁,我本来也没打算自己频繁使用它。

我们决定先把一款低销量的产品转给 3PL 做试点:TinyPilot Power Connector。它的价格只有主产品的十分之一,每月仅售出 30 到 40 件。用它来全流程测试 3PL 的工作方式,风险最低。

在 3PL 侧开启订单处理后,第一笔 Power Connector 订单在圣诞节下午 5 点进来。显然当天不会发货,所以第二天下午我查看了订单状态。它在 Shopify 上仍显示为未履约,不过也没关系,也许他们圣诞节后一天也不上班。

到 27 号下午 3 点,订单依然没有发货。我发邮件给 3PL,确认订单是否已在他们那边正常接收。他们向我保证一切正常,只是 Veracore 每天只会向 Shopify 同步一次订单状态。我们要到晚上 8 点才能在 Shopify 上看到更新后的履约状态和物流单号。

一天才同步一次?为什么 Veracore 不在打印运单后就立刻把订单标记为已履约?那样我们就能实时获取信息了。

尽管如此,我还是觉得应该没问题。他们有上百个客户都对这套系统很满意。我真的需要实时的履约信息吗?

如果客户要修改订单怎么办?

大约每 30 笔订单,就有一位客户要求修改。有时是发现收货地址填错了,有时是彻底改变主意想取消订单。

在 TinyPilot 现有的体系里,这类请求很好处理。负责客服的两名员工同时也负责履约。只要订单还没发出,我们直接在 Shopify 上修改,然后按正常流程继续即可。

转到 3PL 后,“一天同步一次”的问题就开始给我们带来麻烦了。如果客户发邮件要求修改,我们根本不知道订单是否已经履约。我们在 Shopify 上看到的信息最多可能滞后 24 小时。

3PL 给出的解决方案是,让我们给负责我们订单的那位员工发邮件,告知订单变更。这在我看来是个糟糕的方案。

目前,Shopify 是我们唯一的“信息源”。我们可以信赖 Shopify 是所有人共享订单信息的权威位置。如果再通过邮件另起一个沟通渠道,信息就会分散到多个难以同步的孤岛中。

我也不太能接受只对接某个人而不是整个团队。要是这个人请病假或休假了怎么办?3PL 说通常会有别人帮忙查看他的邮箱。通常?

如果客户用非标准方式付款怎么办?

客户在我们网站标准结账流程之外购买 TinyPilot 产品,常见有两种情况:

  1. 他们需要网站不支持的定制订单(例如批量折扣)。
  2. 他们想通过采购单付款(本质上就是大公司打的白条)。

对于第(1)种情况,我们会创建一个定制订单,然后给客户一个信用卡支付链接。客户付款后,Shopify 会自动将订单标记为“已付款”,我们随即发货。

对于第(2)种情况,我们同样创建定制订单,然后等待客户发来签好的采购单。收到采购单后,Shopify 上订单仍显示为“未付款”,因为我们还没真正收到钱,但我们会凭采购单先行发货。

可以看出,第(1)和第(2)种情况是相互矛盾的。如果我们让 3PL 等到订单标记为“已付款”再发货,那采用采购单付款(2)的客户就收不到货;如果我们让 3PL 即使未付款也发货,那第(1)种情况的订单就会在客户可能根本不会付款的情况下被立刻发出。

在接入 3PL 之前,我们会在采购单的订单上添加备注来明确意图。但 3PL 只能在订单创建时导入一次,所以我们后来添加的备注他们是收不到的。

3PL 的解决方案,依然是让我们给负责订单的人发邮件,去解释这些特殊订单。

现在写到这里,我才意识到自己错过了一个显而易见的办法。我们本可以定一条简单规则:“订单标记为已付款时再发货。”而对于第(2)种情况,我们在收到采购单时就手动将订单标记为“已付款”。我们需要另一套系统来追踪未付款的采购单,但这比把与 3PL 的对接搞复杂要容易得多。

更换 3PL 服务商

总体而言,第一家 3PL 管理变更的系统显得脆弱,很容易引发代价高昂的错误。

我们向 3PL 提出合作无法继续,他们也大度地接受了。按照合同,我们需要提前两个月通知,他们本可以要求我们再支付两个月每月 350 美元的最低费用,但他们没有这么做。

当初筛选 3PL 时,有两家我同样看好。我选择了离得近、可以开车过去的那家,但另一家也表示随时欢迎我再联系。

在第一家 3PL 遇到这些边界情况后,我又联系了当初的第二选择,想看看他们会如何处理。对方老板说他也觉得 Veracore 过时了,并解释了他们仓库的软件会如何处理我的这些场景。听起来要顺畅得多,而且可以让我们继续在 Shopify 上管理一切,而不需要用临时的邮件来填补漏洞。我们现在正在转向这家新的 3PL 服务商。

总结

完成了什么?

经验教训

  • 搞清楚你的 3PL 将如何处理非标准订单。
  • 尽量让电商平台与 3PL 订单管理系统之间的对接保持简单。
    • 就我而言,我忽略了一些本可以简化与 3PL 对接的简单流程调整。
  • 不要一次性将所有业务都转给新的 3PL。
    • 先从低销量或低成本的产品开始,这样可以在转向更高风险的产品前,先把问题磨合好。

下月目标

  • 恢复到正常水平的 TinyPilot 现货库存。
  • 启动向新 3PL 服务商迁移的流程。
  • 开启开发者与技术支持工程师之间的跨团队协作。

本文章由 muse-spark-1.2-contributor 进行翻译

评论