本文へ移動
製品分析 SQL レシピ

SQL でサインアップからアクティベーションまでのファネルを構築する

サインアップ、オンボーディング、統合、最初の価値のマイルストーンを通じてユニーク ユーザーのコンバージョンを計算します。

中級者product_eventsレビュー済み 2026-07-27テスト済み アパッチ DataFusion 45.2.0

レビュー者 Telemetry 製品チーム に . SQL構文、必要なイベント項目、サンプル結果、クエリの利用上の制限を確認しました. このページのレビュー担当

質問に回答しました

新しいユーザーは最初の値に到達する前にどこから離れてしまうのでしょうか?

ファネルは、すべてのステップに動作の定義がある場合にのみ役立ちます。このクエリはユーザーごとに 1 行を作成し、マイルストーンの順序を適用し、サインアップと前のステップからのコンバージョンを計算します。

イベントスキーマ

クエリが期待するフィールド

フィールド種類なぜ存在するのか
timestamp_utcTimestamp製品イベントが発生したとき。
user_idUtf8安定したユーザー識別子。
event_nameUtf8安定した snake_case マイルストーン名。
sourceUtf8取得またはキャンペーンのソース。
DataFusion SQL

クエリをコピーする

sql
WITH events AS (
  SELECT user_id, event_name, timestamp_utc
  FROM product_events
  WHERE timestamp_utc >= now() - INTERVAL '30 days'
),
signups AS (
  SELECT user_id, MIN(timestamp_utc) AS signed_up_at
  FROM events WHERE event_name = 'signup_completed'
  GROUP BY user_id
),
onboarding AS (
  SELECT s.user_id, s.signed_up_at, MIN(e.timestamp_utc) AS onboarded_at
  FROM signups AS s
  LEFT JOIN events AS e ON e.user_id = s.user_id
    AND e.event_name = 'onboarding_completed'
    AND e.timestamp_utc >= s.signed_up_at
  GROUP BY s.user_id, s.signed_up_at
),
integrations AS (
  SELECT o.user_id, o.signed_up_at, o.onboarded_at,
    MIN(e.timestamp_utc) AS integrated_at
  FROM onboarding AS o
  LEFT JOIN events AS e ON e.user_id = o.user_id
    AND e.event_name = 'integration_connected'
    AND e.timestamp_utc >= o.onboarded_at
  GROUP BY o.user_id, o.signed_up_at, o.onboarded_at
),
user_funnel AS (
  SELECT i.user_id, i.signed_up_at, i.onboarded_at, i.integrated_at,
    MIN(e.timestamp_utc) AS activated_at
  FROM integrations AS i
  LEFT JOIN events AS e ON e.user_id = i.user_id
    AND e.event_name = 'first_value_completed'
    AND e.timestamp_utc >= i.integrated_at
  GROUP BY i.user_id, i.signed_up_at, i.onboarded_at, i.integrated_at
),
stage_counts AS (
  SELECT 1 AS step_order, 'Signed up' AS step, COUNT(signed_up_at) AS users
  FROM user_funnel
  UNION ALL
  SELECT 2, 'Onboarded', COUNT(onboarded_at) FROM user_funnel
  UNION ALL
  SELECT 3, 'Integrated', COUNT(integrated_at) FROM user_funnel
  UNION ALL
  SELECT 4, 'Activated', COUNT(activated_at) FROM user_funnel
)
SELECT
  step_order,
  step,
  users,
  100.0 * users
    / NULLIF(MAX(CASE WHEN step_order = 1 THEN users END) OVER (), 0)
    AS conversion_from_signup_pct,
  100.0 * users
    / NULLIF(LAG(users) OVER (ORDER BY step_order), 0)
    AS conversion_from_previous_pct
FROM stage_counts
ORDER BY step_order;

この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。

クエリ結果

サインアップからアクティベーションまでのファネル

最大の絶対損失はオンボーディング完了前に発生しますが、統合が後になっても依然として最も強力なボトルネックとなります。

step_orderstepusersconversion_from_signup_pctconversion_from_previous_pct
1Signed up8100—
2Onboarded67575
3Integrated45066.67
4Activated337.575

合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。

Signup-to-activation funnel: Build a signup-to-activation funnel in SQL 結果例からの合成 users 値の静的チャート
決定論的な出力例のインデックス可能な SVG。記事、ランブック、または出典を明示した設計レビューのためにダウンロードしてください。

例を再現する

サンプルデータをダウンロードする

JSON バンドルには、型付きイベント コントラクトが含まれています。 reproducible 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。

SQL の仕組み

  1. 1Each CTE selects the first milestone at or after the previous eligible stage, retaining one row per signed-up user.
  2. 2A missing or out-of-order milestone blocks all later steps. A later valid retry can advance the user, and duplicates count once.
  3. 3このクエリでは、サインアップからのコンバージョンと前のステップからのコンバージョンの両方がレポートされるため、全体的なパフォーマンスと最大の移行損失が同時に表示されます。
  4. 4イベント名は、ユーザーがステップを達成したことを証明しないページビューやボタンのクリックではなく、完了したマイルストーンを表す必要があります。

確認するエッジケース

  • サインアップ時間に基づいてコホート ウィンドウを使用し、最近のサインアップがアクティブになるまで十分な時間を確保します。
  • 遅れて到着するイベントにより、ユーザーが最近計算された目標到達プロセス内で一時的に後方に移動する可能性があります。
  • 合計ファネルが十分なボリュームになった後でのみ、取得ソースごとにセグメント化します。

推奨されるダッシュボード

  • ファネルバー: ユーザーごとのステップ
  • 折れ線グラフ: 登録週ごとのアクティベーション率
  • 表: ソース、プラン、またはペルソナ別のコンバージョン

アラートガイダンス

成熟したサインアップ コホートのアクティベーションが最近のベースラインを大幅に下回る場合は、緊急度の低いアラートを使用します。

アラート設定を読む

このクエリに必要なイベントを設定する

関連する機器とガイド

ソースデータを定義する

この分析のイベント スキーマ

分析を続ける

自分のイベントで実行する

テーブルを作成し、フィールドを調整して、結果を保存します

無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。

API キーを取得する