Leina ブログ

AI で PostHog をクエリして結果を確認する方法

チャットで Leina を通じて PostHog のイベントデータをクエリし、よくある指標の落とし穴を避け、日次の値、時間境界、期間合計をソースデータと照合します。

チームチャットで AI エージェントに「今週の新機能の使用状況をチャートにして」と頼むのは簡単に聞こえます。しかし、分析クエリには微妙な誤りがつきものです。総イベントクリック数とユニークアクティブユーザーを混同したり、チームのローカルタイムゾーンではなく UTC で日をバケット化したり、今日の不完全なデータの半分を突然の「使用量の急落」として扱ったりすることです。

Leina を使えば、Slack やチームチャットから直接 PostHog の分析をクエリできます。出力を信頼できるものにするには、視覚的なチャートと一緒に基になる日次データを求め、結果をプレゼンテーションや週次レビューに載せる前に PostHog ダッシュボードと照合してください。

チームがすでにレポートで使用しているイベントから始めれば、比較できるソースが用意できます。

月曜の4イベントと火曜の3イベントの例示的なカウントの合計は7。ユニークユーザーには別途カウントが必要

クエリの前に指標パラメータを定義する

「この機能はどれくらい使われた?」のような曖昧なリクエストは、曖昧なチャートにつながります。プロンプトを出す前に、以下の必須クエリパラメータを定義してください。

パラメータ指定する内容重要な理由
プロジェクト接続された PostHog プロジェクト名データソースを特定します。本番とステージングでは別々のフィルタも必要になる場合があります。
イベント名正確なイベント識別子(例: billing_upgrade_clicked)非推奨または綴りが間違ったカスタムイベントをクエリするのを避けます。
測定総発生回数 対 ユニークユーザー発生回数はイベント量を測定し、ユニークユーザーはそれをトリガーした人数を数えます。それが導入を示すかどうかはイベントによります。
日付範囲とタイムゾーン明示的な開始/終了タイムスタンプとレポート用タイムゾーン(例: America/Los_Angeles)真夜中付近のイベントが隣接する日にずれるのを防ぎます。
フィルタ環境、テストアカウント、または特定のユーザープロパティどのレコードを含めるかを定義します。実際のイベントプロパティに一致するフィルタを使用してください。
不完全な日今日を除外するか、不完全としてフラグを立てる不完全な日が憂慮すべき急落のように見えるのを防ぎます。

視覚的なチャートと一緒に表形式の値を求める

チャットでクエリするときは、常に 日次サマリーテーブルとチャートの両方 を求めてください。視覚的なチャートは共有しやすいですが、計算を検証できるのはデータテーブルです。

接続されたチャットでこのプロンプトをコピーして調整してください。

接続された PostHog プロジェクト [project] で、[start timestamp] から [end timestamp] までの [event_name] の [総発生回数 / ユニークユーザー] を計算してください。

  • タイムゾーン: 日次境界には [timezone] を使用してください。
  • フィルタ: [例: environment = production、内部スタッフを除外] を適用してください。
  • 形式: 日次データテーブルと視覚的な棒グラフの両方を返してください。
  • メタデータ: プロジェクト、測定、レポート期間、正確なフィルタ、取得タイムスタンプを記載してください。可能であればクエリまたはソースリンクを含めてください。そうでなければ、私が再現できる条件を提供してください。
  • 不完全な日付: レポート用タイムゾーンでまだ完了していない日付にマークを付けてください。
  • 取得の欠落: 欠落または不完全なデータは、確認されたゼロ件とは別に報告してください。

読み取り操作のみを実行してください。

Connections を通じて対象の PostHog プロジェクトを読み取れるアカウントを接続してください。Slack を使用する場合、Slack ガイド (English) でチャットの設定を説明しています。PostHog の インサイトガイド では、さまざまな質問にどの分析タイプが適しているかを説明しています。

まず1つの日付を確認し、次に全期間を確認する

チャートを経営層向けの更新に貼り付ける前に、次の2つのチェックで数値を PostHog と照合してください。

1. PostHog で完了した1つの日付をスポットチェックする

ブラウザで PostHog Insights を開き、完了した1日(先週の水曜日など)について同じイベントとフィルタを設定し、エージェントのテーブルとカウントを比較します。一致すれば有用な最初のチェックです。ただし、クエリ全体を検証するものではありません。異なるフィルタでもある1日で同じカウントが得られることがあります。次に、開始と終了の境界付近のレコードを含め、レポート期間全体を比較し、両方のクエリが同じプロジェクト、測定、タイムゾーン、フィルタを使用していることを確認してください。

2. 合計とユニークユーザーの計算を検証する

  • 総発生回数は加算可能です: 総イベント量をクエリした場合、重複なく全期間をカバーする日次行は、両方のクエリが同じスコープと基になるデータを使用していれば、期間合計に合計されるはずです。
  • ユニークユーザーは加算できません: 月曜と火曜の両方でアクティブなユーザーは、月曜の日次バケットで1回、火曜の日次バケットで1回カウントされますが、複数日の合計では 1回 だけカウントされます。

以下の値は例示です。

日イベント発生回数(加算可能)異なるユーザー(加算不可)
月曜4イベント2ユーザー(Alice、Bob)
火曜3イベント2ユーザー(Alice、Charlie)
2日間の合計7イベント(4 + 3)3ユーザー(Alice、Bob、Charlie)

エージェントが日次のユニークユーザー数を単純に足し合わせて複数日のユニークユーザー合計を報告した場合、その計算は誤っています。

数値が一致しない場合の簡単なトラブルシューティング

チャットの数値が PostHog UI で表示されるものと一致しない場合、次のチェックで差異を絞り込んでください。

症状確認すべき根本原因
すべての日次カウントが一貫して低いPostHog では内部チームのフィルタリングやボット除外が有効になっているのに、クエリでは省略されている(またはその逆)かどうかを確認してください。
スパイクと谷が1日ずれている各クエリが使用するタイムゾーンと日の境界を比較してください。
最終日の急激な落ち込みクエリ実行時にその日が完了していたかどうかを確認してください。完了していた場合は、部分的なデータと決めつけずに変化を調査してください。
範囲の途中で日付が欠落しているソースがゼロ件のイベントを確認しているのか、クエリが不完全なデータを返したのかを確認してください。
先週と比べて過去の数値がずれている遅延到着イベント、バックフィル、またはフィルタやソースレコードの変更がないか確認してください。

PostHog チャートレビューワークシート を使用して、クエリパラメータと解決メモを記録できます。

観測された指標と仮説を分けておく

たとえば、架空の数値を使って、レポートではこれらの記述を分けることができます。

  • 観測された変化: 「チェックアウトボタンのクリック数が月曜から木曜にかけて34%増加しました。」
  • 仮説: 「火曜の v2.4 モバイルアプリリリースが関係している可能性があります。影響を受けたユーザーを他のセグメントと比較し、トラッキングの変更がないか確認してください。その比較だけでは因果関係を立証できません。」

クエリが確認できたら、Leina にスケジュールで実行するよう依頼できます。タイムゾーンと配信先を指定し、最初のスケジュール結果を確認してください。インストルメンテーションやフィルタが変更されたらクエリを再確認してください。定期的な実行は検証の代わりにはなりません。

PostHog には独自の AI 分析機能 もあります。チームが働く場所に合ったワークフローを選び、共有するチャートにはソース条件を必ず添えてください。