📐

定价模式总结

Free / Tiered / Usage / Seat / Hybrid — 五种核心定价模式的适用场景、转化率数据、常见坑。从 10 个真实产品拆解中提炼的模式选择方法论。

🆓 Free 📊 Tiered ⚡ Usage 👤 Seat 🔀 Hybrid

📑 目录

🔭 五种模式速览对比

这五种不是互斥的分类,而是定价维度的基本积木。绝大多数成功的 SaaS 产品都组合使用了多个维度。下面的对比表帮你快速建立直觉。

模式 核心逻辑 收入可预测性 扩展性 典型产品 适用阶段
🆓 Free 免费层 → 付费升级 ⭐⭐ 低 ⭐⭐⭐⭐⭐ Cursor, Notion, Raycast 增长期
📊 Tiered 功能分层定价 ⭐⭐⭐⭐ 高 ⭐⭐⭐ Notion, Linear, Supabase 成熟期
⚡ Usage 按实际消耗付费 ⭐⭐ 低 ⭐⭐⭐⭐⭐ Vercel, OpenAI, AWS 基础设施/API
👤 Seat 按人数/座位收费 ⭐⭐⭐⭐⭐ 极高 ⭐⭐⭐ Linear, Notion, Slack 协作工具
🔀 Hybrid 组合上述多种维度 ⭐⭐⭐ 中 ⭐⭐⭐⭐ Intercom, Stripe, Notion 规模化
OpenView 2024 年报告显示,采用 Usage-based 定价的 SaaS 公司占比已从 2018 年的 34% 增长至超过 60%。但纯 Usage 模式在 ARR < $1M 的早期公司中仍然少见,因为收入波动太大。大多数成功产品最终走向 Hybrid。

🆓 Free / Freemium 模式

🆓
Free / Freemium
免费用户是获客引擎,不是成本中心

📖 模式定义

提供功能完整但有限制的免费版本,通过用量墙、功能墙或协作墙推动升级。核心假设:免费用户的获客成本远低于付费获客渠道,且部分免费用户会自然转化为付费用户。

🎯 免费层的三种墙

墙类型机制代表产品转化时机
用量墙 限制使用次数/额度 Cursor(2000 补全/月)、OpenAI(Rate Limit)、Raycast(AI 限次) 用户触及上限时
功能墙 高级功能仅付费可用 Notion(AI 附加 $10/月)、Supabase(Branching)、Linear(自定义视图) 用户需要高级功能时
协作墙 限制团队规模或协作 Notion(5 人团队限制)、Linear(250 issues)、Figma(3 项目) 团队扩大时

✅ 优势 vs ⚠️ 劣势

  • 获客成本极低(PLG 增长核心引擎)
  • 产品自验证:用户先体验再付费
  • 网络效应:免费用户带来更多用户
  • 数据飞轮:用户行为指导产品迭代
  • 品牌效应:市场份额 → 心智份额
  • 免费用户占满支持资源(Support 负担)
  • 基础设施成本线性增长
  • 转化率通常只有 2-5%
  • 免费用户可能永远不会付费
  • 给竞品提供了"免费训练场"

🔬 真实案例数据

🔵 Cursor: 2000 补全/月免费 → Pro $20/月 🟣 Notion: 免费层极慷慨 → Plus $10/人/月 🟢 Supabase: 2 个免费项目 → Pro $25/月 🔵 Raycast: 核心免费 → AI Pro $8/月
Cursor 的免费层设计极其精妙:2000 次补全/月 ≈ 每天约 66 次。一个开发者日常编码大概每天触发 50-80 次补全。这意味着轻度用户可以永远免费使用,而重度用户在第一周就会触及上限并自然转化为付费。这不是" generosity "——这是精准的用量墙校准。

📊 Tiered 分层模式

📊
Tiered 分层定价
三层法则:Free → Pro → Enterprise

📖 模式定义

将功能按使用场景分层打包,每层固定价格。最经典的结构是 Free / Pro / Enterprise 三层——每一层面向不同用户画像,用功能差异而非用量差异做区分。

🎯 三层法则的经典结构

