TinyPilot: Month 7

Michael Lynch

TinyPilot:7ヶ月目

原文は Michael Lynch により に公開されました。 このブログを購読する

一言サマリー

TinyPilotは、ありがたい悩みを抱えている。

ハイライト

  • TinyPilotは驚異的な収益成長を遂げ、12月の15,000ドルから1月には42,000ドルへと跳ね上がった。
  • TinyPilotの売上の大半は、1本の好意的なYouTubeレビューによるものだった。
  • 需要への対応に追われる中で、成長痛を味わっている。

目標の自己採点

毎月初めに、その月に達成したいことを宣言している。目標に対する結果は以下の通りだ。

TinyPilotの開発を手伝うフリーランス開発者を採用する

  • 結果:1名をトライアル採用したがうまくいかず、現在は別の候補者でトライアル中。
  • 評価:A

新しい開発者の採用は時間のかかるプロセスだが、計画通りに進んでいる。トライアルを重ねるごとに、立ち上がりを早める方法が見えてきたし、今後の採用で重視すべき資質も見極めやすくなっている。

関連する視聴者を持つブロガーまたはYouTuberから2件のTinyPilotレビューを獲得する

  • 結果:YouTubeレビューを1件獲得、他2件は進行中
  • 評価:A-

YouTuberが新しい動画を制作するのにどれだけ時間がかかるかを甘く見ていた。公開された1本のレビューも、11月にこちらから声をかけたものがやっと形になったものだ。他の2名のYouTuberもレビューに同意してくれたが、まだ制作中だ。

ただ、その1本のレビューが、ほとんど手に余るほどの反響を呼んだ。詳細は後述する。

『Hit the Front Page of Hacker News』で4,000ドルの収益を上げる

  • 結果:2,600ドルの収益
  • 評価:C

コースは期待通りの展開にはならなかった。内容自体には誇りを持っているが、購入者数は想定を大きく下回った。

マーケティングのためにいくつかの手法を試したが、いずれも売上に目に見える効果はなかった。

TinyPilotの統計

指標2020年12月2021年1月変化
ユニーク訪問者数3,48611,249+7,763 (+223%)
総ページビュー数5,78517,737+11,952 (+207%)
販売収益$15,358.31$41,992.92+$26,634.61 (+173%)
寄付$9.00$0.00-$9.00 (-100%)
合計収益$15,367.05$41,992.92+$26,625.87 (+173%)

TinyPilotにとって飛躍的な月となった。売上が15,000ドルから42,000ドルへ跳ね上がったのだ。

毎月、「今月は運が良かっただけだ。こんなことは二度とないだろう」と思うのだが、翌月にはさらに成長している。願わくば、この幸運が続いてほしい。

TinyPilot初のYouTubeレビュー

1月の売上の大半は、たった一つの源泉によるものだ。Craft Computing、プロと自宅愛好家向けのITハードウェアを扱うYouTubeチャンネルである。

私がCraft Computingチャンネルを知ったのは昨年のはじめ、Proxmoxのインストールに関する素晴らしいチュートリアルがきっかけだった。数ヶ月後、ホストがITマネージャーの仕事を辞めて独立したと発表したとき、親近感を覚えた

11月に私はチャンネルのホストであるJeffに連絡し、TinyPilotをレビューしてみないかと打診した。彼は承諾してくれたので、すぐに1台送った。数ヶ月音沙汰がなく、私のVoyagerが企業から送られてくる無償ハードウェアの山に埋もれているのではないかと思い始めていた。

1月12日、ちょうど寝ようとしていたとき、Jeffからレビューが公開されたというメールが届いた。

それは非現実的な体験だった。ガールフレンドとリビングの大きなテレビでそれを観たので、1年間観てきたYouTuberが私の製品を手に持ち、巨大な画面から直接私に語りかけてくるのを目の当たりにしたのだ!

