TinyPilot: Month 22

Michael Lynch

TinyPilot:第 22 個月

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

一句話總結

我的錢到底都花到哪去了?

本月亮點

  • TinyPilot 每月創造 5.8 萬美元的營收,卻莫名其妙在賠錢。
  • 能即時掌握開發者的工時,比我想像中重要得多。
  • 睽違將近兩年,我再次嘗試付費廣告。

目標成績單

每個月月初,我都會宣告當月想完成的事。以下是這個月的達成狀況:

發表一篇關於用 TinyPilot 打造居家實驗室 NAS 伺服器的部落格文章與影片

  • 結果:快完成了,但還沒發表。
  • 成績:D

這篇部落格文章寫起來比我預期的長得多。我想分享挑選零件時的思考過程,細節很多,沒想到會花這麼久。希望能在接下來幾週內完成。

完成 TinyPilot 網站改版

  • 結果:網站幾乎沒有任何設計上的更動。
  • 成績:F

原本預計六週完成的改版,現在已經進入第七個月。很慚愧地,我們再次幾乎沒有做出任何使用者看得見的改變。

我已經終止了與設計公司的合約,他們這個月會收尾。希望他們能在剩下的幾週內完成改版。如果不行,我會另外請一位開發者來收尾,因為這件事已經拖太久了。

發布支援透過 WebRTC 以 H264 傳輸影像之實驗性功能的 TinyPilot Pro 版本

  • 結果:已與一位大客戶分享早期測試版,但尚未發布公開版本。
  • 成績:C

這個月的主題就是「比預期花了更久一點」。這個版本程式碼已經完成,但我還得做完最後一些手動測試,才能發布給客戶。

TinyPilot 數據統計

指標2022 年 3 月2022 年 4 月變化
不重複訪客6,2125,268-944 (-15%)
總瀏覽量13,37511,974-1,401 (-10%)
銷售營收$65,171.82$43,771.00-$21,400.82 (-33%)
企業訂閱$47.75$47.750
權利金$4,012.83$2,253.61-$1,759.22 (-44%)
總營收$69,232.40$46,072.36-$23,160.04 (-33%)
獲利$-3,043.34$-19,392.76-$16,349.42 (inf%)

四月對 TinyPilot 來說是很艱難的一個月。無論是美國還是歐盟經銷商,銷量都跌到六個月來的新低。通常每個月會有幾筆大單帶來約 5 千至 1 萬美元的營收,但四月一筆都沒有。

還不清楚四月只是運氣不好、還是大家因為經濟衰退的跡象而減少支出,或是競爭對手的新產品正在蠶食我們的銷量。

我的錢都花到哪去了?

在上一次的回顧中,我提到 2022 年第一季平均獲利 5,300 美元。做帳時我才發現,部落格上的數字跟實際帳務對不上,事實上我每個月是虧損 3,000 美元。

這個數字讓我很驚訝,因為我每月有 5.8 萬美元的營收,每賣一台 TinyPilot 裝置就能賺 250 至 325 美元,怎麼還會賠錢?

為了找出原因,我仔細檢視了 2022 年第一季的每月支出。

支出項目每月成本
原物料$24,896.46
軟體與客服承包商$14,900.43
設計公司$7,938.32
電子工程$5,291.07
出貨人員$2,915.75
郵資$2,393.49
稅金/關稅$1,423.14
辦公室租金$916.67*
雲端服務$495.03
廣告$106.78
其他$265.34
總計$61,542.47

* 我實際租金是每月 550 美元,但第一季帳面上租金看起來較高,是因為房東兌現支票的時間不固定。

最大的支出是原物料,比平常更高是因為我必須為未來 18 到 36 個月囤積零件,以避免供應短缺影響 TinyPilot。其中每月約 6,200 美元是為了囤積可用好幾年的零件,所以一旦囤貨完成,每月的物料成本就會大幅下降。

次高的支出是軟體與客服,每月 14,900 美元。比平常稍高是因為我短期聘請了一位外部顧問來協助整合新的影像技術。正常水準大約是 12,000 美元,但仍然相當高。

TinyPilot Pro 收費原本是要支應開發與客服成本,但我們還沒實作授權檢查或到期提醒。約三分之一的 TinyPilot 客戶的 TinyPilot Pro 授權已經過期卻不自知,仍持續獲得免費支援與更新。未來幾個月,我的首要軟體任務就是徹底翻新 TinyPilot 的更新流程,讓只有持有付費有效授權的使用者才能取得最新的 TinyPilot Pro 版本。我也想讓訂閱制付款更方便,讓大家可以直接每年付 80 美元續訂授權,不用在到期時還要重新購買。

設計公司每月花費將近 8,000 美元,還好這筆支出即將結束。我已經付了最後一筆款項,合約會在五月底終止。之後我可能會請一位開發者來維護網站,但工時較少、費率也較低,大約每月 1,000 至 2,000 美元。

接下來是每月 5,300 美元的電子工程費用。未來 2 到 3 個月這筆費用仍會偏高,因為我的電子工程夥伴正在為量產重新設計 TinyPilot Voyager 2。設計工作完成後,預計成本會降到約每月 2,000 美元,因為維護費用會比設計費用便宜許多。