层级目标用户价格区间核心策略代表
Free 个人/评估 $0 降低门槛、获取用户 Vercel Hobby, Supabase Free
Pro / Team 小团队/专业用户 $10-$50/人/月 核心付费层、价值锚定 Cursor Pro $20, Linear Team $8
Enterprise 大组织 定制/年付 安全合规、SLA、定制 所有企业版

🔬 真实案例:三层定价的功能差异

产品FreePro/TeamEnterprise
Notion 5人协作、7天历史 $10/人/月、无限协作、30天历史 SSO/SAML、审计日志、高级安全
Linear 250 issues、5人团队 $8/人/月、无限 issues、无限团队 SSO、专属支持、自定义工作流
Supabase 2项目、500MB DB $25/月、8GB DB、Branching 专属实例、SLA、优先支持
Vercel 1人、Hobby 项目 $20/人/月、无限部署、分析 SSO、SLA 99.99%、ISVC

✅ 优势 vs ⚠️ 劣势

  • 收入高度可预测(固定月费/年费)
  • 用户容易理解,决策成本低
  • 天然升级路径:用多了自然升级
  • 三层结构降低定价复杂度
  • Enterprise 层利润率极高
  • 无法捕获"超额价值"——用户用得多不多付
  • 层级间功能切割容易得罪用户
  • 价格锚定风险:$20 可能成为天花板
  • Enterprise 销售周期长
  • 层级过多导致选择困难
Notion 是三层法则的教科书案例。但 Notion 2024 年的 AI 附加费 $10/月暴露了三层模式的边界:当新功能(AI)的成本结构与传统功能完全不同时,强行塞进现有层级会导致定价失真。Notion 选择了"AI Add-on"而非调整层级——这是对的模式。

⚡ Usage-based 用量计费模式

Usage-based 用量计费
用多少付多少——与价值增长天然对齐

📖 模式定义

按实际资源消耗(API 调用次数、Token 数、带宽、存储、计算时长等)计费。核心优势:收入与客户获得的价值天然成正比,无需猜测"用户到底会用多少"。

🎯 用量计费的四种维度

维度度量单位代表产品典型单价
Token/调用 每百万 Token / 每次 API 调用 OpenAI, Anthropic GPT-4o: $2.5/M input, Claude Sonnet: $3/M input
计算时长 每 GB-hour / vCPU-hour Vercel Serverless, Supabase Compute Vercel: $40/100GB-hr, Supabase: $0.01344/hr (micro)
带宽/流量 每 GB 出站流量 Vercel CDN, Supabase Bandwidth Vercel: $0.15/GB, Supabase: $0.09/GB
存储 每 GB/月 Supabase DB, AWS S3 Supabase: $0.125/GB/mo 超额

🔬 真实案例:用量计费的精妙设计

🔶 OpenAI: Cached Input Token 半价 → 鼓励 Prompt 复用 🟤 Anthropic: Prompt Cache 90% 折扣 → 极致降低重复调用成本 Vercel: 按用量计费但有上限 → 避免费用爆炸 🟢 Supabase: PAUS 暂停机制 → 不用不花钱

🔑 用量计费的关键设计

💰 费用上限 (Spend Cap)

Vercel Pro 设定用量计费上限,超出后服务暂停而非无限扣费。这解决了"半夜被天价账单惊醒"的恐惧。Supabase 的 PAUS 机制是另一个角度:项目 7 天无活动自动暂停,不收计算费。

📉 递减费率 (Tiered Pricing)

OpenAI 的 Batch API 半价、Cached Input Token 半价都是递减费率的变体:用得越多,边际成本越低。这鼓励用户集中调用、复用缓存,同时降低 API 提供方的实际计算成本。

🧮 预估工具 (Cost Estimator)

Vercel 提供月度成本估算器,让用户在消费前了解费用。这是用量计费 UX 的关键——消除"不知道会花多少钱"的焦虑。没有预估工具的用量计费 = 信任缺失。