JeffはTinyPilotを気に入り、感心した点を数多く語ってくれた。観ている間ずっと、「いや、やっぱり気が変わった。この製品はダメだ。知り合い全員に買うなと伝えてくれ」と突然言い出すのではないかとヒヤヒヤしていた。幸いレビューは終始好意的で、指摘は軽微なものだった。

反響は大きく、即効性があった。翌日には33件の注文が入り、5,000ドルの収益を上げ、過去の売上記録を大きく上回った。その翌日は注文数こそ減ったものの、より多くの顧客が高額なキットを購入したため、総収益はほぼ同水準を維持した。

2021年1月のTinyPilotの日別収益と注文数

3日目には落ち着くだろうと予想していたし、実際少しは落ち着いたが、注文は途切れなかった。在庫はこうした急増を吸収できるようにしてあるが、これほど長く続くとは想定していなかった。

最初の1週間はTinyPilotのフルフィルメント担当と私で何とか注文をこなしたが、8日目には疲弊しきっていた。2日以内の発送期間内に補充できない部品がいくつか切れてしまい、一時的にほとんどの製品をバックオーダー扱いにした。数日後には体制を立て直し、注文量も管理可能な水準に戻った。

TinyPilot初のポストモーテム

ブレームレス・ポストモーテムは、Googleで働く中で学んだ最も価値あるプラクティスの一つだ。何か大きな問題が起きたとき、まず安定した状態に戻してから、何が起きたかを分析するレポートを書く。

名前が示す通り、このドキュメントは誰かを責めない。決して「マイケルが間抜けで間違ったファイルを削除したから障害が起きた」などとは書かない。

ポストモーテムの根底にある前提は、チームの全員が優秀で勤勉だということだ。だから何かがうまくいかなかったとしたら、失敗したのは人ではなくシステムである。誰かが愚かに見える失敗でも、根本原因は、想定されるヒューマンエラーを防げなかったプロセスにある。

Craft Computingのレビューの後、フルフィルメント担当と私はTinyPilot初のポストモーテムを実施した。以下が発見された主な問題と、それを緩和するために導入した対策だ。

在庫目標が低すぎた

在庫はスプレッドシートで管理している。扱う各部品について、保有する最小数と最大数を定めている。例えばRaspberry Piは最小40、最大80としていた。つまり在庫が40を下回った時点で、80に戻すのに必要な数を発注するということだ。

TinyPilotの在庫スプレッドシートのスクリーンショット

TinyPilotの在庫スプレッドシート

問題は、在庫切れを起こして計画の甘さに気づくまで、これらの目標を調整していなかったことだ。そうなると、不足に陥ったときはパニックで、新たな目標を冷静に考えるのが難しくなる。

  • 対策:直近の注文量に基づいて在庫目標を毎月見直す。
  • 対策:次の注文急増は、これまでのどの急増よりも激しいものになると想定する。
  • 対策:部品が在庫切れになったり、切れそうになったりした場合は、その在庫目標を倍にする。

緊急性が分かりづらかった

在庫スプレッドシートを使った標準的なワークフローでは、最小数を下回った品目を「補充」する。USBケーブルが再発注の閾値を下回ったときも、通常のワークフローに従い、通常の陸送で新しいものを発注した。

顧客の購入ペースがあまりに速く、新たな入荷が届く前に在庫がゼロになる見込みだということに気づかなかった。翌日、後の入荷までのつなぎとして、翌日配送で追加発注した。

  • 対策:「在庫数」列の数値が危険な水準に達したらハイライト表示する。
  • 対策:Amazon Business Primeにアップグレードして、2日配送を迷わず使えるようにする。
  • 対策:トレンドに基づくアラート機能を備えた在庫管理ソフトを探す。

発送までの時間が短すぎる

TinyPilotを始めた当初は、1営業日以内に発送すると約束していた。しかし1日での対応は持続不可能だとすぐに明らかになった。常にコンテキストスイッチを強いられ、注文を急いで出荷しなければならなかったからだ。数週間後、告知している発送までの時間を2日間に変更した。

