PostHog: プロダクト分析からセッションリプレイ・フィーチャーフラグまで全部入りのオープンソース開発者プラットフォーム

タグ PostHogプロダクト分析セッションリプレイフィーチャーフラグA/BテストオープンソースセルフホストDjangocolumnコラムlinuxLinuxwindowsWindowsGitHubposthog

PostHog: プロダクト分析からセッションリプレイ・フィーチャーフラグまで全部入りのオープンソース開発者プラットフォーム

ひとことでいうと

PostHog(ポストホッグ)は、アプリやウェブサービスの「ユーザーが何をしているか」を調べるためのツールをひとつにまとめたオープンソースのプラットフォームです。アクセス解析・ユーザー操作の録画・機能の出し分け・A/B テスト・アンケートなど、プロダクト開発で必要になる機能がひとそろいになっています。インターネット上で使えるクラウド版と、自社サーバーで動かせるセルフホスト版の両方があり、データを社外に出したくないチームにも対応しています。開発者だけでなく、プロダクトマネージャーやビジネス担当者も使いやすいよう、グラフやダッシュボードが充実しています。

こんな人におすすめ

1. 複数のツールをひとつにまとめたいプロダクトチーム

アクセス解析・セッション録画・A/B テストをそれぞれ別のサービスで管理していると、データがバラバラになりがちです。PostHog なら、これらをひとつのダッシュボードで確認できます。「どのページで離脱が多いか」を分析してから、そのユーザーの実際の操作を録画で確認し、改善策を A/B テストで検証する、という一連の流れをツールを切り替えずに行えます。

2. 無料で本格的な分析を始めたいスタートアップや個人開発者

PostHog Cloud(クラウド版)は、月 100 万イベント・5,000 セッション録画・100 万フィーチャーフラグリクエスト・10 万件の例外・1,500 件のアンケート回答まで無料で使えます。クレジットカードも不要なので、アイデアを試す段階から本格的なデータ収集が始められます。

3. データを自社で管理したい企業・プライバシー重視のチーム

GDPR(EU の個人情報保護規則)などの規制や社内セキュリティポリシーで、ユーザーデータを外部サービスに預けられない組織には、セルフホスト版が向いています。自社の Linux サーバーに Docker(仮想的な環境を作るソフトウェア)でインストールすれば、データが外部に出ることなく PostHog のすべての機能を使えます。

インストール・使い方

PostHog は Django(Python 製のウェブフレームワーク)と React(JavaScript 製の画面表示ライブラリ)を組み合わせた大規模なアプリです。複数のサービスが連携して動く仕組みのため、まずはクラウド版から試すのが最もかんたんです。

Step 1: PostHog Cloud に登録する(最速・おすすめ)

ターミナル(文字でコンピューターに命令を送る画面)を使わずに、ブラウザだけで始められます。

  • US 版(https://us.posthog.com/signup)または EU 版(https://eu.posthog.com/signup)にアクセスしてサインアップしてください。
  • メールアドレスだけで登録でき、クレジットカードは不要です。
  • 登録後すぐにダッシュボードが使えるようになります。

Step 2: 自分のアプリにイベントを送る(Python の例)

「イベント」とは、ユーザーがボタンを押したり動画を再生したりする操作のことです。PostHog の SDK(アプリに組み込むためのライブラリ)をインストールして、イベントを送信できるようにします。

まずターミナルで以下を実行してライブラリをインストールします(コピー&ペーストで大丈夫です)。

pip install posthog

次に、Python のコードに以下を追加します。<your-project-api-key> の部分は PostHog のダッシュボードで確認できる API キーに置き換えてください。

from posthog import Posthog

posthog = Posthog(
    project_api_key='<your-project-api-key>',
    host='https://us.posthog.com'  # セルフホストの場合は自分のサーバーの URL
)

# ユーザーの操作(イベント)を送信する
posthog.capture(
    'distinct_id_of_user',      # ユーザーを識別する ID
    event='movie_played',        # イベント名(自由に決めてよい)
    properties={
        'movie_id': 'abc123',   # イベントに付ける追加情報
        'category': 'comedy'
    }
)

このコードを実行すると、PostHog のダッシュボード上にイベントが記録されます。Python のほか、JavaScript・Next.js・React・React Native・Android・iOS・Flutter・Node.js・PHP・Ruby・Go・.NET など、多くの言語やフレームワーク向けの公式 SDK も提供されています。

Step 3: セルフホスト版を Linux サーバーで動かす

自社サーバーで動かす場合は、以下の 1 コマンドで全スタックが自動セットアップされます。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/posthog/posthog/HEAD/bin/deploy-hobby)"

