TinyPilot:第 11 個月
原文由 Michael Lynch 于 發布,訂閱此部落格
一句話總結
該如何提高 TinyPilot 的利潤率?
重點回顧
- 儘管月營收達到 3 萬美元,TinyPilot 幾乎只是勉強打平成本。
- 我正在探索各種方式,讓大企業願意為 TinyPilot 付出更高的價格。
- 我必須正視一個現實:管理人,本身就是一份正職工作。
目標評分
每個月月初,我都會公布當月想達成的目標。以下是這次的達成狀況:
將 TinyPilot 營收提升至 3.3 萬美元
- 結果:將 TinyPilot 營收提升至 3.9 萬美元
- 評分:A
在 IT 硬體領域最具影響力的部落格/YouTube 頻道之一 ServeTheHome 的一篇重磅評測刊出後,TinyPilot 的銷量大幅飆升。
將 TinyPilot 的營運完全遷移至新辦公室
- 結果:TinyPilot 已完全在新辦公室運作
- 評分:A
我們終於把 TinyPilot 的營運據點從我家搬到真正的辦公室。過程中有幾天壓力不小,例如一度不確定能不能在 Linux 上把列印功能搞定,但整體來說搬遷相當順利。進貨的零件直接寄到辦公室,員工在辦公室組裝、測試產品,出貨的訂單也從辦公室寄出。
針對 Refactoring English 的目錄收集回饋並進行迭代
- 結果:我收集了回饋,但還不確定該如何整合
- 評分:B
我從 Write Useful Books 社群以及我的電子報訂閱名單收集了回饋。在 202 位訂閱者中只有 6 個人回覆,比我預期的少了一些,但仍提供了很有幫助的回饋。
大家似乎對「寫出更好的部落格文章」這類宏觀主題更感興趣,而對講解如何改善動詞用法的章節興趣較低。我想重新調整順序,把有趣的部分往前放,但又不太確定該怎麼做,因為後面的章節是建立在前面的基礎之上的。
令人興奮的成果自然比基礎功更吸引人。如果我寫一本關於打造電玩的書,大家會對「如何打造具備智慧 AI 的敵人」這類章節感興趣,而可能對「線性代數基礎」沒什麼興趣。這不代表我可以直接跳過基礎,但或許意味著我需要在教授基礎的同時,想辦法讓課程保持實用、易於應用。
TinyPilot 數據
| 指標 | 2021 年 4 月 | 2021 年 5 月 | 變化 |
|---|---|---|---|
| 不重複訪客 | 5,880 | 7,283 | +1,403 (+24%) |
| 總瀏覽數 | 10,483 | 13,267 | +2,784 (+27%) |
| 銷售營收 | $28,880.65 | $38,767.77 | +$9,887.12 (+34%) |
| 利潤 | $843.56 | $6,858.72 | +$6,015.16 (+713%) |
TinyPilot 迎來了有史以來第二好的月份。在這樣的銷售規模下,一切仍能順暢運作,讓人很振奮。1 月份遇到類似的爆單潮時,我們曾被搞得人仰馬翻。幸好我們已經改善了訂單出貨流程,所以這次所有系統都正常運作。
我就只是個主管
2012 年到 2014 年間,我在一家名為 iSEC Partners 的公司擔任軟體安全顧問。我的主管 Peter 管理著整個紐約團隊。他常常自嘲說:「我就只是個主管——是管銷費用。」他會這麼說,是因為當所有員工都在做有生產力的工作時,他覺得自己只是公司官僚體系的一部分。
但 Peter 是個非常出色的主管,這點大家心知肚明。我想他之所以會開玩笑說自己的角色不重要,是因為管理工作讓他比較少時間參與公司裡更有趣的事,像是安全研究和工具開發。
現在我對 Peter 的感慨感同身受。我常常忙到一天結束時,覺得自己一整天就只是在寫電子郵件。但退一步想,我也能理解為什麼會有這樣的日子。現在有很多人一起在做 TinyPilot:
- 三位遠端軟體開發者
- 三位負責庫存、組裝與出貨的在地員工
- 兩家在 3D 列印與電機工程方面與我密切合作的廠商
總共八個人,我每週至少會跟他們聯繫一次。除此之外,還有其他需要往來的對象與服務,像是辦公室房東、人資/薪資服務商、我們的知識庫,以及用來追蹤庫存的工具。而客服與銷售目前只有我一個人在處理。
考慮到這些,我花大部分時間只是在回電子郵件,似乎也就合理了。我需要調整策略,更徹底地擁抱管理工作。
別去做團隊成員也能做的事
我現在做過最蠢的事情之一,就是去接那些團隊裡其他人明明也能勝任的任務。上個月我才提到我每天只有一小時能寫程式。仔細想想,我根本連那一小時都不該拿去寫程式,因為我的隊友也能寫程式,而我卻在只有我能做的任務上落後了。
把「只有 Michael 能做」的事交出去
有幾項任務理論上別人也能做,但實際上卻不行,因為目前只有我擁有必要的權限或知識。
這些任務大多是橫跨不同領域或職能的,例如管理只有在地員工會用到的工具。以下是我應該委派出去的事項(依與我脫鉤的難易度由易到難排序):
- 管理串接 Shopify 與庫存試算表的膠水程式碼。
- 管理用於建置 TinyPilot 量產映像檔的腳本。
- 管理庫存試算表中的公式。
- 回覆客服問題。
- 對 TinyPilot 的版本進行最終 QA 測試。
月收 3 萬美元怎麼還不賺錢?
前陣子我跟女友抱怨,說 TinyPilot 成長遇到的許多問題很可能都有簡單的解法,只不過我因為沒有接觸到跟我經營類似事業的人,所以不知道。她問我想找誰請教,並指出我其實只要想好人選,直接寫信給對方就好。
第一個浮現在我腦海的人是 Mike Perham,Sidekiq 的創辦人。Mike 在 Indie Hackers 上的訪談是我最喜歡的訪談之一。我還在 Google 擔任員工時就聽過,而他的事業一直以來在我心中都是獨立軟體事業的理想典範。他靠著撰寫開源軟體,每月賺進約 8 萬美元。最棒的是,客戶是在自己的機器上運行 Sidekiq,所以幾乎不可能出現需要他立刻處理的緊急狀況。
我跟 Mike 並不認識,所以我寫了一封自我介紹的信,問他對 TinyPilot 有沒有什麼建議。他隔天就回信,提供了好幾個慷慨的建議。其中最讓我印象深刻的,是他對我財務狀況的反應:
把利潤拉起來。5% 的利潤率不是一門健康的生意。要嘛壓低成本,要嘛稍微調整一下價格,不然就找個接近純利潤的純軟體加值服務。
這番話如當頭棒喝。我知道自己的利潤很低,但月收 3 萬美元還是讓我覺得處境應該不錯。但用 5% 利潤率的角度來看,情況就完全不同了。
根據 Mike 的建議,我更仔細地檢視了支出。我還沒完成 5 月的記帳,所以這裡以 4 月為例。