✅ 优势 vs ⚠️ 劣势

  • 与客户价值天然对齐
  • 大客户自然支付更多
  • 零入门门槛——试用几乎免费
  • 无需猜测定价层级
  • 鼓励用户优化使用效率
  • 收入不可预测(月度波动大)
  • 用户焦虑:"不知道下月花多少"
  • 计费系统复杂度高
  • 可能鼓励用户"省着用"→ 反向激励
  • 财务预测困难,影响融资估值
OpenAI 和 Anthropic 的 Prompt Cache / Batch API 折扣不仅是"省钱优惠"——这是用量计费中精细化的价格歧视:区分实时 vs 非实时、首次 vs 重复、单次 vs 批量调用。真正的用量计费不是简单的"每 Token X 元",而是多维度的动态定价。

👤 Seat-based 按座位计费模式

👤
Seat-based 按座位计费
加一个人就多一份钱——最简单的收入乘数

📖 模式定义

按使用人数(座位/Seat)收费,每个座位每月固定价格。核心逻辑:协作工具的价值随人数线性增长,所以收费也随人数线性增长。收入 = 座位数 × 单价。

🎯 为什么协作工具几乎都用 Seat 模式?

协作工具的核心价值是"多人协作"本身——Linear 的价值不是"管理 Issue",而是"团队一起管理 Issue";Slack 的价值不是"发消息",而是"团队一起发消息"。价值与人数成正比 → 收费与人数成正比,逻辑自洽。

但 AI 时代这个逻辑正在被挑战:AI Agent 不需要"座位",但它确实在消耗计算资源。Intercom 已经将定价从纯 Seat 模式转向 Seat + Usage 混合——座位费覆盖基础功能,AI 解析按量收费。

🔬 真实案例:座位定价的数据

产品Free 层人数Pro 单价Enterprise 单价数据来源
Linear 5 人 $8/人/月 定制 Linear 官网 2025
Notion 5 人(Plus)/ 5 人(Free) $10/人/月 (Plus) $18/人/月 Notion 官网 2025
Slack 无限制(功能受限) $8.75/人/月 $15/人/月 Slack 官网 2025
Figma 3 项目/3 文件 $15/人/月 定制 Figma 官网 2025

✅ 优势 vs ⚠️ 劣势

  • 收入最可预测——人数 × 单价
  • 天然 Net Revenue Retention (NRR) > 100%
  • 用户容易理解
  • 团队扩容 = 自动增购
  • 销售周期短
  • 不反映实际使用强度
  • "幽灵座位"问题:付费但不活跃
  • AI Agent 没有座位——模式失效
  • 单人用户付费意愿低
  • 被"座位共享"薅羊毛
Linear 选择不做用量计费而坚持按座位收费——这是一个深思熟虑的决策。Linear 认为:产品管理的价值不在于"创建了多少 Issue",而在于"团队如何协作"。用量计费会让用户"省着用",违背了产品哲学。但当 Linear 加入 AI 功能时,它不得不考虑 AI 成本——最终选择了 AI 功能附加收费。

🔀 Hybrid 混合模式

🔀
Hybrid 混合定价
现实世界的定价——没有纯模式,只有组合

📖 模式定义

组合两种或以上定价维度。最常见的是 Seat + Usage 混合(基础座位费 + 超额用量)和 Tiered + Usage 混合(层级覆盖基础用量 + 超额按量)。2024 年后,几乎所有规模化 SaaS 都在走向 Hybrid。

🎯 四种常见混合模式

混合类型结构代表产品为什么需要混合
Seat + Usage 座位费 + 用量超额 Intercom, Notion, Slack AI 功能成本与人数无关
Tiered + Usage 层级含基础用量 + 超额按量 Vercel, Supabase 基础可预测 + 超额捕获价值
Free + Add-on 核心免费 + 功能附加收费 Raycast, Notion AI 核心增长引擎 + AI 成本隔离
Flat + Per-unit 平台费 + 每笔交易费 Stripe, LemonSqueezy 基础设施 + 交易风险共担

🔬 深度案例:Intercom 的 Seat + Usage 混合

