跳至主要內容
Telemetry
收入和賬單 SQL查詢範例

計算每月經常性收入變動

將新建、擴充套件、收縮、流失和重新啟用 MRR 與計費生命週期事件分開。

中級billing_events已審查 2026-07-27測試用 阿帕奇 DataFusion 45.2.0

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

問題已回答

是什麼導致經常性收入每月增加或減少?

淨 MRR 隱藏了經常性收入發生變化的原因。對相互排斥的變動進行分類可以顯示成長是來自新客戶、現有客戶擴張還是客戶流失恢復。

活動合約

查詢期望的欄位

欄位型別為什麼存在
timestamp_utcTimestamp計費移動時間。
account_idUtf8穩定的計費帳戶識別符號。
movement_typeUtf8新的、擴張、收縮、流失或重新啟用。
mrr_change_usdFloat64簽署標準化經常性收入變更。
DataFusion SQL

複製查詢

sql
SELECT
  date_trunc('month', timestamp_utc) AS month,
  SUM(CASE
    WHEN movement_type IN ('new', 'expansion', 'reactivation')
    THEN mrr_change_usd ELSE 0.0
  END) AS growth_mrr_usd,
  -SUM(CASE
    WHEN movement_type IN ('contraction', 'churn')
    THEN mrr_change_usd ELSE 0.0
  END) AS lost_mrr_usd,
  SUM(mrr_change_usd) AS net_mrr_change_usd,
  COUNT(DISTINCT account_id) AS accounts_changed
FROM billing_events
WHERE timestamp_utc >= now() - INTERVAL '12 months'
GROUP BY date_trunc('month', timestamp_utc)
ORDER BY month;

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

查詢結果

經常性收入成長和損失

7 月份仍保持積極成長,但收縮和流失消耗了更多的總成長。

monthgrowth_mrr_usdlost_mrr_usdnet_mrr_change_usdaccounts_changed
2026-0518,4007,20011,20093
2026-0622,1009,80012,300117
2026-0720,70013,4007,300126

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

Recurring-revenue growth and loss:來自 Calculate Monthly Recurring Revenue Movement 範例結果的合成 growth_mrr_usd 值的靜態圖表
確定性範例輸出的可索引 SVG。下載它以獲取帶有歸屬的文章、操作手冊或設計評論。

重現範例

下載公共裝置

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

SQL 是如何工作的

  1. 1積極的運動結合了新的、擴充套件的和重新啟用的 MRR。
  2. 2丟失的 MRR 被否定為可讀的正條,而淨變化保留簽名的總數。
  3. 3不同的帳戶計數有助於區分廣泛的波動和異常大的合約。

需要決定的邊緣情況

  • 準確地發出一項計費更改動作或按提供商事件 ID 進行協調。
  • 定義年度合約是否在預訂或服務時貢獻標準化的每月價值。
  • 將一次性費用和使用收入與經常性收入分開。

推薦儀表板

  • 堆疊條:growth_mrr_usd 和 lost_mrr_usd
  • 趨勢:net_mrr_change_usd
  • 資料表:最大帳戶級別變動

警示指導

當 MRR 損失消耗了整個月總成長的異常大份額時進行審查。

讀取警示設定

讓查詢範例發揮作用

相關埋點和指南

定義源資料

此分析的事件模式

繼續分析

在真實事件中執行它

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

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

獲取 API 金鑰