依類別區分的 TinyPilot 支出
| 類別 | 總計 |
|---|---|
| 原物料 | $15,637.68 |
| 軟體外包 | $9,331.79 |
| 在地出貨人員 | $1,460.12 |
| 郵資 | $1,262.53 |
| 電機工程顧問 | $901.25 |
| 辦公室租金 | $550.00 |
| 廣告 | $370.00 |
| 律師 | $270.00 |
| 辦公設備 | $233.72 |
| 平面設計 | $169.00 |
| 貼紙 | $163.63 |
| 雲端服務 | $176.33 |
| 雜項 | $161.21 |
原物料成本並不讓人意外。實體產品的利潤率通常約在 50% 到 60%,所以 3 萬美元的銷售額對應到 1.5 萬美元的成本,符合我的預期。這部分幾乎沒有壓縮空間,因為我購買的材料沒有更便宜的替代品。有些像是線材這類小東西,我為了品質會多付一點錢,但那在一台售價 300 美元的產品上,差異不過 1 到 2 美元。真正昂貴的零件是那些沒有更便宜替代方案的東西,例如 Raspberry Pi 或 HDMI 擷取晶片。
第二大的支出是軟體開發,這看起來或許有點奇怪,畢竟我自己就能寫程式。問題在於,要寫好程式需要不被打斷的專注時間,而 TinyPilot 有太多非軟體的瑣事,讓我無法擁有那樣的時間。2020 年底,TinyPilot 的軟體開發幾乎陷入停擺,就是因為我是唯一的開發者,卻忙於處理推出新產品所帶來的各種後勤事務。
我可以聘請更便宜的開發者,但那很快就會演變成災難。我合作的開發者都特別優秀。他們維持了程式碼的高品質,讓軟體得以持續維護、保持低錯誤率。
我曾與較便宜的開發者(約每小時 30 美元)合作過,他們要嘛根本搞不定工作,要嘛就是用粗糙的作法硬做,導致後續出現錯誤與維護上的麻煩。如果我用低價開發者來組建這個專案,程式碼庫不出幾個月就會變成難以維護的惡夢。
除此之外,我沒有其他能有效削減的支出。第三大的支出是在地出貨人員,但就算砍掉 50% 的成本,整體支出也只會減少 2.4%,所以不值得去動一個已經運作良好的系統。
要遵循 Mike Perham 建議的另一個方法,就是提高營收。
從大客戶身上獲取價值
今年稍早,我和一家大型企業的 IT 主管聊過。他非常喜歡 TinyPilot,想在公司內大力推廣,用它來取代舊有的、每台要價 2,000 美元的企業級設備。結果還真的成功了!該公司在其中一個部門部署了 40 台 TinyPilot,還計畫要再增加。
猜猜 TinyPilot 從這次部署中賺了多少?零。
他們沒有向我購買硬體,而是自己動手組裝裝置。而由於軟體採用了寬鬆的開源授權,他們完全可以免費在公司內使用,不必付給我任何費用。
這在開源領域是極為常見的問題。寬鬆的授權有助於讓更多人發現你的產品、並鼓勵他們使用,但同時也讓大企業得以白白利用你的成果,卻什麼也不回饋。
我也為此請教了 Mike Perham。以下是他的回覆:
聽起來你的授權讓大客戶把你吃得死死的。這是你的程式碼,對吧?改掉你的授權吧,例如只允許業餘愛好者以個人、單一實例的方式使用。MIT 或 BSD 授權很適合用來分享程式碼,但要用來做生意就不太適合了。
某種程度上算是我的程式碼。我合作的特約開發者都有簽約,約定他們貢獻的程式碼智慧財產權歸我所有,但我也接受過少數志工開發者的貢獻。據我的理解,那些無償貢獻程式碼的開發者,技術上是與我共同擁有 TinyPilot 程式碼的著作權。
我當初將 TinyPilot 以 MIT 授權釋出,是因為它能給我彈性。我認為我可以自己把程式碼「分支出來」改用不同授權,然後聲明它同時也使用了 MIT 授權的程式碼,但我不太確定實際上該如何運作。
我思考了幾個能從大型企業客戶身上獲取更多價值的方法,整理如下:
為 TinyPilot 提供企業版功能
有一項只有大客戶會提出、其他人都不會要求的功能,那就是對 TinyPilot 的程式化存取。例如:「我想監控遠端畫面,偵測目標裝置何時當機,然後自動發出警報。」
我打算與大客戶洽談推出具備此類功能的 TinyPilot 企業版,並收取高額費用。我想像每台裝置每月 50 美元這樣的價格,對家庭使用者來說簡直荒謬,但對財富 500 大企業而言,如果能省去他們自行開發好幾週的時間,這點錢根本不算什麼。
提供 SaaS 加值服務
如果與裝置處於同一個區域網路內,TinyPilot 很好用,但如果客戶想透過網際網路遠端存取 TinyPilot,目前就得依賴第三方解決方案。我已經向幾位客戶提過「TinyPilot 雲端入口網站」的構想:一個安全的網頁介面,讓他們無論身在何處都能透過網際網路遠端存取自己的 TinyPilot 裝置。
這會是一個不錯的軟體即服務訂閱機會,可以在 TinyPilot 硬體產品之外,提供一個利潤率更高的互補產品。
不過,我還是想避免自己去維運一個需要隨時待命的服務。我正在探索與能夠負責服務營運層面的廠商合作的可能性。
諮詢專精開源授權的律師
關於開源授權,我還有很多不了解的地方,所以我應該去找一位律師,弄清楚我有哪些選項。理想的授權模式是讓個人使用者能以可負擔的價格在家中試用,然後在企業環境中使用時再採用更昂貴的商業授權,類似 Sidekiq 的作法。
舊有專案
以下是一些我仍在維護、但已非開發重心的專案的簡要更新:
Is It Keto
| 指標 | 2021 年 4 月 | 2021 年 5 月 | 變化 |
|---|---|---|---|
| 不重複訪客 | 56,094 | 49,085 | -7,009 (-12%) |
| 總瀏覽數 | 123,723 | 108,862 | -14,861 (-12%) |
| 網域評分(Ahrefs) | 11.0 | 11.0 | 0 |
| AdSense 營收 | $560.20 | $466.84 | -$93.36 (-17%) |
| Amazon 聯盟行銷營收 | $116.78 | $138.99 | +$22.21 (+19%) |
| 總營收 | $676.98 | $605.83 | -$71.15 (-11%) |
Is It Keto 仍在背景持續運作,但這個月我難得花了一點時間處理它。許多 Amazon 聯盟行銷連結已經過期,指向已經不存在的商品,所以我花了幾個小時把它們修好。
隔了好幾個月再打開程式碼,實在很誘人會想一頭鑽進去把網站東修西改。但我得克制自己,因為把專注力盡量放在 TinyPilot 上對我更有幫助。
Hit the Front Page of Hacker News
| 指標 | 2021 年 4 月 | 2021 年 5 月 | 變化 |
|---|---|---|---|
| 不重複訪客 | 114 | 191 | +77 (+68%) |
| Gumroad 營收 | $341.61 | $417.85 | +$76.24 (+22%) |
| Blogging for Devs 營收 | $109.20 | $0.00 | -$109.20 (-100%) |
| 總營收 | $450.81 | $417.85 | -$32.96 (-7%) |
這門課程每月仍有幾筆銷售,但我沒有花太多時間去推廣它。
其中一個亮點是 Dan Willoughby 實踐了課程中的觀念,撰寫了一篇文章並登上了 Hacker News 第二名。而且他不是靠什麼「成長駭客」手段來操縱系統。他只是花時間寫了一篇高品質的文章,就獲得了應有的迴響。看到這個成果,感覺真的很棒。
Zestful
| 指標 | 2021 年 4 月 | 2021 年 5 月 | 變化 |
|---|---|---|---|
| 不重複訪客 | 892 | 659 | -233 (-26%) |
| 總瀏覽數 | 2,132 | 1,784 | -348 (-16%) |
| RapidAPI 營收 | $40.82 | $32.85 | -$7.97 (-20%) |
| 總營收 | $40.82 | $32.85 | -$7.97 (-20%) |
儘管 Zestful 仍處於維護模式,上週末我還是發布了一個官方 Python 套件。這是我一直覺得這個專案應該要有的東西,但因為我不知道如何發布 PyPI 套件,所以一直拖著沒做。今年 3 月在把玩 Restic 時終於學會了怎麼發布,所以就順勢運用這個知識,為 Zestful 做了一個套件。
現在,使用者可以在幾分鐘內就開始使用 Zestful。像這樣安裝套件:
pip install zestful-parse-ingredient
接著,匯入 parse_ingredient 模組,並傳入一個食材字串:
import json
import parse_ingredient
ingredient = parse_ingredient.parse('2 1/2 tablespoons finely chopped parsley')
print(json.dumps(ingredient.as_dict()))
然後你會看到像這樣的 JSON 輸出:
{
"quantity": 2.5,
"unit": "tablespoon",
"product": "parsley",
"productSizeModifier": null,
"preparationNotes": "finely chopped",
"usdaInfo": {
"category": "Vegetables and Vegetable Products",
"description": "Parsley, fresh",
"fdcId": "170416",
"matchMethod": "exact"
},
"confidence": 0.9858154,
}
總結
完成了哪些事?
- 將 TinyPilot 的營運從我家搬到真正的辦公室
- 與庫存管理人員合作,將所有流程文件化到 Notion 上。
- Notion 確實有些小毛病和陷阱,但相較於我們先前用來記錄內部流程的 Google Docs,已經是一大進步。
- 成功將職責從 TinyPilot 原先的庫存管理員(我女友)交接給新的在地員工。
- 我女友的研究所課程下週就要復課,所以她將沒有時間再處理 TinyPilot 的事務。
經驗教訓
- 關於新員工訓練,「用寫的,別用講的。」
- 我們幾乎完全透過書面指示,而非即時口頭說明,來培訓第一位在地員工。
- 大家都很滿意上手過程如此輕鬆,也讓職責交接給新員工的過程十分順利。
- 第二位在地員工在 5 月中旬到職,而我們預期他的上手會更輕鬆,因為所有流程都已經文件化了。
- 管理同樣需要時間。
- 如果我想把管理做好,就必須放手,不再去做那些團隊成員也能做的事。
- TinyPilot 需要更高的利潤率。
- 提高營收會比削減支出來得容易。
下個月的目標
- 發布新版本的 TinyPilot。
- 創造 3.5 萬美元的 TinyPilot 營收。
- 打造內建乙太網路供電(Power over Ethernet)的 TinyPilot Voyager 2 原型機。
隨機一篇部落格
留言
登入後參與討論