TinyPilot: Month 31

Michael Lynch

TinyPilot:第 31 个月

一句话总结

有些过渡比其他的更顺利。

新来的?

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

每个月,我都会发布一篇像这样的回顾,分享我的业务和整体职业生活的进展情况。

亮点

  • TinyPilot 开始发货一款新产品:Voyager 2a。
  • 我在与一家新的 3PL(第三方物流)供应商合作几周后取消了合同。

目标评分

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

发出第一批 Voyager 2a 设备

  • 结果:我们开始发货 Voyager 2a。
  • 评分:A

Voyager 2a 最终成为 TinyPilot 有史以来最顺利的一次发布。在以往的发布中,我们总会忘记一些小事,不得不在最后一刻手忙脚乱。而对于 2a,我们从 12 月起就为所有需要完成的事情做好了准备,而它们也都如期完成了。

准备在二月份将履约工作过渡到我们的 3PL 供应商

  • 结果:我们取消了与该 3PL 供应商的合同。
  • 评分:N/A

遗憾的是,一旦我们开始与这家 3PL 合作,我们就发现他们的工作流程存在严重缺陷。详情见下文

撰写我的第五篇年度回顾

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

今年写年度总结对我来说很艰难。最终发布的文章有 2500 字,但我可能扔掉了 5000 到 8000 字的废弃草稿。我不断发现自己写了很长的段落,最后才意识到这个故事需要 1500 字枯燥的背景信息才能引出 200 字的反思。

我觉得我发布的版本很好地涵盖了这一年的主要话题,而没有在复杂的故事上钻得太深。

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%)

销售额较去年年底的峰值有所下降,但这是有意为之的。我正在缩减广告投放,并在 Amazon 上保持较高的价格,以弥补我们的供应短缺,并在向新产品过渡期间减轻 TinyPilot 履约团队的压力。

TinyPilot 的三个月滚动平均利润已连续五个月保持正值,这是有史以来最长的一次。我对一月份的数据尤其兴奋,因为尽管有几笔重大的一次性成本,而且销售额低于我预计的今年剩余时间的水平,我们仍然实现了健康的利润。每月 8500 美元的利润让我几乎完全走在实现2023 年年利润 10 万美元目标的正轨上。

将月产量从 140 台提高到 200 台

去年年底,我被告知 TinyPilot 在 2023 年 9 月之前不会获得任何新的 Raspberry Pi 配额。这使我们在那之前的产能限制在每月约 140 台 TinyPilot 设备。这是个坏消息,但我有一个应对计划。

幸运的是,我们在一月份得到消息,我们将获得少量新配额,这将使我们的产能提高到每月 200 台。我们必须以近两倍的价格购买 8 GB 的树莓派,但我很乐意支付溢价来继续销售新设备。

我对每月 200 台这个目标感到满意。我们可以轻松地以这个速度销售,同时还有足够的时间和利润余量,以便在九月份供应短缺缓解时投资于更快地扩大规模。

赶在最后关头拿到金属外壳

每年的一月底或二月初,中国都会庆祝春节。中国非常重视新年庆祝活动,因此中国供应商会完全停工。有些会关闭几周,而另一些则长达四周无法联系。

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 目前的系统中,这类请求很容易处理。负责处理客户支持请求的两名 TinyPilot 员工正是履行订单的人。只要我们还没有把客户的订单发出去,我们只需在 Shopify 中做出修改,然后继续正常的流程即可。

当我们过渡到 3PL 时,“每天同步一次”的问题就在这里反咬了我们一口。如果客户给我们发邮件要求修改订单,我们现在不知道该订单是否已经履约。我们在 Shopify 中看到的信息最多可能有 24 小时的滞后。

3PL 的解决方案是,我们给 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 供应商过渡的流程。
  • 启动开发人员与支持工程师之间的跨团队协作。

原文由 Michael Lynch 发布

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