All notes

SaaS Pricing Should Follow the Value of Use

Separate value, resource cost and billing units without making safe collaboration unnecessarily expensive.

English edition, edited for length. Read the complete Chinese original.

Changing the Billing Unit: How It Affects Usage Behavior

Assume that collaboration tools treat both read-only guests and editors as paid seats. This leads to customers sharing accounts, which negatively impacts auditing and permission control. If the pricing model doesn’t align with the perceived value by the customer, users may find ways to circumvent product rules through insecure practices.

The shared account isn’t a conclusion already observed, but rather a hypothesis worth investigating. Specifically, customers might reduce formal membership, duplicate materials, or delay invitations to save costs. If these actions disrupt collaboration, it’s more appropriate to review the pricing structure than to simply add stricter anti-sharing prompts first.

Unpacking the Value and Expenses

Whether a fee-based model is suitable depends on how the customer purchases and uses it. The purchasing manager may approve based on annual budgets, while individual members join temporarily for specific projects, and visitors only review the results. If all fees are based on fixed seats, customers may incur long-term costs for a single, short review, which could lead them to use an external file-sending service. This removes the collaborative context, and the customer loses access to permission records, making pricing a potential risk for the product.

This doesn’t mean that guests must always be free. Reading-only access, commenting, external reviews, and full editing may have different costs and benefits, and the rules should clearly define which actions change the billing identity. Users should be aware of the consequences before granting editing permissions, and administrators can control upgrades. Customers should not be informed about how a particular action automatically increases the number of paying users only after the end of the billing period.

Distinguish between value units, cost units, and billing units. While the concept of “person” is easy to understand, it doesn’t necessarily equate to resource cost. Storing something corresponds to a cost, but it may not be the primary reason for purchasing it. Clearly define the features, limits, and service levels for each package, to avoid confusing completely different dimensions within a single, vague “premium” version.

Define “active seat” precisely. Counting anyone who logged in, anyone who edited, or anyone who still has editing permission produces different totals. Activity-based billing also needs a defined period, deactivation timing, and rules for retroactive adjustments. If these cannot be explained before a member joins, a simple per-person price should not be used to conceal complex calculations.

Basic protections should not be withheld to force an upgrade. Necessary access controls, data export, and billing explanations need usable paths. This article discusses pricing structure, not an optimal price. Actual amounts depend on costs, buying behavior, and business constraints; they cannot simply be copied from a competitor’s price list.

No Penalties for Safe Use of Packages

The value unit answers why the customer buys; the cost unit describes what resources the supplier consumes; the billing unit defines how the customer is charged. These units can differ, but the differences need to be managed. A per-user model with substantial compute costs can include clear task quotas. A compute-based model aimed at non-technical buyers needs a translation into predictable business units. The rate table should let customers estimate their bills from the work they actually do.

The definition of “active” has a particularly significant impact on predictability. If a single unexpected login is counted as occupying a seat for the entire month, users need to be informed. Similarly, if deactivation only takes effect in the next cycle, this should also be clearly communicated during the operation. While permission status and billing status can be associated, they cannot be solely expressed through a single “member” field. The audit system must be able to explain why a particular person incurred a charge, while the permission system must independently guarantee access.

Basic security capabilities should not be circumvented by creating dangerous alternatives, such as forcing small teams to share credentials to gain basic access. More advanced management capabilities can be implemented with commercial tiers, but core data control, clear billing, and a reasonable exit path are still essential. Actual compliance obligations depend on the product and region, and cannot be replaced solely by package designs.

For collaborative value, the “per seat” model is suitable when the number of participants increases. For task sizes with significant variations, the “per quantity” model is more appropriate. Assuming the tool uses an editing seat plus storage quota, with separate rules for read-only guests, this reduces the incentive to share accounts. The hybrid model is more complex, so a reliable cost preview is necessary.

To effectively manage the budget, it’s crucial to understand the worst-case scenario. Reminders about budget limits and the ability to set upper bounds, along with clear explanations of overspending, can reduce uncertainty. However, it’s essential to distinguish between whether the upper bound actually stops the service or simply sends a notification. Budget controls should not be unintentionally triggered by similar-sounding names, leading to unexpected service shutdowns.

Excess and Downgrade Provisions are Specified Separately

