【翻訳】徹底的に自分でプロダクトを触る  ~ 競争環境でプロダクトを伸ばす方法 ~

この記事は[How We've Grown in a Competitive Space by Eating Our Own Dogfood](https://www.indiehackers.com/interview/how-weve-grown-in-a-competitive-space-by-eating-our-own-dogfood-9c76002091)のYahia Bakourさんのご本人の許可を得て翻訳をしたものです。

  
少し長い記事なので、簡単に内容をまとめると

- Stock Alartはリリースして8か月で、**13,000MAU、月間約55万円の収益**まで成長させた。
- SNSの活用や界隈で有名なアカウントなどにプロモをお願いして着実ユーザー数を伸ばした
- **課金プランを変更**することで、大幅に収益を伸ばすことに成功
- プロダクトを成功に導くカギは、**自分で使い、ユーザーに耳を傾け続け、最高の製品にする**こと

株式の変動通知というとてもニッチで、洗練されたプロダクトだと思いました。
毎月成長させており、プロダクト開発の参考やアイデアの種になればと思い投稿させていただきます。

---

## はじめに

私は「[Stock Alarm](https://stockalarm.io/)」のグロースを牽引してきました。私自身はソフトウェアエンジニアで、マーケティングやグロースの経験があります。そして株式デリバティブに興味があり、その世界で仕事をしています。

[Stock Alarm](https://stockalarm.io/)は、トレーダーのためのトレーダーによって作られたプラットフォームで、株式市場を監視して、設定したアラートが発生するとメール、テキストメッセージ、電話であなたに通知することができます。現在は9,000MAUと月間収益が30万円まで成長しています(記事公開は7月)

## Stock Alarmを始めようと思ったきっかけはなんですか？

Stock Alarmは自分のニーズから生まれたサービスで、チャートを見続ける時間が無駄だと思っていたのが始まりです。
どういうことかというと、エントリータイミングやイグジットタイミングを待っているのに多くの時間を費やしていることに気が付きました。

![stockalarm__home.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/705937/d73d4f71-1bca-21aa-b31d-69cbe674b714.png)

そのため株式XYZの価格が目標を上回ったor下回った時に単純に通知（電話、メッセージ、メール）するサービスが必要でした。

MVPを制作後には多くのトレーダーに気に入られ、収益化できると確信しました。そして多くのニュースや技術、感情などに基づく複雑なトリガータイプに対するリクエストが寄せられました。
私たちがフォーカスしたのは、複雑さを隠す直観的なUIでの取引ツールを作成することにしました。


## 初期のバージョンはどのようなものでしたか？

大企業でエンジニアとして働きつつ、最初の4か月間は夕方と週末を費やしてStock AlarmのMVPを作りました。
MVPの検証ゴールとしては、個人のニーズを超えた製品になっているのかを確認することでした。


できるだけ時間を無駄にしないために、**収益化やスケール方法などはあまり考えず、高品質なコア機能の開発に注力しました。**これはシンプルに価格に基づいてアラートを設定するだけの機能でした。

私たちのコアな仮説を検証するために他の機能をそぎ落としました。そして実際にアラートの必要性が存在していたことを確認しました。
無料版のニーズを把握した後、**本当にお金を払うに値する十分な強さのニーズ**があるか確認したいと思いました。

有料ユーザーは月を跨ぐごとに70～80％の維持率で、有料への自然な転換も見られましたことで、お金を払うに値するニーズがあると感じました。

私たちはそこからリスクを取り、よりリッチな機能開発や顧客へのリーチ、カスタマーサクセス、エンジニアリングへの投資を決めました。

Stripe Atlasで会社を設立し、個人では数千ドルを投資しただけでしたが、GoogleがGoogle Startupsを通じてGCPの1000万円分のクレジットを提供してもらいました。


## このサービスの技術スタックはなんですか？

バックエンドはFirebaseで組まれており、70個程度のCloud Functionsが動いています。
webアプリはReact.jsを使い、iOSはSwift、クロスプラットフォームでサブスクリプションの管理をするためのRevenueCat、別のVMで動いている検索用のElastic Searchです。

アラートには、Twilioを使い通話とテキストメッセージを実現しています。メールはSendinblueを使用しています。
ウェブのエラー管理はSentryで、問題が発生した時にはslackに通知されるようにしています。
Github Actionsも使っておりテストなどを実行しています。
**できることなら何でも自動化することにしています。**


技術周りで一番課題だったところは、必要に応じて数千のアラートをサポートすることでした。
私たちは毎分10,000＋の監視項目の更新しつづけ、アラートが正常に動作するためにCloud Functionsを最適化し続けました。

そしてandroid版の作成計画も少しづつ進んでいます。

## どのようにしてユーザーを獲得し、成長させましたか？

まずProduct Huntに出しましたが、アクセスが急増はしたが登録者はいませんでした。

60％はiOSのアップストアの検索などから自然に入ってきます。その他の40%は、様々な場所からで、広告、インスタのインフルエンサープロモーションやgoogle検索、そして口コミです。
成功した事例は、金融に強いインスタグラムのインフルエンサーにプロダクトのプロモーションを頼むことでした。

**また3か月ごとにユーザーにアンケートを実施し、
「製品についてどう思っているか」「必要な機能はないか」などを聞いてデータを集めました。**

Stock Alarmの公式Twitterアカウントを開設し、既存の株式のデータから得た考察を無料でつぶやいています。もちろんこれも自動です。
このボットは、1時間ごとに最新のニュース速報や、次の日と翌週の決算日の会社情報をつぶやいています。このtwitterによって、毎日5~15人のフォロワーが増え、さらに数人がプロダクトに登録してくれます。

ユーザーには、毎月新規の機能などを書いたニュースレターを送信してユーザーと交流を図っています。iOSでは、メニューから新規機能のリクエスト画面に飛べるようになっています。

このようにソーシャルに力を入れ始めてから、500ユーザーしかいなかったサービスが、今では9,000MAUまで伸びました。


## ビジネスモデルはなんですか？そして収益をどのように使いましたか？

ビジネスモデルはフリーミアムでの複数価格でのサブスクリプションモデルです。
最初は無料版と$4.99の1つのプランからスタートしました。
フリープランでは、ユーザーは1つの株銘柄にアラートを仕掛けることができますが、有料のプランはユーザーは無制限にアラートを設定することができます。

アラートで使用している電話通知が成長につれてコストが増加していき、その問題に直面しました。加えて、複雑なトリガーのいくつかは、単純な下限/上限値のトリガーよりもコストが高く、とても短いスパンで実行されていました。

以前はこのようなモデルでした。

- フリープラン：1つの株銘柄に3つの単純な条件でアラートが設定できる。
- プレミアプラン($4.99)：無制限の株銘柄に無制限の条件でアラートが設定できる。

しかし、私たちは複数プランを用意することにしました。それがこちらです

- フリー：1株銘柄に3つ単純な条件でアラート設定できる。
- ブロンズ($4.99)：5株銘柄に無制限な単純な条件、2つプレミアな条件でアラート設定できる。
- シルバー（$9.99）：10株銘柄に無制限な単純な条件、5つプレミア条件でアラート設定できる。テキストメッセージに対応
- ゴールド（$19.99）：無制限銘柄に無制限な単純な条件、無制限のプレミア条件でアラート設定できる。加えて、電話アラート＋テキストメッセージに対応、感情分析アラート機能

**この複数プランにしたところ、加入者などは変わらないままで、1か月以内にMRRを2倍にすることができました。**

![コメント 2020-09-08 110101.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/705937/b31c084f-8be4-b5e6-edb9-b419f2cf3785.png)


私たちの決済周りは、すべてのサブスクリプションを簡単に管理するために、Revenue Catを使っており、支払いには、StripeとAppleのサブスクシステムで構成されています。
Revenue Catは任意のプランへのユーザーのアクセスを簡単に許可できるようになり、将来的には紹介などでも使えそうだと思っています。

費用のほとんどは、メッセージアラートと通話アラートの使用量から支払Twilioの費用が大半です。
Stripe AtlasとGoogle Cloudの間のプロモーションを通じて受け取った10万ドルのGoogle Cloudクレジットのおかげで、サーバー使用のコストを打ち消すことができています。
これまで大体収益の20-30％が費用となっていますが、もう少しサーバー側の最適化を進めれば減る見込みです。

Saasをしたい人に言いたいのは、**複数プランを追加**したほうが良いってことです。
特に初心者～上級者まで使用できて、両方に対応するべき場合があるときです。
また月額ではなく、年間割引でサブスクリプションを追加することも検討するべきです。
ARR（年間収益）が大幅に上がり安定的になります。


## 将来の目標はなんですか？

カスタマーインタビューとアラートに設定されたデータを分析したところ、私たちのユーザーベースはミレニアル世代の個人投資家でした。

私たちはウォールストリートで長い間独占されてきた金融ツールの民主化を進め、サポートしていこうとしています。
Stock Alarmは、競争的な場を狙っているため、Bloombergにアクセスできなくても、市場のイベントに応じてアラートを受け取ることができます。
そしてアラートに加えて
テクニカルインジケーター（RSI、MACD、ボリンジャーバンドなど）について学びそれをすぐ実践できることが重要です。
知識とツールのギャップを埋めるために、エネルギーの大部分をトリガーの教育ページなどに投資し、アラートと実際の取引とリンクさせています。

これにより、ボタンを押すだけで誰でも簡単に自分の取引をプログラムでできるようにすることです。

## これまでの最大の課題と克服した障害はなんですか？

プロダクトを構築しているとき、すぐに利用でき、常に更新される信頼性の高い株式市場のデータを取得するには、かなりの費用がかかりました。毎分10,000以上の相場を更新しており、そのデータソースを維持する必要がありました。

過去1か月分くらいの信頼できるデータソースを探していましたが、その時の予算と条件を満たすデータソースは見つけられませんでした。また、データを取得しようとすると、特別な契約を申請する必要もありました。
現在はNASDAQから長時間データのUTP承認（年間料金+ 1回限りの料金）で取得中です


## もし1から始めるとするとどうしますか？

技術的ですが、バックエンドはTypeScriptで構築します。JavaScriptを使用する際には可能な限りTSを使用することを強く推奨します。

私たちのユニットテストが救ってくれた回数は数え切れません。コミットとデプロイの度にGithub Actionsでlinterとユニットテストを実行しています。


## 特に役立つ情報やアドバイスはありますか？

再度いいますが、特に**多様なユーザー層を持っているサービスは複数の価格設定を追加**することをお勧めします。
私たちで言えば、初心者トレーダーはテクニカルや感情に基づく複雑なアラートを必要とせず、その代わりに上限・下限値に頼っています。
これは上級者トレーダーには高度な機能を提供しながらも、低価格帯でもビジネスを維持していけることを表しています。
なので複数プランを用意することで、**それぞれのユーザーが最終的に自分に合ったプランを選択できるので収益は増加しました。**

**顧客と会話できるようにしておきましょう。**
あなたの情熱的な顧客は、あなたに話しかけ、提案を与え、製品自体をよりよくしたいと思ってくれています。

もし自分ひとりではなく、誰かと一緒に作業をしている場合は、**毎週会議を開いて、次の週に向けて優先度を再設定しましょう。**
これにより全員の認識を揃え、軌道に乗せることができます。また市場の変化に備えてプロダクトをピボットすることも可能になります。

**あなたとそのパートナーたちが毎日プロダクトを触っていることを確認してください。**
チームメンバー全員が取引をするためにStock Alarmを使っています。これにより、ユーザーと同じページにアクセスし、見逃してたであろう問題に気づくことができます。


## 個人開発者にアドバイスはありますか？

**オリジナルであることを気にするより、最高であることを気にしましょう**
Stock Alarmはニッチな市場で、独占的ではなかったが、最高のプロダクト提供しています。
これにより、投資家がどのツールを使用する化決定する際に大きなチャンスが得られるはずです。

**早く、頻繁にリリースしましょう。**
競合の製品は「完璧」にできるまで待つ傾向があります。その問題は、「完璧」さは主観であり、あなたにとっては完璧でも、ユーザーにとっては完璧ではないかもしれないです。なので**早くリリースし、問題を発見し修正を行うサイクルを成功するまで繰り返す**必要があります。


**ユーザーに耳を傾けましょう。短いスパンでアンケートなどを取りましょう。** 
ユーザーが何を望んでいて、今プロダクトに何が欠けているのかを見つけます。もし肯定的でも否定的でも、回答するユーザーは最もそのプロダクトに情熱的なユーザーであり、あなたの最大の資産です。

良い開発者ライフを！


### その他


最後までお読みくださりありがとうございました。Twitterでは、Qiitaに書かない海外のマーケティング事例や個人開発のアイデアなどもツイートしているので、よかったらフォローお願いします

- [きりしま@個人開発](https://twitter.com/kirishima_app)


[こちら](https://qiita.com/__shinji__/items/053380d981fa26c4c092)を翻訳記事の参考にさせていただきました。ありがとうございました。