本文へ移動
Telemetry
ドキュメントを見る
概念とSQLパターン更新日: 2026年7月28日Telemetry 編集チームと製品チームによるレビュー1 最小読み取り時間

コーディング エージェントでこのドキュメントを使用してください

Claude Code、Codex、Cursor、または別のコーディング エージェント用の集中プロンプト パックを開き、それをここで説明するワークフローに適応させます。

SQL コホート維持分析

Retention は、定義されたアクターが開始マイルストーン後に戻るかどうかを尋ねます。有用な保持クエリは、アクター、コホート イベント、適格なリターン アクティビティ、間隔、および観察ウィンドウを示します。 「毎週の保持」は、これら 5 つの選択肢が明確になるまではあいまいです。

コホート表とアクティビティ表を個別に作成する

WITH cohorts AS (
  SELECT
    account_id,
    date_trunc('week', MIN(timestamp_utc)) AS cohort_week
  FROM product_events
  WHERE event_name = 'activation_completed'
  GROUP BY account_id
),
activity AS (
  SELECT DISTINCT
    account_id,
    date_trunc('week', timestamp_utc) AS activity_week
  FROM product_events
  WHERE event_name IN ('query_completed', 'dashboard_viewed')
)
SELECT
  cohort_week,
  activity_week,
  COUNT(DISTINCT cohorts.account_id) AS retained_accounts
FROM cohorts
JOIN activity
  ON cohorts.account_id = activity.account_id
 AND activity.activity_week >= cohorts.cohort_week
GROUP BY cohort_week, activity_week
ORDER BY cohort_week, activity_week;

この結果により、コホートと活動週が保存されます。レポート レイヤーは、選択した SQL エンジンでサポートされている日付演算を確認した後、ギャップを第 0 週、第 1 週、およびそれ以降の期間に変換できます。中間の日付を表示しておくと、境界の間違いを見つけやすくなります。

分母を一度定義します

分母はコホート内の適格な俳優の数であり、その後のアクティビティ イベントを偶然生成した数ではありません。コホート サイズを個別に計算し、保持数に結合します。パーセンテージを保護する NULLIF、両方のカウントを出力に保存します。

最近のコホートには、より遅い間隔に到達する時間がありませんでした。それらのセルを保持ゼロとして扱うのではなく、不完全としてマークします。また、週 0 がアクティベーション自体を意味するのか、それともアクティベーション後の個別の復帰を意味するのかも決定します。

バックグラウンドのハートビートではなく、永続的な値を表すイベントを使用します。テスト アカウントと、制御されたフィールドを含む自動アクティビティを除外します。小さなフィクスチャを使用して、ID のマージ、イベントの重複、遅延到着、タイムゾーンの境界を検証します。

読む ファネル分析 マイルストーンの進歩のために、 時間バケット化 間隔ルールの場合、 DataFusion SQL リファレンス 別の SQL 方言からの日付計算を適応させる前に。

関連製品の機能

構造化イベント テーブルに対して読み取り専用 DataFusion SQL を実行し、結果を再利用します。

所有権と技術リファレンス

Telemetry 編集チームがこの説明を所有しています。製品チームは動作、例、境界をレビューします。

編集基準を見直す