這些支出大致可分為三類:

  • 經常性成本:像租金、人事這類與銷量無關的固定支出。
  • 物料與郵資:幾乎完全隨銷量變動,但成長速度應約為營收的三分之一。
  • 暫時性支出:像是重新設計硬體或囤積零件等一次性費用。

我必須從銷售中賺到足夠的利潤來支應經常性成本,並留有餘裕給成長型支出。如果估算軟體費用會降至每月 12,000 美元、電子工程降至 2,000 美元,我的經常性成本大約是每月 19,000 美元。如果原物料約占營收的 30%,那我就需要達到 27,000 美元的銷量才能維持營運(27,000 美元的銷量扣除物料成本後實得 22,000 美元)。

要達到每月 27,000 美元的銷量感覺還算可行,畢竟過去六個月我都遠高於這個數字。不過,銷量正在下滑,又有種種跡象指向經濟衰退,所以我希望自己仍能穩定超過損益平衡點,並保有足夠的空間來支應成長與一次性成本。

即時回報工時的重要性

我在上次的更新中列出了與設計公司合作時希望早點知道的許多事。四月,我又發現一件該加進清單的事:工時回報至關重要。

三月底,設計公司對改版提出一個建議:換一套新的 Bootstrap 主題。TinyPilot 網站使用 Bootstrap CSS 框架。我們至今仍沿用當初建站時從 Bootswatch 取得的免費第三方主題。在 Bootstrap 和第三方主題之上,我們還有自己寫的客製化樣式,而且常常是針對單一頁面或元件。

設計公司指出這樣的架構很混亂,建議我們用一套全站通用的自訂 Bootstrap 主題,來取代第三方主題和各頁面的零散樣式。他們估計只要幾天就能完成。我覺得很有道理。這樣做應該很快就能回本,否則之後的改版工作都得跟三層不同的 CSS 樣式纏鬥。

結果這項主題重構花了五週,總成本 6,100 美元。以下是使用者實際看得到的成果:

TinyPilot 網站修改前的截圖TinyPilot 網站修改後的截圖,字型與顏色略有不同

花了 6,100 美元進行網站開發的前後對比:左為修改前,右為修改後

長期來看,這次重構是有幫助的,但我現在並不會選擇做這件事。改版已經延遲半年、超支五倍。比起擁有程式碼漂亮但外觀陽春的網站,我寧可先有個漂亮的網站,再慢慢整理難看的程式碼。

那我怎麼會讓這種事發生?TinyPilot 平常配合的開發者很少會在我沒要求的事情上鑽牛角尖,但跟這家設計公司合作卻一再發生。

一個關鍵差異是,TinyPilot 的開發者會讓我即時掌握他們的時間運用。每次工作結束後,他們都會記錄工時並附上簡短說明,交代做了什麼。

TinyPilot 在 Deel 上回報工時的截圖

TinyPilot 內部開發者會隨工作進度即時回報工時。

如果我有交辦工作,就會去查看他們的工時。如果發現某項我預期只要兩小時的任務,他們卻花了 14 小時,就代表我不是低估了難度,就是沒把需求說清楚。不管是哪種情況,我都會去找開發者確認,一起決定要繼續還是調整方向。

而設計公司的回饋週期就慢得多。他們只在每月 15 號寄一次更新,告訴我當月已工作的總時數。月底才會寄出完整的工時明細,但到那時已經太遲了。

寫著「你在 2022 年 4 月已使用 40 小時中的 16.02 小時」的電子郵件按任務細分的工時報表

設計公司每月只回報兩次工時——月中一次,只給一個不透明的總時數(左),月底一次才有較細的分類明細(右)。

另一個問題是,設計公司只以月為單位承諾工時,而不是以週為單位。二月時,他們前三週完全沒有進行開發工作,然後把所有工作都擠在最後十天完成。這讓原本就很差的回饋週期雪上加霜,因為我根本分不清是某項任務花太久,還是他們根本還沒開始。

未來如果再跟設計公司合作,我一定會堅持使用能即時共享計費工時的工具。這種資訊太重要了,不能延遲好幾週才看到,否則我無法及早發現雙方期待的落差。

試水溫:付費關鍵字廣告

我在 TinyPilot 初期就嘗試過投放付費廣告,但當時沒有好方法來衡量成效。我的銷售網站用了一套很特別的自訂技術架構,很難跟 Shopify 或 Google Analytics 上常見的轉換追蹤工具整合。即使轉換追蹤看似正常運作,也只記錄到約 30% 的銷售,所以要不是我哪裡設定錯了,就是有 70% 的使用者啟用了擋廣告工具。

後來在嘗試聯盟行銷時,我意外解決了轉換追蹤的問題。當顧客透過聯盟連結造訪時,TinyPilot 網站會把聯盟 ID 存到瀏覽器的 local storage。顧客結帳時,我們再把該聯盟 ID 存為訂單的一個屬性。這樣就不需要依賴 Google Analytics,也不用跟擋廣告工具對抗。