YouTubeレビューの後、1週間奮闘した末に商品をバックオーダー扱いにせざるを得なかったが、発送までの約束が3日間であれば、バックオーダーを回避できるだけの余裕があったはずだ。過去のバックオーダーや寸前で回避したケースの約80%は、たった1日の差で起きていたことが分かった。

2日間という設定はストレスが大きすぎた。いずれにせよ大半の注文は翌日に発送しているし、顧客も告知が2日か3日かはそれほど気にしないだろう。

  • 対策:告知している発送までの時間を3日間に延長する。

パック単位の部品の再発注が不要な認知負荷を生んでいる

一部の部品は単品で、一部は1パッケージあたり2個や3個入りのパックで購入している。例えば電源アダプターは3個入りパックで購入している。在庫スプレッドシートには、電源アダプターのパック数ではなく絶対数が記載されている。

繁忙期に150個の電源アダプターを発注するつもりが、誤って150パック(3個入り)を発注してしまい、合計450個になってしまった。

この過剰発注はヒューマンエラーだが、私たちのシステムがミスを誘発しやすいことを浮き彫りにしている。発注担当者は品目ごとに異なる暗算をしなければならないのだ。

対策:スプレッドシートに、1パックあたりの数量を考慮した「再発注数量」列を追加する。

TinyPilotはどうスケールできるか?

TinyPilotは想定を遥かに上回る速さで成長している。幸い、これまでのところ既存のプロセスで成長に対応できているが、このまま続けばいずれ負荷に耐えきれなくなるだろう。いくつかの側面で、どのようにスケールさせる計画かを紹介する。

サポートのスケーリング

TinyPilotの顧客数が増えるにつれ、サポートメールも増えている。日によっては、稼働時間の半分をテクニカルサポートに費やすこともある。

Lunch Moneyの創業者であるJen Yipのブログ記事を思い出した。彼女はビジネスのあらゆる側面を一人で切り盛りしており、アプリ内でユーザーがよくある問題を自己解決できる機能を実装することで、サポート負荷を最小限に抑えている。

TinyPilotへのサポート依頼の約半数は、実は製品の機能不足に起因する。よくある質問が「Wi-Fiをどうやってオンにしますか?」だ。現在はコマンドラインでの方法を説明したリンクを送っているが、本来はTinyPilotのウェブインターフェースから直接できるべきことだ。

今後TinyPilotのソフトウェア開発を進めるにあたり、ユーザーの混乱をなくす機能や、問題発生時にデバッグツールをより使いやすくすることを優先している。

製造のスケーリング

3Dプリント部品は、設計の調整が迅速かつ安価にできる点で優れている。欠点はスケールしにくいことだ。Voyagerのケースを作っているラボは、私が使いたい素材では週に40個しか生産できず、これはすぐにボトルネックになるだろう。

次の段階は射出成形だ。基本的に、メーカーがケースの金型をスチールやアルミで作り、そこにプラスチックを流し込んで成形する。金型の作成には時間とコストがかかるが、一度作ってしまえば1日1,000個を低コストで生産できる。数社に見積もりを依頼したが、2万〜4万ドルという回答で、現時点では少し高すぎる。

3Dプリントを並列化できないか、他のラボにも連絡を取った。問題は、私が気に入っているカーボンファイバー素材が3Dプリントラボでは珍しく、扱っている業者が少ないことだ。扱っているところでも、現在の支払額の10〜15倍の見積もりだった。それでもVoyagerのマージンは十分に高いので、いざとなればケースのコストが上がっても利益は出せる。

別のラボからは、より速くプリントできる代替素材で同様の結果が得られると言われた。そのラボにサンプルを依頼しつつ、メインのラボとも代替素材について話を進めている。

ガールフレンド兼在庫管理担当が、基板のテストやVoyagerの組み立てといった最終製造工程を担っている。フルタイムの大学院生でもある彼女が、注文処理や在庫管理、組み立てなどの業務に十分な時間を割けなくなる時点が来るかもしれない。そこで、彼女の稼働時間の限界に達したときに、どの業務を外注できるかを検討している。

開発のスケーリング