Intercom 的定价结构是 Hybrid 模式的标杆:座位费(Essential/Advanced/Expert 三个层级,按人数收费)+ Usage 费(Fin AI Agent 按解析次数、消息按发送量、SMS/WhatsApp 按条数)。这反映了 AI 时代的定价真相:人用工具的边际成本 ≈ 0,但 AI 服务的边际成本 > 0。所以座位费覆盖"人的部分",用量费覆盖"AI 的部分"。

数据来源:Intercom 官网 2025 年定价页面。所有计划包含免费无限实时聊天 + Fin AI Agent 访问权限,但 AI 解析按结果付费。

✅ 优势 vs ⚠️ 劣势

  • 兼顾可预测性和价值捕获
  • 精准匹配不同成本结构
  • 灵活应对 AI 成本波动
  • 大客户和小客户都有合理定价
  • 定价页面极其复杂
  • 用户难以预估月度费用
  • 计费系统开发成本高
  • "叠加收费"感——用户觉得被双重收费
Stripe 的定价(2.9% + $0.30)本质上就是 Flat + Per-unit 混合:$0.30 是每笔固定成本(覆盖风控、路由等),2.9% 是按金额的比例费(覆盖 Interchange 和 Stripe 的利润)。这个定价经过精密计算:小额交易 $0.30 占比高 → 鼓励合并支付;大额交易 2.9% 占比高 → 鼓励使用 IC+ 定价降低成本。详见 Stripe 定价拆解

📈 转化率数据与行业基准

以下数据来自公开报告、投资者文件和行业研究。SaaS 定价转化率高度依赖产品类型、用户质量和定价结构。标注了数据来源,未确认的已注明。

Freemium → Paid 转化率行业基准

产品类型典型转化率顶级表现备注
开发者工具 (DevTools) 3-8% 10%+ 用户技术能力强,付费意愿高;但免费替代品也多
协作/项目管理 2-5% 7%+ 协作墙驱动团队升级;多人使用 → 自然扩容
AI/API 服务 5-15% 20%+ 用量墙效果显著;Token 用完 = 立即付费
设计/创意工具 2-4% 6%+ 个人用户免费占比大;团队版是主要收入
消费级 App 0.5-2% 5%+ 基数极大但付费意愿低;依赖海量免费用户

数据来源:Recurly 2024 State of Subscriptions 报告(DevTools 和协作工具类别)、RevenueCat 2024 State of Subscription Apps(消费级 App 类别)、OpenView Growth Benchmark 2023(AI 服务类别)。具体产品的转化率通常不公开。顶级表现数字为截至写作时未能确认的估计区间。

Net Revenue Retention (NRR) 按定价模式

定价模式中位数 NRR顶级 NRR驱动因素
Seat-based 110-120% 130%+ 团队扩容 = 自动增购
Usage-based 100-115% 140%+ 用量增长 = 收入增长,但波动大
Tiered (纯分层) 100-110% 120%+ 升级靠功能需求,天然天花板
Hybrid 110-125% 150%+ 座位扩张 + 用量增长双驱动

数据来源:Bessemer Cloud Index 公开数据(Seat-based 和 Hybrid 类别 NRR 中位数)、OpenView 2023 Benchmark(Usage-based 类别)。NRR > 100% 意味着即使不获客,现有客户也在贡献更多收入。这是 SaaS 的核心魅力。顶级 NRR 140%+ 通常出现在 Snowflake、Datadog 等 Usage-based 基础设施公司——数据增长是单向的。

免费→付费升级触发点分析

基于本案例库中 10 个产品的真实定价页面拆解,以下是最常见的升级触发点:

用量上限
85% 产品使用
团队协作
70% 产品使用
高级功能
65% 产品使用
数据保留
40% 产品使用
品牌/白标
25% 产品使用

基于 Cursor / Vercel / Supabase / Linear / Raycast / Notion / OpenAI / Anthropic / Stripe / LemonSqueezy 共 10 个产品的定价页面分析。一个产品通常组合使用多个触发点。

🌳 模式选择决策树

没有最好的模式,只有最适合的模式。下面这个决策树帮你根据产品特性快速缩小选择范围。

