TinyPilot: Month 31

Michael Lynch

TinyPilot:第 31 個月

原文由 Michael Lynch 發布,訂閱此部落格

一句話總結

有些轉型比其他的來得順利。

第一次來嗎?

嗨,我是 Michael。我是一名軟體開發者,也是獨立電腦硬體公司 TinyPilot 的創辦人。我在 2020 年創立這家公司,目前每月營收約 6 到 8 萬美元,團隊包含我自己在內共七人。

每個月,我都會像這樣發表一篇回顧,分享公司近況以及我個人職涯的整體狀況。

本月亮點

  • TinyPilot 開始出貨新產品:Voyager 2a
  • 與新的第三方物流(3PL)廠商合作才幾週,我就解除了合約。

目標達成度

每個月月初,我都會訂下想完成的目標。以下是這個月的達成情況:

出貨第一台 Voyager 2a

  • 結果:我們已開始出貨 Voyager 2a
  • 評分:A

Voyager 2a 成了 TinyPilot 有史以來最順利的一次發表。以往的產品發表,我們總會漏掉一些小細節,最後一刻手忙腳亂。這次的 2a,我們從 12 月就開始為所有必要事項做準備,而這些準備也都確實派上了用場。

準備在二月將出貨作業轉移給 3PL 廠商

  • 結果:我們取消了與 3PL 廠商的合約。
  • 評分:不適用

很可惜,實際開始合作後,我們發現這家 3PL 的流程有嚴重的漏洞。更多細節請見下文

撰寫第五篇年度回顧

  • 結果:我發表了,雖然晚了 10 天,但我對成果很滿意。
  • 評分:A-

今年寫年度回顧時卡關了很久。最終發表的文章約 2,500 字,但我大概刪掉了 5,000 到 8,000 字的草稿。我常常寫了一大段,才發現為了那 200 字的反思,得先鋪陳 1,500 字枯燥的背景說明。

我覺得最終發表的版本,在沒有過度糾結於複雜故事細節的情況下,很好地涵蓋了這一年的重要主題。

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 出貨團隊的負擔,我正在縮減廣告投放,並在 Amazon 上維持較高的售價。

TinyPilot 過去三個月的平均利潤已連續五個月為正,創下有史以來最長的紀錄。我對一月的數字尤其感到振奮,因為儘管有幾筆龐大的一次性支出,且銷售比我對今年其餘時間的預期來得慢,我們仍保有健康的獲利。每月 8,500 美元的利潤,讓我正好走在 2023 年獲利 10 萬美元的目標軌道上。

將產能從每月 140 台提升至 200 台

去年底,我被告知 TinyPilot 在 2023 年 9 月之前都不會再獲得任何 Raspberry Pi 的配額。這意味著在此之前,我們每月的產能只能維持在約 140 台 TinyPilot 裝置。這是個難受的消息,但我已經有了應對計畫。

幸運的是,我們在一月收到通知,將會獲得少量新的配額,這讓我們的產能提升到每月 200 台。我們必須以將近兩倍的價格購買 8GB 版本的 Pi,但為了能繼續銷售新裝置,我很樂意支付這筆溢價。

我對每月 200 台這個目標很滿意。以這個速度銷售,我們還能保有餘裕,同時也有足夠的時間和利潤,在 9 月供貨短缺緩解時投入資源以更快速地擴張。

千鈞一髮拿到金屬外殼

每年一月底或二月初,中國都會慶祝農曆新年。中國人非常重視過年,因此供應商會全面停工。有些廠商只休兩週,但也有廠商長達四週都聯絡不上。

TinyPilot 的大部分原物料都向中國採購,所以我必須仔細規劃農曆新年期間的安排。我得提早下單,確保訂單能在停工前完成,也必須提高訂購量,才能撐過長達四週無法下新單的空窗期。

12 月時,我們仍在敲定 TinyPilot 新款金屬外殼的設計。製造商預估需要 30 個工作天才能完成訂單,等於我們已經逼近農曆新年的危險期。

每當我下訂客製化產品的首批生產時,我都會盡量訂最少的數量——大約四週的庫存量。但這次,最少的數量卻是四個月的量——我需要足夠的庫存撐過農曆新年,再加上下一批生產的等待時間。

所以,這本身就是一筆令人緊張的訂單。雖然我們已經看過樣品,但首批大量生產仍可能出各種狀況,我可能會拿到 1,000 個無法使用的瑕疵品。那也意味著我們又得再用 3D 列印的外殼撐四個月,而為了應付超出的需求,我們在備用廠商那裡得付出高昂的加價。

另一個主要風險是製造商延誤,趕不及在農曆新年前出貨。在接近出貨日的幾週裡,他們除了說應該能趕上期限外,完全沒有提供任何進度更新。我曾要求他們必要時先寄送部分訂單,但他們也沒說這樣是否有幫助。

最後,在我以為他們已經放年假的那個週六,我收到一封電子郵件,要我立刻支付運費。我馬上付了,幾天後就收到了外殼的物流追蹤號碼。

一週後,外殼到貨了!讓我大大鬆了一口氣的是,全部的品質都跟樣品一樣好。

