跳转到内容
Telemetry
浏览文档
指南更新于 2026年7月27日由 Telemetry 编辑团队和产品团队审核阅读约需 3 分钟

让编程智能体使用这篇文档

打开 Claude Code、Codex、Cursor 或其他编码代理的集中提示包,然后将其适应此处介绍的工作流程。

本页内容
  1. 你将构建什么
  2. 先决条件
  3. 1.安装Telemetry SDK
  4. 2、初始化Telemetry
  5. 3. 记录购买金额
  6. 4. 仪器完成采购
  7. 5、查询分布
  8. 解读曲线

可视化分布

少数大额订单会把平均值拉高,使其超过大多数客户的消费金额。按百分位绘制购买金额,查看中位数、分布范围和最大订单。

单次平均购买金额与百分位数曲线的比较,揭示了高消费长尾

百分位曲线显示购买量加速的位置以及长尾延伸的程度。

你将构建什么

您将记录个人购买金额,查询每个百分位数的值,并将结果绘制成图表。与平均值不同,这条曲线回答了以下问题:

  • 典型的客户会花多少钱?查看 P50(中位数)附近。
  • 高价值客户从哪里开始?比较 P75、P90 和 P95。
  • 长尾有多极端?将 P99 与中位数进行比较。

百分位是一个阈值,而不是收入份额。如果 P90 为 148 美元,则 90% 的购买价格等于或低于 148 美元,10% 的购买价格高于 148 美元。

先决条件

  • Telemetry 的有效 API 密钥
  • 对JavaScript和Node.js有基本了解
  • 电子商务平台或跟踪客户购买的任何系统

1.安装Telemetry SDK

首先,您需要在项目中安装 Telemetry SDK。如果您还没有这样做,请运行以下命令:

npm install telemetry-sh

2、初始化Telemetry

安装SDK后,在您的项目中导入并初始化Telemetry。将 YOUR_API_KEY 替换为您实际的 Telemetry API 密钥。

import telemetry from "telemetry-sh";

telemetry.init("YOUR_API_KEY");

3. 记录购买金额

为了可视化客户购买金额的分布,您需要记录每次购买的金额。以下是记录此数据的示例函数:

const logPurchaseAmount = (customerId, purchaseAmount) => {
  telemetry.log("customer_purchases", {
    customer_id: customerId,        // The ID of the customer
    purchase_amount: purchaseAmount, // The purchase amount in dollars
    currency: "USD",
    status: "completed"
  });
};

// Example usage
logPurchaseAmount("customer_123", 49.99);  // Log a purchase amount for a customer
logPurchaseAmount("customer_456", 120.50); // Log another purchase amount for a different customer

4. 仪器完成采购

您应该将系统设置为在交易完成时自动记录购买金额。这可以通过将日志记录功能集成到您的结账或支付处理系统中来完成。这是一个简化的示例:

const processPurchase = (customerId, amount) => {
  // Additional logic for processing the purchase

  // Log the purchase amount
  logPurchaseAmount(customerId, amount);
};

// Example transactions
processPurchase("customer_123", 75.00);    // Log a purchase of $75
processPurchase("customer_789", 300.00);   // Log a purchase of $300

5、查询分布

记录足够的数据后,您可以使用 Telemetry 的 UI 可视化购买金额在百分位数上的分布。

  1. 创建百分位查询
    • 在 Telemetry UI 中,导航到查询部分。

    • 使用以下类似 SQL 的查询来生成百分位数数据:

      WITH purchases AS (
        SELECT purchase_amount
        FROM customer_purchases
        WHERE timestamp_utc >= now() - INTERVAL '90 days'
          AND currency = 'USD'
          AND status = 'completed'
      )
      SELECT 50 AS percentile,
        approx_percentile_cont(purchase_amount, 0.50) AS purchase_amount
      FROM purchases
      UNION ALL
      SELECT 75, approx_percentile_cont(purchase_amount, 0.75)
      FROM purchases
      UNION ALL
      SELECT 90, approx_percentile_cont(purchase_amount, 0.90)
      FROM purchases
      UNION ALL
      SELECT 95, approx_percentile_cont(purchase_amount, 0.95)
      FROM purchases
      UNION ALL
      SELECT 99, approx_percentile_cont(purchase_amount, 0.99)
      FROM purchases
      ORDER BY percentile;
      
    • 此查询会在大多数团队使用的百分位处生成一条紧凑的曲线。当更平滑的曲线实质上改变决策时,添加更多固定百分位行。

  2. 可视化数据
    • 在 UI 中,创建一个折线图,X 轴为 percentile,Y 轴为 purchase_amount
    • 这将为您提供一条分布曲线,显示不同客户百分位数的购买金额如何变化,帮助您识别客户群内的支出模式。

解读曲线

从P50开始了解典型购买情况,然后与P90和P99进行比较。右边缘附近的急剧上升表明有一个小的高支出部分;曲线越平坦表明支出分布越均匀。在对结果采取行动之前,过滤退款并测试交易,保持货币单位一致,并比较跨段的相同时间窗口。

相关功能

将经过验证的查询转变为重点突出、可审查的操作视图。

页面作者和参考资料

Telemetry 编辑团队负责维护本文;产品团队审核功能行为、示例和适用范围。

我们如何审核文档