このコマンドは Docker Compose(複数のサービスをまとめて動かす仕組み)を使い、データベースやキャッシュなどの関連サービスをまとめて起動します。完了後は http://<サーバーのIPアドレス>:8000 にアクセスして初期設定を行います。

動かしてみた

Docker 環境でリポジトリ(ソースコードの置き場)を確認したところ、Python 3.12.13 が正常に動作することを確認しました。リポジトリは eecliposthogfrontendservices など 19 個以上のトップレベルディレクトリで構成されたモノレポ(複数のプロジェクトをひとつのリポジトリにまとめる設計)です。

posthog/ ディレクトリの中には Django アプリケーションのコアコード(asgi.pywsgi.pycelery.pyviews.pyschema.py など)が確認できます。また devenv/ ディレクトリには開発環境の構築に使う設定ファイルが含まれており、リポジトリのルートには Dockerfile も用意されています。セルフホスト版のデプロイには Docker Compose が使われており、ClickHouse・PostgreSQL・Redis・Kafka がバックエンドとして動作します。

セルフホスト版を試す前に確認しておきたいシステム要件をまとめます。

項目最低スペック
OSLinux(Ubuntu 22.04 LTS 推奨)
メモリ4GB 以上
ディスク20GB 以上
必要ソフトウェアDocker・Docker Compose(スクリプトが自動インストール)

月間 10 万イベント規模まではホビーデプロイ(個人・小規模向けのシンプルな構成)で対応できます。それを超えるトラフィックには PostHog Cloud の利用が推奨されています。

ブラウザで試す・デモについて

PostHog は PostgreSQL・ClickHouse・Redis・Kafka・Django・React フロントエンドを組み合わせた複合スタックのため、ブラウザ内だけで動くかんたんなデモとして再現するのは難しい構成になっています。まずは公式の PostHog Cloud(US 版または EU 版)に無料登録して試してみるのがおすすめです。より本格的に試したい場合は、Linux サーバーと Docker を用意してセルフホストのデプロイにチャレンジしてみてください。

はじめの一歩:実践のコツ

すぐに動かすために押さえておきたいポイントをまとめます。

  • 最初は Cloud 版から始める:セルフホストはサーバーや Docker の知識が必要です。まず無料の Cloud 版でどんな機能があるかを体験してから、セルフホストへ移行するか判断しましょう。
  • API キーはダッシュボードの「Project Settings」で確認:SDK を使うには API キーが必要です。ダッシュボードにログインし「Project Settings」を開くと表示されます。
  • イベント名は英語・スネークケースで統一movie_playedpage_viewed のように、単語をアンダースコアでつなぐ形式にすると、後からフィルタリングしやすくなります。
  • セルフホストは Linux 環境が必須:デプロイスクリプトは Linux 専用です。Windows・macOS での直接インストールはサポートされていません。
  • OSS 版のサポートはコミュニティ頼り:公式カスタマーサポートは Cloud 版向けです。セルフホストで困ったときは、公式ドキュメントとコミュニティフォーラムを活用しましょう。
  • SDK は自分の言語に合わせて選ぶ:Python・JavaScript・Go・PHP・Ruby など多数の言語に対応しています。公式ドキュメントの「SDKs」ページから自分の言語を選んでください。

用語とポイント解説

プロダクトアナリティクス(Product Analytics) アプリやサービスのユーザー行動をデータで分析する手法のことです。かんたんに言うと「誰がどこで何をしたか」をグラフや数値で見える化する機能です。ファネル(購買・登録などの一連のステップの追跡)・リテンション(継続利用率)・コホート(条件でグループ分けしたユーザー集合)など多様な分析に対応しています。

セッションリプレイ(Session Replay) ユーザーが実際にどのように画面を操作したかを動画として録画・再生できる機能です。かんたんに言うと「ユーザーの手元をそのまま見せてもらう」ようなイメージです。どこでつまずいているか、どこを繰り返しクリックしているかが一目でわかるため、使い勝手の改善に直結します。