一箱箱新外殼中,其中一個 TinyPilot 金屬外殼的照片

16 箱新外殼中的其中一箱

我們得以按計畫出貨 Voyager 2a,而且手上的外殼庫存也足夠撐到第二批生產的貨到達。

轉移至 3PL 廠商的波折

我今年的目標之一,是將 TinyPilot 的內部出貨流程轉移到外部倉儲出貨。這類業者稱為「3PL」:第三方物流商。

12 月時,我們開始將出貨作業轉給一家 3PL 廠商,一開始進展非常順利。他們是一家小公司,客戶也全都是小公司。我們似乎很合得來,他們也能理解我們的需求。

接著,他們給了我一份整合其倉儲管理系統 Veracore 的操作說明。那是一份 PDF 檔案,這是第一個警訊。當我登入系統後,看到的是一個看起來像 20 年沒更新過的 ASP 應用程式。

Veracore PDF 操作說明中,顯示其糟糕 ASP 應用程式截圖的一頁

Veracore 的 onboarding 說明 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 的解決方案是,要我們寫信給在 3PL 負責我們訂單的那位員工,告知任何訂單異動。這感覺是個糟糕的系統。

目前,Shopify 是我們的「單一事實來源」。我們可以信賴 Shopify 是所有人共享訂單資訊的權威位置。如果還得透過電子郵件另外展開討論,就會把資訊分散到多個難以同步的孤島中。

我也不太喜歡要寫信給特定個人,而不是一個團隊。如果那個人生病或休假怎麼辦?3PL 說通常會有其他人幫忙查看那個人的信箱。通常?

如果顧客用非標準方式付款呢?

顧客在我們網站標準結帳流程之外向 TinyPilot 購買,最常見的有兩種情況:

  1. 他們需要網站不支援的客製化訂單(例如大量採購折扣)。
  2. 他們想用採購單(purchase order,基本上就是大公司開的欠條)付款。

對於第一種情況,我們會建立一筆客製化訂單,然後給顧客一個用信用卡付款的連結。當顧客付款後,Shopify 會自動將訂單標示為「已付款」,我們就會出貨。

對於第二種情況,我們會建立一筆客製化訂單,然後等待顧客寄來簽署好的採購單。當我們收到採購單後,Shopify 上仍會顯示為「未付款」,因為我們還沒實際收到款項,但我們會憑著這份採購單先行出貨。

如你所見,第一種和第二種情況是互相衝突的。如果我們告訴 3PL 要等到訂單標示為「已付款」才出貨,那用採購單付款的顧客(第二種)就會卡住。反之,如果我們告訴 3PL 即使訂單未付款也要出貨,那第一種情況的訂單就會在顧客可能根本還沒付款時就被寄出。

在找 3PL 之前,我們會在訂單中加上備註,讓採購單情況的意圖更明確。但 3PL 看不到我們的備註,因為他們只會在訂單建立時匯入一次,之後我們再加上的備註就不會同步過去。

3PL 的解決方案,又是叫我們寫信給負責我們訂單的那個人,說明這些特殊訂單的情況。

現在把這些寫出來,我才意識到自己漏掉了一個顯而易見的解法。我們大可直接訂下規則:「等訂單標示為已付款再出貨。」然後對於第二種情況,我們在收到採購單時就手動把訂單標示為「已付款」。我們會需要另外一套系統來追蹤尚未收款的採購單,但這比把與 3PL 的介面搞得複雜要來得簡單。

更換 3PL 廠商

整體而言,我覺得第一家 3PL 管理異動的系統既脆弱,又容易引發代價高昂的錯誤。

我們告訴 3PL 這樣行不通,他們也很有風度地接受了。我們的合約要求提前兩個月通知,他們本可以要求我們再付兩個月的每月最低消費 350 美元,但他們沒有這麼做。

當初在面談 3PL 時,有兩家我同樣喜歡。我選擇了離我開車可達的那家,但另一家也說隨時歡迎我再聯絡。

當我在第一家 3PL 遇到這些邊界狀況時,我回頭詢問了第二順位的廠商會如何處理。老闆告訴我他也覺得 Veracore 很過時,並說明他們倉儲的軟體將如何處理我的這些情境。聽起來順暢多了,也能讓我們繼續在 Shopify 上管理一切,而不需要靠臨時的電子郵件來填補漏洞。我們現在正著手轉換到那家 3PL 廠商。

總結

完成了什麼?

學到的教訓

  • 搞清楚你的 3PL 將如何處理非標準訂單。
  • 讓你的電商平台與 3PL 訂單管理系統之間的介面盡可能簡單。
    • 以我的情況來說,我忽略了其實可以透過簡單的流程調整來簡化與 3PL 的整合。
  • 不要一次就把所有作業都轉移到新的 3PL。
    • 先從量少或單價低的產品開始,這樣在轉移到更高風險的產品前,就能先把問題解決。

下個月的目標

  • 讓可立即出貨的 TinyPilot 裝置庫存回到正常水準。
  • 開始轉移至新的 3PL 廠商的流程。
  • 開始推動開發團隊與客服工程師之間的跨團隊協作。

本文章由 muse-spark-1.2-contributor 進行翻譯

留言