❓ 你的产品是否有协作属性(多人使用才有价值)?
✅ 是 → 用户的边际成本是否接近零(每多一个人,你的成本几乎不变)?
✅ 是 → Seat-based 是首选。考虑加 Free 层降低获客门槛。
示例:Linear、Slack、Notion
❌ 否(AI 调用等有边际成本)→ Seat + Usage Hybrid
示例:Intercom(座位费 + Fin AI 解析费)
❌ 否(单人使用为主)→ 产品的使用量是否与获得的价值成正比
✅ 是(API、基础设施、计算资源)→ Usage-based,配合免费额度。
示例:OpenAI、Vercel、AWS
❌ 否 → 产品是否有明确的进阶功能可以分层?
✅ 是 → Tiered,Free → Pro → Enterprise。
示例:Cursor、Supabase
❌ 否 → 纯 Free + Add-on 模式或一次性购买
示例:Raycast(核心免费 + AI Pro 附加)
这棵决策树给出的是"默认推荐"。实际中,大多数产品在 ARR 达到 $1M-5M 时会从单一模式转向 Hybrid。原因是:纯模式的天花板往往在 ARR $10M 左右出现——你需要新的增长维度。

⚠️ 常见定价坑 & 避坑指南

从真实产品的定价演变中总结出的高频错误。每一个坑都有人踩过,代价不小。

🕳️ 坑 1:免费层太慷慨
Supabase Free 层给 500MB 数据库 + 1GB 文件存储 + 无限 API 请求。结果是大量"僵尸项目"占用计算资源。Supabase 不得不发明 PAUS(Project Auto-Update Suspend)机制来自动暂停不活跃项目。
💊 解药:设置活跃度门槛(如 7 天无活动暂停),或者将免费层设计为"够用但不够爽"——用户想深度使用就必须升级。
🕳️ 坑 2:纯用量计费没有兜底
Vercel 早期纯按用量计费,很多用户在流量暴增时收到天价账单。这不仅损害信任,还导致用户不敢大规模使用 Vercel——反向激励。
💊 解药:Vercel Pro 加入了Spend Cap——设定用量上限,超出暂停而非扣费。给用户"最坏情况"的心理锚定。
🕳️ 坑 3:层级之间功能切割不当
把用户最需要的功能放在高层级,但 Free 层缺少足够的"钩子"——用户根本体验不到核心价值就走了。或者反过来:Free 层功能太完整,没有升级动力。
💊 解药:Free 层必须包含核心价值闭环(Cursor 的补全、Notion 的编辑),但限制规模和深度(次数、协作人数、历史记录)。用 转化触发点框架设计。
🕳️ 坑 4:忽视 AI 功能的独立成本结构
Notion 最初把 AI 功能包含在付费层中,但 AI 的 token 成本远高于传统功能。结果每个付费用户都用 AI → AI 成本吃掉利润。Notion 被迫拆出 AI Add-on $10/月。
💊 解药:AI 功能独立定价。不要把高边际成本的 AI 功能包进固定价格层级。Raycast 的做法更聪明:核心免费 + AI Pro $8/月——AI 完全独立。
🕳️ 坑 5:定价页面过于复杂
混合模式很容易让定价页面变成"计算题"。用户需要同时理解座位费、用量费、层级差异、超额费率——决策疲劳 → 放弃购买。
💊 解药:默认推荐 + 成本预估器 + 简单比较表。Intercom 在定价页放了一个交互式估算器,让用户输入需求后自动推荐层级和预估费用。
🕳️ 坑 6:年付折扣不够吸引
大多数 SaaS 给年付 16-20% 折扣(相当于付 10 个月)。但如果折扣不够,用户会选月付——你失去了现金流的确定性。如果折扣太大,月付用户会觉得被宰。
💊 解药:年付折扣 15-20% 是行业标配(Notion、Linear、Cursor 都是这个区间)。关键是让年付成为默认推荐——月付作为备选而非首选。

🧮 定价模式收益计算器

输入你的产品参数,对比不同定价模式的预期月收入。

月活跃用户 (MAU)
免费→付费转化率 (%)
Pro 单价 ($/月)
付费用户平均座位/人数
月均用量/用户 (API calls K)
用量单价 ($/K calls)

