活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | 月末快照時間。 |
| account_id | Utf8 | 穩定的計費帳戶識別符號。 |
| starting_mrr_usd | Float64 | 測量月份開始時的 MRR。 |
| ending_mrr_usd | Float64 | 測量月末的 MRR。 |
DataFusion SQL
複製查詢
sql
SELECT
date_trunc('month', timestamp_utc) AS month,
COUNT(*) AS starting_accounts,
SUM(starting_mrr_usd) AS starting_mrr_usd,
SUM(ending_mrr_usd) AS ending_mrr_usd,
100.0 * SUM(ending_mrr_usd)
/ NULLIF(SUM(starting_mrr_usd), 0) AS net_revenue_retention_pct,
100.0 * SUM(CASE
WHEN ending_mrr_usd < 0.0 THEN 0.0
WHEN ending_mrr_usd > starting_mrr_usd THEN starting_mrr_usd
ELSE ending_mrr_usd
END) / NULLIF(SUM(starting_mrr_usd), 0)
AS gross_revenue_retention_pct
FROM account_mrr_snapshots
WHERE timestamp_utc >= now() - INTERVAL '12 months'
AND starting_mrr_usd > 0.0
GROUP BY date_trunc('month', timestamp_utc)
ORDER BY month;此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
按月劃分的淨收入保留
5 月和 6 月,擴張使 NRR 保持在 100% 以上,而 GRR 下降表明收縮或流失加劇。
2026-05
105.14%
2026-06
102.41%
2026-07
98.24%
| month | starting_accounts | starting_mrr_usd | ending_mrr_usd | net_revenue_retention_pct | gross_revenue_retention_pct |
|---|---|---|---|---|---|
| 2026-05 | 418 | 126,400 | 132,900 | 105.14 | 96.44 |
| 2026-06 | 431 | 132,900 | 136,100 | 102.41 | 94.88 |
| 2026-07 | 446 | 136,100 | 133,700 | 98.24 | 93.31 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1只有具有起始 MRR 的帳戶才會進入分母,從而將新業務排除在保留之外。
- 2NRR 將總的結束 MRR 與起始 MRR 進行比較,因此包括擴充套件。
- 3GRR 將每個帳戶的起始 MRR 限制為上限,因此擴張無法抵消收縮或流失。
需要決定的邊緣情況
- 在拍攝快照之前規範年度合約、基於使用情況的合約和多貨幣合約。
- 當父級和子級訂閱可以獨立移動時,一致地使用一個帳戶層次結構。
- 協調回溯的賬單更正,以便歷史快照不會悄無聲息地發生變化。
推薦儀表板
- 趨勢:NRR 和 GRR(按月)
- 條形圖:擴張、收縮和流失 MRR
- 資料表:最大帳戶級收入變化
讓查詢範例發揮作用
相關埋點和指南
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。