我意識到可以用同樣的方法來追蹤付費廣告。只要把廣告網址中的推薦資訊當作聯盟 ID 來處理就行。靠著這個方法,我重新開始投放付費廣告,在 Google 和 Bing 上下廣告。

Google 廣告:TinyPilot KVM over IP | Easy Remote Access | Open-Source, PoE, HTML5 TinyPilot is a simple, modern KVM over IP device with PoE. No software installation or Java plugins. Setup takes 5 minutes.

我的第一則 Google 關鍵字廣告。

指標GoogleBing
廣告花費$1,715.10$1,018.09
曝光次數15,6237,023
點擊次數701196
點擊率(CTR)4.5%2.8%
單次點擊成本(CPC)$2.45$5.19
轉換營收$4,202.88$789.97
廣告投資報酬率(ROAS)2.450.78

Google 在幾乎所有指標上都勝過 Bing。Bing 的單次點擊成本貴一倍,產生的營收卻只有三分之一。

最重要的指標是廣告投資報酬率(ROAS),在 Google 上是 2.45。也就是說,我在 Google 廣告上每花 1 美元,就能帶來 2.45 美元的營收。其中零件與人力成本約 0.76 美元。換算下來大約是 2.45 美元營收 - 1 美元廣告費 - 0.76 美元零件與人力成本 = 0.69 美元的獲利。

換句話說,在 Google 廣告上花 1 美元就能賺 0.69 美元,真的很划算!而且這個營收數字還是低估的,因為如果使用者在手機上點了廣告,卻改用桌機下單,我的統計就無法把這筆銷售歸功給 Google。所以實際上,這些廣告帶來的獲利可能比數據顯示的還要高。

我完全還沒針對廣告文案或受眾設定做任何測試。我懷疑如果把這部分交給行銷公司接手,投資報酬應該還能大幅提升。

我已經把 Google 的預算提高到每天 150 美元,只要還能獲利,就會繼續加碼。

我把 Bing 的預算維持在每天 50 美元,並稍微調整廣告設定。Bing 曾把我的廣告投放到不相關的關鍵字,像是「unifi 24 port switch」(功能完全不同的產品)和「kvms pro」(某種 CCTV 管理軟體)。

我本來想在 DuckDuckGo 上投放廣告,因為我覺得他們的使用者應該很符合我的產品客群。很奇怪的是,DuckDuckGo 只透過它的直接競爭對手 Bing 間接販售廣告。想在 DuckDuckGo 上買廣告,就必須先在 Bing 上投放廣告,再透過 Bing 的聯播夥伴啟用廣告投放,聯播夥伴包括 AOL、Yahoo 和 DuckDuckGo。

想在 DuckDuckGo 上投放廣告的唯一方法,就是同時在 Bing、Yahoo 和 AOL 上投放廣告。

業餘專案

PicoShare

我還在開心地開發 PicoShare,這是我做的一個簡單網頁應用程式,讓分享大檔案變得更輕鬆。

其中一個讓我很期待的功能是建立訪客上傳連結。很多時候,尤其是在為 TinyPilot 與合作夥伴協作時,我希望對方能傳給我一個用電子郵件無法寄送的大檔案,但又不想讓大家為了 Google Drive 或 Dropbox 這類雲端儲存服務去註冊帳號、經歷繁瑣流程。

有了 PicoShare 的訪客上傳功能,我可以像這樣建立一個訪客連結:

PicoShare 建立訪客連結畫面的截圖

接著,PicoShare 會產生一個專屬的訪客連結,例如 https://picoshare.tinypilotkvm.com/g/sWy2Pi5Dm8afJuxs。訪客造訪該連結後,就能在不需註冊的情況下上傳檔案到我的 PicoShare 伺服器:

透過訪客連結上傳檔案的 PicoShare 畫面截圖

我已經開始在 TinyPilot 上使用這個功能,比起我以前用的 Mega.nz 和 Dropbox 等工具順暢多了。

我新增的另一個功能是支援私人備註,你可以在上傳時為檔案加上備註,方便日後記得檔案的細節:

帶有備註文字欄位的 PicoShare 上傳頁面截圖顯示備註的 PicoShare 檔案列表頁面截圖

PicoShare 現在讓你可以在上傳時加上私人備註。

總結

完成了什麼?

  • 付費關鍵字廣告已開始看到令人期待的成果。
  • TinyPilot Pro 的 2.4.1 版本已完成程式碼,支援 H264 影像。
  • TinyPilot 向 uStreamer 貢獻了文件,說明如何透過 WebRTC 串流 H264 影像。

學到的教訓

  • 與承包商或設計公司合作時,需要即時的工時回報。
    • 否則,很容易在專案超支或偏離範圍時渾然不覺,等發現時已經太遲。

下個月的目標

  • 發表一篇關於用 TinyPilot 打造居家實驗室 NAS 伺服器的部落格文章與影片。
  • 完成 TinyPilot 網站改版。
  • 聘請行銷公司或自由接案者。

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

留言