TinyPilot運営の他の業務に追われ、ソフトウェアに取り組む時間が悲しいことにほとんど取れていない。12月には、穴を埋めてくれるパートタイムの開発者を探し始めた。仕事内容を説明するために次の2つのドキュメントを用意し、いくつかの小さなチャネルで共有した。

私が採用するフリーランスの職種の中で、ソフトウェア開発は常に最大の難関だ。ソフトウェアに対する要求水準が高いため、品質と保守性に対して同じような情熱を持つ開発者を見つけるのが難しい。

候補者の面接は行わず、すぐにトライアル採用に入る。最初の採用はうまくいかなかったが、相手からはプロセスに満足したと言ってもらえた。また、新しい開発者がコードベースに慣れるのを容易にする方法を見つけるのにも役立った。

レガシープロジェクト

以下は、今も維持はしているが、開発の主軸ではないプロジェクトに関する簡単な近況だ。

Hit the Front Page of Hacker News

指標2020年12月2021年1月変化
ユニーク訪問者数2,5951,042-1,553 (-60%)
合計収益$1,431.00$2,565.22+$1,134.22 (+79%)

開発者向けのブログ術についてのコースであるHit the Front Page of Hacker Newsが、ついに1月にローンチした。ローンチ前後で売上は跳ね上がったが、期待を大きく下回った。このコースの目標は年末までに2万ドルを稼ぐことだったが、達成は難しそうだ。

これまでの売上にがっかりしているとCory Zueに話したところ、TinyPilotの収益で感覚が麻痺しているんだとからかわれた。このコースは1月だけで、私がインディー開発者として最初の1年間に稼いだ額を上回る収益を上げたのだ。

Is It Keto

指標2020年12月2021年1月変化
ユニーク訪問者数49,37380,177+30,804 (+62%)
総ページビュー数93,242182,367+89,125 (+96%)
ドメインレーティング(Ahrefs)10.011.0+1.0 (+10%)
AdSense収益$334.72$677.36+$342.64 (+102%)
Amazonアフィリエイト収益$149.99$238.02+$88.03 (+59%)
合計収益$484.71$915.38+$430.67 (+89%)

Is It Ketoは、サイトに全く手を加えなかったにもかかわらず、記録的な月となった。ダイエット関連のサイトなので、新年の抱負の時期と重なって常に関心が高まるのだ。

Zestful

指標2020年12月2021年1月変化
ユニーク訪問者数507419-88 (-17%)
総ページビュー数1,5111,194-317 (-21%)
RapidAPI収益$103.33$155.50+$52.17 (+50%)
合計収益$103.33$155.50+$52.17 (+50%)

Zestfulはメンテナンスモードにもかかわらず、わずかに成長している。この成長は、利用量が増えた1社の長年の顧客によるものと思われる。

まとめ

何ができたか?

  • Hit the Front Page of Hacker Newsをローンチした。
  • TinyPilot Proがベータ版から正式リリースになった。
  • TinyPilot初のポストモーテムを実施した。
  • フリーランス開発者2名をトライアルで採用した。

学んだこと

  • YouTubeレビューは非常に強力だが、時間がかかる。
    • 初回のレビューの結果を見て、ぜひさらに活用したいチャネルだが、新たなレビューを確保するには数ヶ月かかる。
  • 成長するにつれ、プロセスの前提を見直すこと。
    • これは何度も学ばされている教訓だ。何かの作業のためにプロセスを確立すると、それが習慣になる。するとプロセスについて批判的に考えることをやめ、それがもはや当てはまらない条件のために設計されたものだということに気づかなくなる。
    • 定期的に一歩引いて、プロセスが今でも最適かどうかを見直すことが重要だ。

来月の目標

  • TinyPilotのアフィリエイトプログラムに5人のブロガーまたはYouTuberを惹きつける。
  • サポートまたは製造コストを削減する機能をTinyPilotに2つ追加する。
  • ラックマウント版TinyPilotの可能性について、10人の顧客からフィードバックを集める。

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。

コメント