Mixed billing is particularly prone to hiding complexity. The page should first display the fixed cost of the package, followed by the variable units, including the quota and overage calculation, to provide a preview based on usage scenarios. Package labels should not obscure these rules. Users are not only concerned with the current pricing, but also with whether there will be unexplained jumps in the price after the project expands.

The budget limit consists of soft reminders and hard stops. Soft reminders alert administrators when the budget is approaching its limit. Hard stops prevent the creation of new billing tasks. Specific behaviors are defined for existing running tasks, necessary reads, and exports. Hard stops cannot interrupt critical work without explanation, and they cannot claim to prevent charges while allowing background consumption to continue. The system and pricing page must be consistent.

Usage statistics should also define delays. The usage preview may show updated times and estimated values based on usage that has not yet been finalized. Details regarding corrections and late charges should be provided for the next billing cycle. Hiding delays within a seemingly real-time total amount would make it difficult for users to track their budgets.

Immediately locking data when a quota is exceeded raises migration costs. Adding people during an annual subscription can also produce confusing prorated charges. Give clear overage warnings and consequences. Users should still be able to export their own data after a downgrade; vague terms should not turn existing data into leverage for extracting payment.

Downgrading is not just about changing the package name. Files, shared resources, and automated tasks may rely on older capabilities, requiring individual instructions for read-only access, pausing, and exporting. Deletion should not be the default option; retaining data and continuing to charge should not be the only choice. Instead, a clear and defined exit and migration path should be provided.

Cost changes can be calculated

A downgrade may take effect next cycle or immediately, but the capabilities that remain must be explicit. Existing files above the storage quota could remain read-only and exportable while new uploads pause. Some advanced automated tasks could stop while retaining their configuration. This is a possible design, not a universal rule for every product. Before confirming, customers need to know which tasks will stop and which data will remain.

Cancellation and downgrading are distinct operations. Cancellation may stop recurring payments but retain access for the current period, while downgrading may maintain a paid subscription but reduce functionality. The interface should not use similar wording to mislead users into thinking they have completely stopped all payments. The results should clearly display the effective date, remaining access, and subsequent billing information, avoiding only showing a single successful checkmark.

The migration process also needs to cover the data structure. The export should not just be a non-recoverable snapshot, but should clearly indicate what content, attachments, and associated data can be exported. If certain internal analyses cannot be exported, it should be clearly stated in advance. Do not make promises about being able to recover all product functionalities simply because “data is available.” The exit capability should be verified using the correct format.

Maintain the plan capability matrix separately from the quota formulas. Before an upgrade, display estimated charges, the effective date, and the next renewal date. Before a downgrade, list the capabilities that will be lost. Automatic charges require explicit authorization and traceable records, with each fee change linked to a specific business event.

The details can be reconstructed from business changes. Seat increases have quantity, effective date, and the basis for adjustment. Quantities have units, ranges, and adjustment methods. Taxes and currencies are listed separately. The example amounts are only for validating the rules and should not be used as the final price for each region and payment method.

Verifying Four Customer Segments

Billing rules can use an event ledger. Seat additions, permission upgrades, deactivations, usage, and corrections each have an occurrence time and an effective time. Recalculate line items from those events, using a stable deduplication identity so replaying the same event does not charge twice. Refunds and discounts are separate adjustments that do not overwrite the original records. Support staff can then explain a bill rather than see only a final amount with no way to determine its source.

Proration needs an explicit denominator and boundary rules. Billing-cycle seconds, calendar days, and a provider’s defaults can produce different results; upgrades and downgrades may follow different rules too. State the assumptions for example calculations rather than present an unconfirmed formula as universally valid. Use the same rule source for the pricing page and payment implementation to keep the two from drifting.

Explain tax, currency, and refund policies separately. If the displayed currency differs from the settlement currency, explain the conversion. Regional taxes depend on the applicable rules; do not universally promise that all taxes are included. Automatic renewal and price-change notices must also follow the relevant contracts and laws. A generic clause reserving “final interpretation” rights is no substitute for a reliable explanation.

Calculate bills for four customer profiles: an individual, a small team, temporary guests, and an organization with high storage use but low headcount. Walk through adding seats, cancellation, downgrading while over quota, and restoring a subscription. Ask someone outside the product team to calculate the results from the page. Different answers indicate that the rules still need clarification.

