# Pricing Plan

Snowflake Marketplace Product Pricing Plans

--- 

## Overview
Snowflake Marketplace offers two primary pricing models: **Usage-Based** and **Subscription-Based**. You can implement one or both models for your product listing.

## Usage-Based Pricing

Usage-based pricing charges consumers monthly based on their actual consumption of your data product. This model offers several charging options:

### 1. Billable Events
> Note: Custom Event Billing is only available for application listings.

Custom Event Billing allows you to charge for specific application usage patterns, such as:
- Per row modified
- Per procedure call
- Per row accessed
- Per unique row updated monthly (monthly active rows)
- Custom-defined events in your application

### 2. Per-Query Charges
- Fixed price per query accessing paid data
- Applies in addition to any monthly fees (if applicable)

### 3. Monthly Fee
- Fixed calendar month fee
- Triggered by:
  - First query execution against a Snowflake Native App
  - First access to paid listing data share
  - First run of a Snowflake Native App with Snowpark Container Services
- Not prorated; full month charged regardless of activation date
- No charge if no usage occurs during the month

### Usage-Based Pricing Requirements

For plans with dynamic charges (per-query or Custom Event Billing), you must specify:

1. **Maximum Monthly Charge Cap**
   - Defines the upper limit for total monthly costs
   - Includes all usage-based charges
   - Usage becomes free once cap is reached

2. **Free Query Allowance**
   - First query always incurs charges
   - Specify number of free queries after the first query
   - Regular pricing resumes after free queries are used

## Subscription-Based Pricing

Subscription-based pricing requires upfront payment for a specified term. Two billing options are available:

1. **Recurring Billing**
   - Automatic renewal at term end
   - Continuous access to data product

2. **Non-Recurring Billing**
   - Fixed-term access
   - Manual renewal required

### Installment Plan Options

To provide payment flexibility, you can offer installment plans that:
- Split total cost into multiple payments
- Allow customized payment schedules
  - Variable payment amounts
  - Front-loaded or back-loaded payments
  - Optional zero-payment periods

## How the committed amount is derived

When a private offer is accepted, Fours records a committed amount on the resulting entitlement and uses it in your notifications. Where that number comes from depends on the offer's payment type:

| Payment option on the offer | Committed amount |
| --- | --- |
| **Require full payment upfront** | The offer's **contract value** |
| **Accept installments** | The offer's **contract value** |
| Everything else (for example, follow the billing frequency) | The pricing plan's base fee, after the offer's discount |

For an upfront or installment offer the contract value is what the buyer actually committed to. It is negotiated per deal and often bears no relation to the plan's per-cycle base fee — an installment schedule, for instance, sums to the contract value rather than to any multiple of the base fee. Deriving the commit from the base fee in those cases produced a wrong figure on the entitlement, so the contract value wins whenever it is present and greater than zero.

If a Snowflake entitlement's commit looks wrong, check the offer's contract value first — that is the number it is reading.