点击"计算对比"查看不同模式的收入预估。

💻 代码示例

Stripe 订阅计费:Tiered 模式实现

// Stripe 创建 Tiered 订阅:Free → Pro → Enterprise const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY); // 定义产品层级 const plans = { 'free': { priceId: 'price_free', amount: 0, features: ['basic', '5_users'] }, 'pro': { priceId: 'price_pro', amount: 2000, features: ['advanced', 'unlimited_users', 'analytics'] }, 'enterprise': { priceId: 'price_enterprise', amount: 10000, features: ['sso', 'audit_log', 'priority_support'] }, }; // 创建订阅(Pro 月付) const subscription = await stripe.subscriptions.create({ customer: customerId, items: [{ price: plans.pro.priceId }], // 年付折扣:20% off coupons: isAnnual ? 'ANNUAL_20OFF' : undefined, // 试用期:7天 trial_period_days: 7, metadata: { tier: 'pro', seats: 3 }, }); // 升级:Pro → Enterprise const updated = await stripe.subscriptions.update(subscription.id, { items: [{ id: subscription.items.data[0].id, price: plans.enterprise.priceId, }], proration_behavior: 'create_prorations', // 按比例计算剩余天数 });

用量计费追踪:Metering Service

// 用量计费追踪服务——记录每次 API 调用 class MeteringService { constructor(redis, stripe) { this.redis = redis; this.stripe = stripe; } // 记录用量 async recordUsage(orgId, { inputTokens, outputTokens, model }) { const month = new Date().toISOString().slice(0, 7); const key = `usage:${orgId}:${month}`; // Redis INBY 精确计数 const pipeline = this.redis.pipeline(); pipeline.hincrby(key, `input_${model}`, inputTokens); pipeline.hincrby(key, `output_${model}`, outputTokens); pipeline.hincrby(key, 'total_calls', 1); pipeline.expire(key, 90 * 24 * 3600); // 90天过期 await pipeline.exec(); // 检查是否接近上限 → 发送预警 const usage = await this.getMonthlyUsage(orgId); const limit = await this.getLimit(orgId); if (usage.totalCost >= limit * 0.8) { await this.sendUsageAlert(orgId, usage, limit); } } // 同步到 Stripe(每5分钟批量上报) async syncToStripe(orgId) { const usage = await this.getMonthlyUsage(orgId); await this.stripe.subscriptionItems.createUsageRecord( subscriptionItemId, { quantity: Math.round(usage.totalCost * 100), // 美分 timestamp: 'now', action: 'set', // 绝对值设置,避免重复计数 } ); } }

计费引擎抽象:支持多种定价模式

// 计费策略模式——让定价模式可插拔 class BillingEngine { constructor(strategy) { this.strategy = strategy; } async calculateMonthlyBill(org) { return this.strategy.calculate(org); } } // Tiered 模式 class TieredPricing { calculate(org) { const tierPrices = { free: 0, pro: 20, enterprise: 100 }; return { base: tierPrices[org.tier] * org.seats, overage: 0, total: tierPrices[org.tier] * org.seats, }; } } // Usage-based 模式 class UsagePricing { calculate(org) { const base = 0; const tokenCost = org.usage.inputTokens * 0.0000025 // $2.5/M + org.usage.outputTokens * 0.00001; // $10/M return { base, overage: tokenCost, total: tokenCost }; } } // Hybrid 模式 = Tiered + Usage class HybridPricing { constructor(baseTier, usageModel) { this.base = new TieredPricing(baseTier); this.usage = new UsagePricing(usageModel); } calculate(org) { const baseBill = this.base.calculate(org); const usageBill = this.usage.calculate(org); return { base: baseBill.total, overage: usageBill.overage, total: baseBill.total + usageBill.overage, breakdown: { seat: baseBill.total, usage: usageBill.overage }, }; } } // 使用:根据产品配置切换定价模式 const engine = org.tier === 'enterprise' ? new BillingEngine(new HybridPricing()) : new BillingEngine(new TieredPricing()); const bill = await engine.calculateMonthlyBill(org);