Build a billing test fixture with three editors and two guests, adding one editor mid-month and returning to the original headcount at month-end. The page’s estimate should match the billing rules, and whether guests incur charges must be knowable before they join. Then test a downgrade in which headcount falls but storage remains over quota. Check that restrictions affect only the explicitly stated capabilities and that old files remain exportable. Hypothetical amounts do not reveal actual willingness to pay; this test establishes consistency between calculation and explanation. If support staff need hidden rules to calculate the invoice correctly, fix the rules or their explanation rather than add a more forceful purchase button.

Reconstructing a Bill from Changes Made by Three Editors

Start with three editors and two read-only guests. Add an editor mid-cycle, then return to three after the cycle ends. First define whether guests are billable, whether editor status depends on permissions or activity, when added seats become billable, whether reductions take effect next cycle, and the denominator used for proration. Without these rules, a fee calculation is guesswork. A synthetic rate can test consistency without presenting a hypothetical price as real commercial advice.

The system records the time of changes, the effective billing date, the billing cycle, the pricing version, and the unique identifier. The interface preview, sandbox billing, and detailed recalculations use the same rules. Duplicate seat events cannot result in overcharging; late arrival events have a basis for adjustment; discounts and refunds are recorded separately and do not affect the original transaction. Staff can use this information to explain why a particular person was charged, rather than just seeing a final total.

Permission changes and billing changes can be related without being identical. Moving a member to guest status may restrict editing immediately while the lower charge takes effect next cycle. Deactivating an account may revoke access immediately without refunding charges for the already-paid period. Show these states separately; an inactive member does not imply a refund. Revoking access for security reasons must not wait for billing synchronization to finish.

The budget limit must be consistent with the backend execution.

Soft reminders are simply notifications, while hard limits prevent new charging processes. The terms are clear: when the limit is reached, whether running tasks continue or stop, how unconfirmed charges are accounted for, and whether necessary reads and exports are retained, all need to be clarified. The system cannot promise that charging will not continue while allowing the background queue to consume indefinitely. The pricing page and actual execution contract should be tested together.

Usage-reporting delays make real-time limits imprecise. Label cost previews as estimates and show their update time. Budget enforcement may reserve capacity or use conservative allowances, but explain the mechanism and its error bounds. Release unused reservations after work finishes; if the result is unknown, retain a reconciliation state rather than treat a network failure as zero usage. The provider’s billing rules determine the final charges, while the application ledger records how to reconcile them.

Resuming after a limit is reached also requires authorization. When a user raises the budget or upgrades the plan, show the new limit, effective time, and cost, then let the backend resume from the new trusted state. A model or automated task wanting to finish does not authorize it to raise its own spending allowance. Budget controls are commercial and execution boundaries, not merely a number on a page.

Confirmation Display of Specific Objects Affected by Downgrade

Storage has exceeded the low-tier quota. Downgrading allows you to keep old files read-only and export them, while also pausing new uploads. Advanced automated tasks can be stopped but their configurations will be retained. This represents a design choice, not a mandatory requirement for any product. The key is that users should be aware of which files and tasks are affected before confirming, and that data will not be silently deleted or continue to be charged without notification.

Label “Cancel Renewal,” “Immediate Termination,” and “Downgrade” separately. Canceling renewal may preserve access for the current period, immediate termination may disable service at once, and downgrading may still incur charges. The result page should show the effective date, remaining capabilities, and possible subsequent invoices, not just a completion checkmark. Ask someone outside the product team to explain these consequences from the page. If hidden rules are needed, revise the explanation or the rules.

Define whether exports include body content, attachments, and relationships, and provide a genuinely usable format. A screenshot export is not portability. Explain when internal analyses cannot reproduce all product functionality. Test by downloading and reopening a synthetic project, checking attachment completeness and permissions, and accepting the exit capability on actual results. Vague claims about owning data must not conceal format limitations.

Price-based versions allow you to still understand past invoices

After public prices change, existing customers may retain old prices, migrate at renewal, or follow their contracts. Each invoice should reference the pricing rules actually applied, with notices and choices handled under the applicable agreement. Today’s price list must not overwrite the explanation for a historical bill. The page, permission matrix, and billing implementation need a common source or consistency checks so a plan rename cannot accidentally change existing capabilities.

