ユーザの退会理由をあれこれ考えない

ユーザの退会理由をあれこれ考えない

ユーザの退会理由をあれこれ考えない

退会ユーザを追いかけると迷走する/自分ならどういう時に退会するかを考える/「欲しいもの」と「使いたくないもの」は表裏一体

どうも、TAKUYAです。InkdropというMarkdownエディタを一人で作っています。先日、総売上が400万円を超えました。いつもありがとうございます。

継続課金モデルでサービスを運営していると必ず直面するのが、課金ユーザの退会です。一般的に継続課金型のチャーンレートは6%前後で高いと言われています。チャーンレート(Churn Rate)とは退会率のことです。

チャーンレートはビジネスの継続性に関わる重要な指標です。このチャーンレートが成長率を上回らないように気をつける必要があります。個人開発において、どうすればこのチャーンレートを低く抑えることができるでしょうか。本稿で自分の考えを書きたいと思います。

Inkdrop

Inkdropも未成熟の頃はチャーンレートがとても低く安定していました。でも最近では上記と似たようなレートを示すようになりました。やはり退会する人が増えると焦りを感じたり不安になります。そしてなぜ退会していくのか、原因をあれこれ考えてしまうようになりました。

しばらくして、それは全くの時間の無駄だと気づきました。答えは初心にありました。わざわざニッチの領域を選び、個人でモノを作って売るのはなぜかと言えば、それが好きだからに他なりません。自分が欲しいものを作るという前提に立った時、退会していく人をやみくもに追うのはコンセプトから遠ざかるような行動です。

例えば、アカウントの削除ページに退会理由のアンケートを設置することもやろうと思えば出来ます。じゃあそれを聞いて、ユーザの不満を全て解決すれば済む問題なのでしょうか? — いいえ。これは以前書いた「実装しない」機能の決め方にも通ずる話です:

退会していくユーザの意見をすべて取り入れることは、結局のところ機能要望を手当たり次第に取り入れることと同義です。こだわりやシンプルさは失われて、プログラムは不必要に複雑化します。課金ユーザの減少を焦るあまり本来のコンセプトを忘れるのは本末転倒です。

短期的な目線で捉えすぎている可能性もあります。アプリの伸び率には波があるものです。退会率も同じく、一時的に高まることは充分にありえます。それは株価の変動に似ています。そういえばAppleも最近株価が大きく下がりましたが、投資家のウォーレン・バフェットは逆に買い増ししていました。この事は、中長期的目線に立つことがいかに重要かを教えてくれます。

悲しむ犬さん

先述の通り、退会ユーザから原因を探るのはやめたほうが良さそうです。ではどうすれば良いのかというと、あくまで「欲しいものを作る」という前提で考えます。すなわち、自分のアプリを「使いたくないものにしない」ように気をつけるという事です。

自分の経験上から、使いたくないアプリとはどんなものか、どういう体験をすると利用をやめるのかについて列挙します。そして、それらに該当しないように注意を払います。例えば、僕なら以下のようなアプリは使いたくありません。

  • しょっちゅう仕様を変える — UIが頻繁に変わったり、ショートカットキーなどの挙動が変わったら嫌です。せっかく慣れてきたのにまた合わせなくてはなりません。ストレスです。
  • バージョンアップが頻繁すぎる — あまりに頻繁に新バージョンの通知が出てくるとうんざりします。アップデート作業を何度もしたくありません。
  • 致命的なバグが混入される — 以前のバージョンでは問題なかったのに、アップデートして上手く動かなくなったら嫌です。レグレッションは大きな失望を買います。
  • コア機能の不満点がずっと解消されない — 中心的な機能のパフォーマンスに問題があったり不具合があったとします。それらが延々と解消されなければ他への乗り換えを検討します。

ポイントは、これらは開発初期には気にしなくても許される問題だった事です。Inkdropのユーザの増加やアプリの成熟に従って、変更点に伴う影響範囲を考慮する重要性が高まりました。どうやら僕は、成長期の開発戦略を立て直す必要があることが分かりました。すなわち:

  • 仕様変更は慎重に — 思いつきや見切り発車でほいほい変更しない。特にエディタの挙動。
  • 重要なバグ修正以外のバージョンアップは月イチぐらいに抑える — 改善点を早く届けたいという気持ちをグッとこらえる。もし必要ならベータ版の配信を検討する。
  • 動作確認はじっくり入念に — 変更箇所だけでなく周辺の機能にも気を配る。場合によっては数日〜数週間様子を見る。
  • コア機能の改善を最優先にする — ユーザは周辺の機能について言及する傾向があるが、それはコア機能がうまく動いている前提である事を忘れない。

こうやって考えると、思い当たる節がいくつか出てきました。僕は初期の頃のようにユーザのバグ報告をアテにする傾向がありました。そして手元での動作確認を怠ったために、致命的なバグを何度か混入してしまいました。そして大急ぎでアップデートを配信するという事を繰り返していました。これではユーザも落ち着いて利用できず、利用体験が損なわれてしまいます。

Inline HTMLの不安定さを長らく放置していたのも失敗の一つです。ノート中にHTMLを記述すると、たまにアプリ全体が反応しなくなる不具合がありました。自分はあまりInline HTMLを使わないので、この問題の深刻さを理解していませんでした。しかしそれはMarkdown標準の機能なので、不完全な実装で提供すべきではなかったのです。

