Stripe Payments & SaaS Billing Systems · レッスン

席数ベースおよび段階的な料金設定

ユーザー数や機能構成の違いに対応できる、席数ベースおよび段階的な料金モデルを設定・管理します。

レッスン 2/412 ステップ

「席数ベースおよび段階的な料金設定」はCoddyKit上の無料Stripe Payments & SaaS Billing Systemsレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはStripe Payments & SaaS Billing Systems学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Stripe Payments & SaaS Billing Systemsコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

Billing Beyond Flat Fees

Welcome! In this lesson, we'll dive into advanced pricing models that help your SaaS business grow: seat-based and tiered pricing.

While simple flat fees work for some products, many services benefit from dynamic pricing that scales with user count or usage. This allows for more flexible and fair billing.

What is Seat-Based Pricing?

Seat-based pricing is a common model where customers pay a recurring fee for each user or 'seat' they have access to your service.

  • Think of it like buying licenses for software.
  • If a team has 5 members, they'd pay for 5 'seats'.
  • It's straightforward and predictable for both you and your customers.

Examples include collaboration tools like Slack or project management software.

Seats with Stripe's Quantity

In Stripe, you implement seat-based pricing by creating a Product and a Price that represents a single 'seat' or unit.

When a customer subscribes, you set the quantity parameter on their subscription item to reflect the number of seats they need. If they add or remove users, you update this quantity.

Calculate Total Seat Cost

Here's a simple Java example to illustrate how the total cost for seat-based pricing is calculated. This logic is applied by Stripe internally.

public class Main {
  public static void main(String[] args) {
    double pricePerSeat = 10.50; // $10.50 per user
    int numberOfSeats = 5;
    double totalCost = pricePerSeat * numberOfSeats;
    System.out.println("Price per seat: $" + pricePerSeat);
    System.out.println("Number of seats: " + numberOfSeats);
    System.out.println("Total monthly cost: $" + String.format("%.2f", totalCost));
  }
}

What is Tiered Pricing?

Tiered pricing is a model where the price changes based on specific usage thresholds, or 'tiers'.

Instead of paying per user, customers might pay based on:

  • Data storage (e.g., GBs used)
  • API calls made
  • Number of invoices sent

This allows pricing to scale directly with a customer's consumption of your service.

Defining Tiers in Stripe

Stripe supports tiered pricing by allowing you to define tiers directly within a Price object. Each tier specifies a range of units and the price for those units.

There are two main types of tiered pricing in Stripe: graduated and volume. Understanding the difference is crucial for setting up your pricing correctly.

Graduated vs. Volume Tiers

Let's look at the two tiering strategies:

  • Graduated Pricing: Units within different tiers are charged at their respective tier's rate. For example, the first 100 units cost $X each, and the next 100 units cost $Y each.
  • Volume Pricing: All units are charged at the rate of the highest tier reached. If the customer's usage falls into Tier 2, all units are billed at the Tier 2 price.

Graduated Tier Calculation

Here's a Java example demonstrating how graduated pricing calculates the total cost based on usage. Notice how the price per unit changes for each tier.

public class Main {
  public static void main(String[] args) {
    int usageUnits = 180; // Example usage
    double totalCost = 0.0;

    // Tier 1: 0-100 units at $0.05 per unit
    if (usageUnits > 0) {
      int tier1Units = Math.min(usageUnits, 100);
      totalCost += tier1Units * 0.05;
      usageUnits -= tier1Units;
    }

    // Tier 2: 101-200 units at $0.04 per unit
    if (usageUnits > 0) {
      int tier2Units = Math.min(usageUnits, 100);
      totalCost += tier2Units * 0.04;
      usageUnits -= tier2Units;
    }

    // Tier 3: 201+ units at $0.03 per unit
    if (usageUnits > 0) {
      totalCost += usageUnits * 0.03;
    }

    System.out.println("Total usage units: 180");
    System.out.println("Calculated cost: $" + String.format("%.2f", totalCost));
  }
}

Volume Tier Calculation

Now, let's see how volume pricing works. The price for *all* units is determined by the highest tier reached.

public class Main {
  public static void main(String[] args) {
    int usageUnits = 180; // Example usage
    double pricePerUnit = 0.0;

    // Tier 1: 0-100 units -> $0.05/unit
    // Tier 2: 101-200 units -> $0.04/unit
    // Tier 3: 201+ units -> $0.03/unit

    if (usageUnits <= 100) {
      pricePerUnit = 0.05;
    } else if (usageUnits <= 200) {
      pricePerUnit = 0.04;
    } else { // usageUnits > 200
      pricePerUnit = 0.03;
    }
    
    double totalCost = usageUnits * pricePerUnit;

    System.out.println("Total usage units: 180");
    System.out.println("Price per unit (based on volume): $" + pricePerUnit);
    System.out.println("Calculated cost: $" + String.format("%.2f", totalCost));
  }
}

Choosing the Right Model

When deciding between seat-based and tiered pricing, consider your product and customer behavior:

  • Seat-based: Simple, predictable, great for user-centric tools. Easy for customers to understand their bill.
  • Tiered: Scales well with usage, can incentivize higher usage by offering better rates in higher tiers. More complex to explain.

Always prioritize clarity for your customers and ensure your chosen model supports your business goals.

Quick Check: Pricing Models

Test your understanding of seat-based and tiered pricing models in Stripe.

Recap: Dynamic Pricing

In this lesson, we explored how to configure more flexible billing models beyond flat fees:

  • Seat-based pricing is ideal for per-user models, managed by a subscription item's quantity.
  • Tiered pricing uses Stripe's tiers, with key differences between graduated (different prices per unit in each tier) and volume (all units priced at the highest tier's rate) models.

Choosing the right model helps you scale and monetize your SaaS effectively by aligning pricing with customer value.

無料で開始

AI チューターと学ぶ Stripe Payments & SaaS Billing Systems — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
12
レッスン
48

よくある質問

「席数ベースおよび段階的な料金設定」レッスンは無料ですか?

はい。「席数ベースおよび段階的な料金設定」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Stripe Payments & SaaS Billing Systemsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Stripe Payments & SaaS Billing Systemsコースには全4レッスンが含まれています。

「席数ベースおよび段階的な料金設定」で何を学びますか?

ユーザー数や機能構成の違いに対応できる、席数ベースおよび段階的な料金モデルを設定・管理します。 ブラウザで直接実行するハンズオンコードでStripe Payments & SaaS Billing Systemsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Stripe Payments & SaaS Billing Systemsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのStripe Payments & SaaS Billing Systemsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「席数ベースおよび段階的な料金設定」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このStripe Payments & SaaS Billing Systemsレッスンでコードを書いて実行できますか?

はい。すべてのStripe Payments & SaaS Billing Systemsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 従量課金システムの実装
  2. 席数ベースおよび段階的な料金設定
  3. カスタム請求サイクルとスケジュール
  4. 数量ベース価格と段階的価格設定を深く学ぶ
← Stripe Payments & SaaS Billing Systemsに戻る