Separate explanations for taxes, currencies, conversion, and automatic renewal rules are provided. Note that the displayed currency does not necessarily equal the settlement currency, and applicable taxes cannot be automatically determined through technical means. The payment provider may be able to calculate certain taxes, but this does not mean that the product automatically meets all regional obligations. Business contracts and legal requirements must be confirmed based on actual conditions. The examples provided in the article only demonstrate that the rules can be expressed.

Price fluctuations should also be observed in conjunction with instances of users circumventing the system. If customers are reducing formal membership, using public links, duplicating external resources, or frequently inquiring about billing, it may indicate a mismatch between the unit’s value and the collaborative platform. First, investigate the underlying reasons before directly penalizing the use of shared accounts or assuming that all circumvention is due to pricing. Increased revenue should not come at the expense of security and trust; success cannot be solely announced based on revenue increases.

Payment Intent Not Proven by Calculation Tests

Consistency between the page, implementation, and recalculation is a necessary foundation; it does not demonstrate that customers will buy. Procurement interviews reveal budgets and approval processes, observed choices provide some behavioral evidence, and commercial experiments still have scope limits and biases. Calling a price “reasonable” is not a payment commitment, and a successful payment may only represent a short trial. Validate pricing structure and amount separately so difficulty understanding the rules is not mistaken for a price that is too high.

Group four types of customers into a single acceptance process: individuals, small teams, temporary visitors, and those with high storage capacity and low numbers. For each category, track increases, decreases, overages, cancellations, and recoveries, along with associated costs and capabilities. A specific approach is suitable for the primary customer group but not for others. This allows for clear alternatives or temporary non-service, without the need for a complex, all-encompassing model that tries to apply all rules simultaneously.

Budget notifications need separate channel authorization and deduplication. A cost increase must not automatically expose invoices to every member. Administrators can see the necessary amount and reason; ordinary members can see an explanation that their own action may increase costs. Each audience has its own data scope. Billing transparency does not mean exposing the organization’s full financial information to all collaborators.

A failed payment need not immediately delete data. Define retries, grace periods, read-only access, and final retention policies in the contract, and explain state changes in advance. Provide separate paths for service recovery and billing confirmation. If a charge outcome is unknown, do not charge again blindly. Pricing design should explain how to continue after failure so users have a predictable service relationship.

Verify Structure and Price Separately

The calculation test allows for comparison of the predicted invoice, actual sandbox invoice, and recalculated details. It intentionally includes scenarios with duplicate seating, changes in cycle boundaries, and late usage after cancellation, to check the explanations and calculations. The test demonstrates consistent rules, but does not prove that the customer is willing to pay, which requires independent evidence of purchasing behavior, interviews, and business experiments.

Explanations provided by support staff also constitute acceptance. To ensure clarity, ask those who did not participate in the pricing process: “Will guest reviews be charged? When does the downgrade take effect? Can old files be accessed after overage? What outstanding invoices remain after cancellation?” If answering requires referring to a non-public rule, the explanation or rule should be clarified. The concise table should minimize the cognitive load for users and avoid transferring complex consequences to support staff.

After calculating and expressing the results consistently, further investigate price acceptance. Procurement interviews can reveal approval and budgeting, while real purchase observations can verify the selection. Controlled commercial experiments can compare different options. However, each method has its own biases, and simply hearing users say “it’s reasonable” does not guarantee payment. A clear structure is a necessary foundation, but it is not proof of the optimal price.

After launch, observe detour behavior and support issues, and don’t just focus on revenue. A large number of customers reducing formal membership, using public links, or frequently inquiring about invoices may indicate that the rules and collaborative tasks are not well-suited. First, investigate the real reasons and avoid directly punishing the behavior. While increasing revenue, it can also damage data security and trust, and cannot automatically be considered a success.

The price list, permission matrix, and billing implementation require a single source or consistency check. Renaming packages should not change functionality, and updates to limits should not omit the necessary backend execution. Changes to descriptions should not affect previous versions. Treating business rules as testable contracts helps reduce the long-term costs associated with “writing one page and billing another.”

References