Article

Free tiers in software products: specifying limits and plan changes

Before promising free access, define what counts and what happens at the limit. Plan allowances, costs, existing data and upgrades as part of the product specification.

By Aviel Shnaider · CTO, JuliusUpdated 6 min read

A free tier should let people obtain useful value while setting a clear boundary on the cost the business promises to carry. Before development, define what counts toward usage, when the allowance resets and what users can do after it runs out. Do not leave these decisions until the pricing page is designed. They affect data retention, permissions, billing, support and the relationship with people who have already started relying on the product.

What does Flickr's historical change illustrate?

In November 2018, Flickr published an explanation of changes to free accounts: moving from the free terabyte introduced in 2013 to a planned limit of one thousand photos and videos. The company said the previous offer had shaped expectations that storage was not worth paying for. This is the company's historical explanation, not our assessment of its current pricing or policies.

Our interpretation is that a free promise can influence behaviour long after registration. Someone who has built an archive experiences a reduced allowance differently from someone comparing prices for the first time. A plan therefore needs to account for the day its economics change. This is not a recommendation to avoid free access. It is a reason to understand the commitment, whom it helps and how changes can be communicated to people who depend on the system.

Start with the value a user should obtain

Describe a complete action the plan enables: preparing a useful document, finishing an analysis or managing a real task. If the allowance expires before the first result can be evaluated, it becomes difficult to learn whether the product is useful. Conversely, unlimited access to an expensive service can turn registration into an uncontrolled expense. These are separate questions: did the user reach value, and can the business fund that pattern of use?

Choose a unit that is easy to explain, then examine whether it reflects cost. A document count may be understandable while concealing the difference between a short document and an enormous file. An AI-action count may hide differences in input length and processing complexity. Sometimes a simple product allowance needs a separate technical limit, such as maximum file size. Show any boundary that affects an action before users spend time preparing it.

Separate allowances, rate limits and trials

A monthly allowance defines consumption within a period. A rate limit restricts activity over a short interval. A trial defines how long particular access remains available. Mixing these concepts produces confusing promises: someone can be far below the monthly allowance and still be blocked by their activity rate. A useful specification explains the reason and the available next step for each state instead of relying on a generic error message.

A Julius integration decision document for email notifications examined a provider's monthly allowance separately from its daily cap. The discussion considered how a short burst of enquiries could affect notifications even when monthly usage was low. This is evidence from an internal planning document, not a claim that a client experienced an incident or achieved measured savings. We are not presenting its historical prices and quotas as currently available plans. The point is to examine more than one number on a pricing page.

Define boundary behaviour before writing code

Decide whether the next action is blocked, saved as a draft or queued until the allowance renews. Consider access to existing information separately from creating new information. Stopping creation does not automatically require making previous results inaccessible. If data is treated differently after a trial ends, define and explain that behaviour in advance. This product decision should be reviewed with the responsible business and legal owners as appropriate to the context.

Also record what counts when an operation fails or is submitted twice. In a hypothetical example, a report request that fails before producing a result might receive an allowance refund under the policy you choose. Without an explicit decision, support staff and users may count usage differently from the server. Test simultaneous requests, plan changes and period renewal so that the interface does not promise remaining capacity that the system has already consumed.

Test the economics through scenarios, not just averages

Build a simple estimate of cost per active user covering storage, processing, external services and manual work. Separate expenses that continue when someone stops returning from expenses generated by each action. Examine ordinary usage, heavy usage and a concentrated registration surge. Inputs should come from invoices, measurements or relevant supplier quotes. Where they remain estimates, label them and specify when they will be checked again.

Not every free user has to become a paying customer to contribute value to a product. However, the plan needs a defined purpose: evaluation, sharing, community participation or customer acquisition. Measure task completion and repeat use alongside cost and conversion. Registration totals alone cannot tell you whether the plan works. Begin at a scale that supports learning, with an owner authorised to change the offer and a scheduled review date.

Plan changes before an incident forces a policy

Write down how changes will be announced, when they take effect and what existing users can choose. Options might include a transition period, preserving terms for a particular group or stopping new creation while retaining access to existing work. These are planning alternatives, not rules that fit every product. Do not make data deletion the technical default for a downgrade; that decision needs its own process and a clear explanation.

When commissioning software product development, include plan states, counting rules and acceptance checks in the technology product specification. For a product that invokes models, connect the plan to cost and failure cases discussed in our guide to choosing AI developers. The resulting development proposal can then cover behaviour over time, rather than merely a pricing card and a registration button.

In short

  • Define a meaningful completed task before choosing the allowance.
  • Separate periodic allowances, rate limits and trial duration.
  • Plan access to existing data and the handling of changed terms.

From our own work

An internal Julius integration decision examined monthly allowances alongside daily caps for email notifications. This supports a documented planning consideration, not a business outcome or production incident.

Recurring questions

Should we offer a free tier or a timed trial?

The choice depends on time to value and usage cost. A trial supports evaluation within a defined window; a free tier permits continued use at a limited scale. First define the task someone should complete and the ongoing expense the business can support.

What should happen when a user reaches the allowance?

Show a clear reason and a next step consistent with policy: wait for renewal, upgrade or save a draft. Decide separately what happens to existing information. Blocking new creation does not automatically require blocking access or deleting previous results.

What belongs in the specification before development starts?

Include counting units, reset timing, failure handling, simultaneous-request behaviour and plan transitions. Define user messages and acceptance checks alongside them. This lets the team estimate the work and avoids accidentally creating policy through technical implementation choices.

Sources

Keep reading

← Back to the cluster: From idea to MVP