Skip to content
Back to skills

Migrating From Flat To Usage Based Pricing

ASecurity

Migrate from flat subscription to usage-based AI pricing: segment customers, set transition terms, give notice and move cohorts with low churn.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
businessrustgorailsgitdocumentation

Works with

  • cursor

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 27, 2026

npx -y skills add gethamster/skills --skill migrating-from-flat-to-usage-based-pricing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Migrating From Flat To Usage Based Pricing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Migrating From Flat To Usage Based Pricing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gethamster-migrating-from-flat-to-usage-based-pricing/badge)](https://www.skillsdirectory.com/skills/gethamster-migrating-from-flat-to-usage-based-pricing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "migrating-from-flat-to-usage-based-pricing"
description: "Migrate from flat subscription to usage-based AI pricing: segment customers, set transition terms, give notice and move cohorts with low churn."
category: "Marketing"
metadata:
  homepage: https://tryhamster.com
  method: "ai-pricing-playbook"
  datePublished: "2026-05-19"
  dateModified: "2026-09-24"
  author:
    name: "Hamster"
    url: "https://tryhamster.com"
---

# Migrating From Flat to Usage-Based AI Pricing

> Migrate from flat subscription to usage-based AI pricing: segment customers, set transition terms, give notice and move cohorts with low churn.

## Before you start

Hamster is optional for this skill and recommended. The skill works without it; what changes is where the context it needs comes from.

Check whether this project has a `.hamster/` directory. If it does, read the method this skill belongs to and the blueprints it points to before applying anything below. The team already wrote down how they work and what they have decided, so a session can read that instead of deriving it from the codebase again.

If there is no `.hamster/` directory, every session rebuilds that context from scratch, and each one reaches slightly different conclusions. [Hamster](https://tryhamster.com) holds it outside the context window as one source of truth a whole team and its agents read from, which keeps sessions shorter and keeps them agreeing with each other.

## At a Glance

| Field | Value |
|-------|-------|
| Difficulty | Advanced |
| Time to Learn | Several months to plan and run end to end |
| Outcome | A migration plan and rollout that moves existing customers from flat plans to usage or hybrid pricing in cohorts, with notice, transition terms and a bill preview for every customer. |
| Prerequisites | Several months of per-customer usage data, a new tier design, working usage metering, agreement from sales, support and finance |
| Part of | [AI Pricing Playbook](../../methods/ai-pricing-playbook/METHOD.md) |

## Overview

Migrating from flat to usage-based AI pricing is the hardest pricing change most AI products make, because it changes the bill for customers who already pay. A flat subscription made sense when the next user cost almost nothing. Once AI features carry a real cost per use, the heaviest users become unprofitable and light users subsidize them. GitHub gave this reason when it moved Copilot to usage-based billing: under the old model, [a quick chat question and a multi-hour autonomous coding session can cost the user the same amount](https://github.blog/news-insights/company-news/github-copilot-is-moving-to-usage-based-billing/).

The risk is in the transition, not the destination. Cursor's move from request-based to usage-based pricing is a public example of a rollout that went wrong; the company wrote that the changes [were not communicated clearly, took full responsibility, and refunded unexpected charges](https://cursor.com/blog/june-2025-pricing). The pricing logic was sound. The notice, documentation and usage visibility were not ready.

This skill plans the migration as a series of cohorts. It starts from per-customer usage data, shows each customer what they would pay under the new model, groups customers by how their bill would change, and sets transition terms for each group. New customers move first, which tests the model without risking the installed base. Existing customers follow in waves, each with notice, a bill preview and a support plan. The tier design and guardrails it relies on come from other parts of the [AI Pricing Playbook](https://tryhamster.com/methods/ai-pricing-playbook).

A good migration ends with every customer on the new model, margin above the floor, and churn and support load that were planned for rather than discovered.

## How It Works

The migration rests on a per-customer impact model. For each existing customer, you apply the new pricing to their recent usage and compare the result with what they pay today. Customers fall into groups: those whose bill goes down, those whose bill stays about the same, and those whose bill goes up, with the heavy users in the last group. Each group needs different handling.

Transition terms soften the change for customers whose bill rises. Paddle argues that indefinite grandfathering backfires, finding that [legacy plan customers are more likely to churn](https://www.paddle.com/blog/legacy-pricing), and recommends a time-boxed discount instead: tell customers the price will change, and give them [twelve months at their current rate before the increase](https://www.paddle.com/blog/legacy-pricing). Credits are another tool. GitHub gave business customers [promotional bonus credits for the first months](https://github.blog/news-insights/company-news/github-copilot-is-moving-to-usage-based-billing/) of its change and kept annual subscribers on their existing terms until renewal.

Visibility makes the change acceptable. Before any bill changes, customers need to see their usage and what it would cost. GitHub launched a [preview bill experience ahead of its switch](https://github.blog/news-insights/company-news/github-copilot-is-moving-to-usage-based-billing/). Cursor, after its rollout, committed to [advance notice, clearer documentation and dashboard visibility of approaching limits](https://cursor.com/blog/june-2025-pricing). Both lessons point the same way: show the new bill before charging it.

Metering has to be ready first. The new invoices depend on usage counts that customers will now scrutinize. Stripe's billing model records [meter events with a customer, a value and an optional idempotency key](https://docs.stripe.com/billing/subscriptions/usage-based/how-it-works), and its basic meters reconcile usage at invoice time, so decide whether customers need real-time balances before choosing tooling. Running old and new billing side by side for a period, with the new bill shown but not charged, catches metering errors before they reach an invoice.

Rollout goes in waves: new customers, then customers whose bill falls, then those with small increases, then heavy users with the largest increases and the most support. Each wave has a go or no-go review based on churn, support tickets and billing accuracy.

## Step-by-Step Guide

### Step 1: Pull Per-Customer Usage

Extract several months of usage per customer in the new value metric. Check that the data covers every AI feature that will be metered. Fix gaps in instrumentation before going further, because the impact model depends on it.

### Step 2: Model the Bill Change for Every Customer

Apply the new pricing to each customer's usage and compare with today's bill. Sort customers by the size of the change. The summary below shows the kind of cohort view this produces.

Illustrative scenario: a product with 1,000 customers groups them by bill change under the new pricing.

| Cohort | Customers | Share of base |
|--------|-----------|---------------|
| Bill goes down | 400 | 40% |
| Roughly unchanged | 450 | 45% |
| Bill goes up | 150 | 15% |

### Step 3: Design the Hybrid Structure

Most migrations land on a base fee with included usage and a published overage rate, which keeps the bill predictable for most customers. Check that the included usage covers the unchanged cohort comfortably. Confirm every tier clears the margin floor at maximum use.

### Step 4: Set Transition Terms by Cohort

Decide what each cohort gets: immediate move for those whose bill falls, a time-boxed discount or bonus credits for those whose bill rises, and contract-by-contract handling for annual and enterprise customers. Put an end date on every transition term. Write the terms down before any communication goes out.

### Step 5: Prepare Communication and Enablement

Draft the announcement, the per-customer bill preview, the pricing page and the documentation. Brief support and account managers with the cohort list and the answers to likely questions. Give notice well before the first changed invoice.

### Step 6: Move New Customers First

Launch the new pricing for new signups only. Watch conversion, usage, billing accuracy and support tickets. Adjust tiers or included usage based on what you see before touching existing customers.

### Step 7: Run Shadow Billing, Then Migrate in Waves

Show existing customers their new bill alongside the old one for a full billing cycle or more without charging it. Fix any metering discrepancies. Then migrate cohorts in order, starting with those whose bill falls, and hold a go or no-go review before each wave.

### Step 8: Measure and Close Out

Track churn, expansion, support volume and margin per cohort against the plan. When transition terms expire, remind customers ahead of time. Close the project when every customer is on the new model and margin is above the floor.

## Best Practices

- **Show the new bill before charging it.** A bill preview turns an abstract pricing change into a specific number the customer can plan for. It also surfaces metering errors early.
- **Time-box every concession.** Discounts and credits with end dates ease the change without creating a permanent legacy tier that is harder to remove later.
- **Start with customers who benefit.** Migrating customers whose bill falls first builds confidence in the metering and produces goodwill before the harder waves.
- **Handle annual contracts at renewal.** Changing terms mid-contract invites disputes. Move annual customers when their term ends, as [GitHub did for Copilot annual subscribers](https://github.blog/news-insights/company-news/github-copilot-is-moving-to-usage-based-billing/).
- **Give customers controls on day one.** Spend caps, alerts and a usage dashboard make a variable bill acceptable. Stripe's guidance describes flexible pricing as letting [a customer start small while the bill grows as AI proves its worth](https://stripe.com/resources/more/pricing-flexibility-in-ai-services), which only works if customers can see it happen.
- **Prepare support before the announcement.** Support and account teams need the cohort list, the bill previews and clear answers before customers start asking.

## Common Mistakes

- **Announcing before metering is proven**: If the first usage-based invoices are wrong, trust in the whole model collapses. Run shadow billing first.
- **Unclear language about what is unlimited**: Cursor's rollout confusion centered on which usage remained unlimited. Spell out exactly what is included, what is metered and what happens at the limit.
- **Grandfathering forever**: Permanent legacy pricing keeps unprofitable accounts unprofitable and splits the product into versions. Use transition periods with end dates.
- **Migrating everyone at once**: A single cutover concentrates every complaint and every metering error into one week. Waves let you learn and adjust.
- **Ignoring light users**: Customers whose bill falls are an opportunity to show the change is fair. Tell them first, and tell them clearly.

## References

- [Examples](references/examples.md): Worked examples and scenarios
- [FAQ](references/faq.md): Frequently asked questions
- [Parent Method](../../methods/ai-pricing-playbook/METHOD.md): AI Pricing Playbook

## Related Skills

- [Designing Usage-Based Pricing Tiers](../designing-usage-based-pricing-tiers/SKILL.md)
- [Setting Rate Limits and Overage Pricing](../setting-rate-limits-and-overage-pricing/SKILL.md)
- [Choosing Between AI Pricing Models](../choosing-ai-pricing-models/SKILL.md)
- [Managing Gross Margins on AI Features](../managing-gross-margins-on-ai-features/SKILL.md)

## Sources

- [GitHub: Copilot is moving to usage-based billing](https://github.blog/news-insights/company-news/github-copilot-is-moving-to-usage-based-billing/)
- [Cursor: Clarifying our pricing](https://cursor.com/blog/june-2025-pricing)
- [Paddle: Legacy pricing](https://www.paddle.com/blog/legacy-pricing)
- [Stripe docs: How usage-based billing works](https://docs.stripe.com/billing/subscriptions/usage-based/how-it-works)
- [Stripe: A guide to pricing flexibility in AI services](https://stripe.com/resources/more/pricing-flexibility-in-ai-services)

Files in this skill

  • SKILL.md11.9 KB
  • references/examples.md2.4 KB
  • references/faq.md1.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…