跳至主要內容
Telemetry
產品分析 SQL查詢範例

計算每週群組保留率

按第一個活動周對使用者進行分組,並衡量隨後幾周的返回百分比。

高階product_events已審查 2026-07-27測試用 阿帕奇 DataFusion 45.2.0

審閱者 Telemetry產品團隊 . SQL 相容性、事件契約、合成輸出和操作注意事項. 審查標準和所有權

問題已回答

每個註冊群體在第一週到第十二週內返回的百分比是多少?

單一保留率混合了成熟使用者和新獲得的使用者。群組保留起始周,以便可以平等地比較產品或收購變化。

活動合約

查詢期望的欄位

欄位型別為什麼存在
timestamp_utcTimestamp活動發生時。
user_idUtf8穩定的使用者識別符號。
event_nameUtf8產品事件名稱。
DataFusion SQL

複製查詢

sql
WITH first_activity AS (
  SELECT
    user_id,
    date_trunc('week', MIN(timestamp_utc)) AS cohort_week
  FROM product_events
  WHERE event_name = 'first_value_completed'
  GROUP BY user_id
),
weekly_activity AS (
  SELECT DISTINCT
    user_id,
    date_trunc('week', timestamp_utc) AS activity_week
  FROM product_events
  WHERE event_name = 'core_feature_used'
),
cohort_activity AS (
  SELECT
    f.cohort_week,
    (date_part('epoch', a.activity_week)
      - date_part('epoch', f.cohort_week)) / 604800 AS week_number,
    COUNT(DISTINCT a.user_id) AS retained_users
  FROM first_activity f
  JOIN weekly_activity a ON f.user_id = a.user_id
  WHERE a.activity_week >= f.cohort_week
  GROUP BY
    f.cohort_week,
    (date_part('epoch', a.activity_week)
      - date_part('epoch', f.cohort_week)) / 604800
),
cohort_sizes AS (
  SELECT cohort_week, COUNT(*) AS cohort_size
  FROM first_activity
  GROUP BY cohort_week
)
SELECT
  c.cohort_week,
  c.week_number,
  c.retained_users,
  s.cohort_size,
  100.0 * c.retained_users / NULLIF(s.cohort_size, 0) AS retention_pct
FROM cohort_activity c
JOIN cohort_sizes s ON c.cohort_week = s.cohort_week
WHERE c.week_number BETWEEN 0 AND 12
ORDER BY c.cohort_week, c.week_number;

此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。

查詢結果

啟用佇列的每週保留率

較老的群體在第一週保留了一半的使用者;較新的群體還不夠成熟,無法進行第一週的比較。

cohort_weekweek_numberretained_userscohort_sizeretention_pct
2026-07-20044100
2026-07-2012450
2026-07-27033100

綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。

Weekly retention by activation cohort:來自 Calculate Weekly Cohort Retention 範例結果的合成 retention_pct 值的靜態圖表
確定性範例輸出的可索引 SVG。下載它以獲取帶有歸屬的文章、操作手冊或設計評論。

重現範例

下載公共裝置

JSON 包包含型別化事件契約, reproducible 輸入行、確切的 SQL、預期輸出、審閱註釋和引擎版本。 CSV 包含顯示的結果。

SQL 是如何工作的

  1. 1第一個 CTE 定義了每個使用者從首次完成價值里程碑那周起的群組。
  2. 2每週活動都會進行重複資料刪除,因此一週內的多個活動將計為一個保留使用者。
  3. 3時間戳差異從天轉換為一週偏移,可以在群組之間進行比較。

需要決定的邊緣情況

  • 比較不同年齡的佇列時,排除不完整的未來幾周。
  • 定義來自有意義的活動而不是任何頁面檢視的返回行為。
  • UTC 周邊界可能與業務時區不匹配;記錄所選邊界。

推薦儀表板

  • 熱圖樣式資料表:cohort_week by week_number
  • 折線圖:retention_pct by week_number 除以 cohort_week
  • 統計資料:成熟佇列第四周的保留率

警示指導

保留率通常被視為趨勢而不是分頁。當第一週或第四周的保留率下降到預期範圍之外時,標記成熟佇列。

讀取警示設定

讓查詢範例發揮作用

相關埋點和指南

繼續分析

在真實事件中執行它

建立資料表,調整欄位並儲存結果

免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。

獲取 API 金鑰