自分ならどういう時に退会するかを考えて、それに該当しないように配慮する — これは自分にとってとても良い気づきでした。退会ユーザが出るたびにあれこれ考えて狼狽する必要はもうありません。

自分の想定した以外の退会要因には原則対処しません。キリが無いからです。誰かにとってのNGは、全員にとってのNGとは限りません。チャーンレートをゼロにするのは不可能です。自分が納得の行くものを作ってそれでもダメなら、それは単に合わなかっただけと判断できます。自分が喜ばせようとしている相手は、あくまで自分と似ている人たちです。それを常に念頭に置く必要があります。

大事なのは守備範囲をはっきりと決めて、それに集中することだと思います。その基準は自分中心で良い。なぜなら「欲しいもの」と「使いたくないもの」は表裏一体だからです。

あなたの個人開発の参考になれば幸いです。

Read more

Inkdrop v6 Canary版リリースしました — 新Markdownエディタやその他新機能盛り沢山

Inkdrop v6 Canary版リリースしました — 新Markdownエディタやその他新機能盛り沢山

Inkdrop v6.0.0 Canary版リリースしました — 新Markdownエディタやその他新機能盛り沢山 こんにちはTAKUYAです。 v6.0.0 の最初の Canary バージョンをリリースしました 😆✨ v6では、アプリのコア機能の改善がたくさん盛り込まれています! * リリースノート(英語): https://forum.inkdrop.app/t/inkdrop-desktop-v6-0-0-canary-1/5339 CodeMirror 6 ベースの新しいエディタ フローティングツールバー v5ではツールバーがエディタの上部に固定されており、使っていないときもスペースを占有していました。 v6では、テキストを選択したときだけ表示されるフローティングツールバーに変わりました。 GitHub Alerts 構文のサポート Alerts の構文が正しい色と左ボーダーでハイライトされるようになりました。 ネストされたアラートや引用にも対応しています。 また、アラートタイプの入力を支援する補完機能も追加されました。 スラッシュコマンド 空行で /

By Takuya Matsuyama
AIのお陰で最近辛かった個人開発がまた楽しくなった

AIのお陰で最近辛かった個人開発がまた楽しくなった

AIのお陰で最近辛かった個人開発がまた楽しくなった こんにちは、TAKUYAです。日本語ではお久しぶりです。僕はInkdropというプレーンテキストのMarkdownノートアプリを、デスクトップとモバイル向けにマルチプラットフォームで提供するSaaSとして、かれこれ9年にわたり開発運営しています。 最近、その開発にClaude Codeを導入しました。エージェンティックコーディングを可能にするCLIのAIツールです。 最初の試行は失敗に終わったものの、徐々に自分のワークフローに馴染ませることができました。そして先日、アプリ開発がまた「楽しい」と感じられるようになったのです。これは予想外でした。 本稿では、自分がエージェンティック・コーディングをワークフローに取り入れた方法と、それが個人開発への視点をどう変えたかを共有します。 * 翻訳元記事(英語): Agentic coding made programming fun again 自分のアプリに技術的負債が山ほどあった ご想像のとおり、9年も続くサービスをメンテするのは本当に大変です。 初期の頃は新機能の追加も簡単で

By Takuya Matsuyama
個人開発を7年以上続けて分かった技術選択のコツ

個人開発を7年以上続けて分かった技術選択のコツ

個人開発を7年以上続けて分かった技術選択のコツ InkdropというMarkdownノートアプリを作り続けて7年になる。 お陰さまでその売上でずっと生活できている。 これまで個人開発でどう継続していくかについて「ユーザの退会理由をあれこれ考えない」とか「アプリの売上目標を立てるのをやめました」とか、ビジネス面あるいはメンタル面からいろいろ書いてきた。 今回は、技術面にフォーカスして、どう継続して開発していくかについてシェアしたい。 TL;DR * 最初はとにかく最速でリリースする事を最優先する * 迷ったら「ときめく方」を選べ * 程よいところで切り上げて開発を進める * 使っているモジュールがdeprecatedされるなんてザラだと覚悟する * 古いから悪いとは限らない * シンプルにしていく * 老舗から継続の秘訣を学ぶ * 運ゲー要素は排除しきれない 最初はとにかく最速でリリースする事を目標に技術選定する 開発計画とビジネス計画は切っても切り離せない。 コーディングに傾倒するあまり完璧主義に陥って結局リリース出来ないまま頓挫してしまう個人開発者は多い

By Takuya Matsuyama
子育て中の個人開発者の一日

子育て中の個人開発者の一日

子育て中の個人開発者の一日 どうもTAKUYAです。 久しぶりに生活まわりの事を書きたい。自分はInkdropというMarkdownノートアプリを売って生きている。 子供も無事順調に成長しており、あと数ヶ月で3歳になるというところで、イヤイヤ期もやっと終わりが見えてきた。 生活パターンもなんとなく定着しつつあるので、ここで一旦どんなルーティンなのか書き出してみる。ちなみに当方今年で40歳。 平日の1日の流れ * 06:30 妻と子供起床、朝食 * 07:10–30 俺起床、朝食 * 07:40 布団を畳んで子供を着替えさせる。妻はその間に化粧や通勤の準備 * 08:00 ストレッチと軽い筋トレ(腕立て50回、スクワット100回) * 08:10 妻と子供を見送る。15分前後瞑想 * 08:30 散歩 * 09:00 作業開始(カフェまたは家) * 11:00 昼飯 * 12:00 ダラダラする * 12:30 作業再開(だいたい家)

By Takuya Matsuyama