フィーチャーフラグ(Feature Flag) コードを再デプロイ(本番環境へ反映すること)しなくても、特定のユーザーや割合に対して機能をオン・オフできる仕組みです。かんたんに言うと「特定の人だけに新機能を先に見せるスイッチ」です。新機能を段階的に公開したり、問題があれば即座に元へ戻したりできます。

ClickHouse(クリックハウス) 大量のデータを高速に集計するための「カラム型データベース(列単位でデータを保存する形式)」です。かんたんに言うと「何千万件ものログでも一瞬で集計できる超高速な表計算エンジンの裏側」です。PostHog の分析クエリを支えるコアコンポーネントとして使われています。

モノレポ(Monorepo) 複数のプロジェクトやサービスのソースコードを、ひとつのリポジトリにまとめて管理する設計方式です。かんたんに言うと「ひとつの引き出しに複数のプロジェクトの道具がまとまっている」状態です。PostHog では 19 個以上のトップレベルディレクトリが単一のリポジトリで管理されています。

CDP(Customer Data Platform / カスタマーデータプラットフォーム) 複数のサービスやツールからユーザーデータを集め、一元管理・配信するプラットフォームです。かんたんに言うと「バラバラに散らばった顧客情報をひとつにまとめる司令塔」のイメージです。PostHog の CDP 機能では、リアルタイムのフィルタリング・変換・25 以上のツールへのエクスポートができます。

A/B テスト ふたつ(またはそれ以上)のバージョンを一部のユーザーに見せて、どちらが効果的かをデータで比較する実験手法です。かんたんに言うと「A と B どっちが良いか、実際のユーザーで試してみる」手法です。PostHog ではゴール指標を設定して統計的に効果を測定でき、ノーコードでも設定できます。

LLM アナリティクス ChatGPT のような大規模言語モデル(LLM)を使ったアプリのパフォーマンスを計測する機能です。かんたんに言うと「AI がどれくらいのコストと時間で答えを返しているか」をダッシュボードで監視できる機能です。トークン(API の利用単位)消費量・レイテンシ(応答速度)・エラー率を PostHog 上で一元管理できます。

Docker Compose(ドッカーコンポーズ) 複数の Docker コンテナ(仮想的に分離されたアプリの実行環境)をまとめて起動・管理するツールです。かんたんに言うと「複数のアプリを同時にまとめて立ち上げるための段取り表」のようなものです。PostHog のセルフホストでは、このツールがデータベースやキャッシュを含む全サービスを自動で動かします。

活用例

  • SaaS プロダクトの離脱分析と改善:ファネル分析(購買・登録などの一連のステップを追跡する手法)でどのステップでユーザーが離れているかを特定し、セッションリプレイで実際の操作を動画で確認して UX 改善に役立てる
  • フィーチャーフラグで安全な新機能リリース:新機能を社内ユーザー → ベータユーザー → 全ユーザーの順に段階的に公開し、問題が起きたらフラグをオフにしてすぐにロールバック(元の状態に戻すこと)できる
  • LLM アプリのコスト・品質管理:GPT-4 などの AI API を使ったアプリで、トークン消費量・応答速度・エラー率を PostHog で一元管理し、コスト最適化とサービス品質の向上を同時に進める
  • スタートアップの初期グロース計測:無料枠の範囲内でユーザー登録からアクティブ化・課金転換までのコンバージョン(目標達成率)を追跡し、プロダクトマーケットフィットの検証に活かす
  • 社内ツールの利用状況モニタリング:自社開発の業務システムや管理画面に PostHog を組み込み、どの機能がよく使われているか・どこで操作に詰まるかを把握して継続的な改善につなげる
  • ノーコードのユーザーアンケート自動化:サーベイ機能で特定のページや操作後に自動でアンケートを表示し、定量データ(数値)と定性データ(意見・感想)を組み合わせた分析を行う

PostHog は、複数のプロダクト分析ツールにかかるコストと手間をひとつにまとめ、チームが「データに基づいた意思決定」をしやすくする強力なプラットフォームです。MIT ライセンス(ee ディレクトリを除く)で公開されており、クラウド版の無料枠も十分な量が用意されています。ぜひ SaaS プロダクトのユーザー行動分析や、フィーチャーフラグを使った安全な新機能の段階リリースなどに活用してみてはいかがでしょうか。