Skip to content

Pricing experiment

Experiment: annual-vs-monthly discount test

The annual-discount test is the most common indie SaaS pricing experiment after price-point itself. The right discount is product-specific; the wrong one either trains customers to wait or fails to lift LTV. The framework below names what to measure and how to read the noise.

Min sample size: 200+ paying customers per variant. Annual decisions are higher-stakes; sample sizes need to be larger than monthly tests.

Duration: 60-90 days minimum. Annual-to-renewal effects are 12 months out; the in-test window is the initial-conversion measurement.

Verified · editorial policy

Hypothesis structure

Changing the annual discount from [CURRENT %] to [VARIANT %] will [INCREASE / MAINTAIN] revenue per visitor by at least [EXPECTED LIFT] because [SPECIFIC REASON].

If you cannot complete this template, you do not have an experiment — you have a guess.

Variant design

Only the annual-tier discount changes. Same monthly price; same product; same pricing-page layout.

Primary metric

Revenue per visitor over 90 days. Annual plans pay-upfront, which inflates the short-term metric; the 90-day window normalizes.

Secondary metrics (watch but do not decide on)

  • Annual vs monthly mix (how does the discount shift the cohort split?).
  • Refund rate (higher discounts often correlate with higher refund risk).
  • Year-2 renewal rate (the real LTV question).

Procedure

  1. Step 1

    Document the current annual discount and rationale

    Most indie SaaS default to 16-17% (two months free). What is the current rationale? Is it a real measured choice or a copy of the SaaS-norm?

  2. Step 2

    Pick the variant

    Common tests: 10% (more lift on monthly value, lower friction) vs 20% (stronger annual draw, real cash impact). 25%+ tends to train customers to wait for the annual.

  3. Step 3

    Split at the pricing-page level

    Server-side split keyed to a stable identifier. Different visitors see different annual prices.

  4. Step 4

    Measure mix shift AND revenue per visitor

    A higher discount usually shifts mix toward annual without lifting per-visitor revenue. Mix without revenue is not a win.

  5. Step 5

    Check refund rate per cohort

    Discount-attracted annual customers can refund earlier. Refund rate at 30, 60, 90 days for each cohort.

Self-deceptions to avoid

  • Reading short-term cash-spike from annual conversions as a 'win'. Pay-upfront inflates short-term revenue; the real test is per-visitor revenue normalized.
  • Ignoring refund-rate differences. Discount-attracted cohorts often refund more.
  • Skipping the renewal-rate check. The whole point of annual is the locked-in year; if renewal drops, the discount cost was not worth it.

What success looks like

Variant produces 15%+ higher revenue per visitor over 90 days, refund rate within 1pp of control, and (12 months later) renewal rate within 5pp.

Related benchmark

See the directional range for annual vs monthly discount to calibrate the expected lift in your hypothesis.

Frequently asked

Is 'no annual plan' a valid choice?
Yes. Many indie SaaS at sub-$100/month price points do better without annual. The annual-vs-monthly decision is product-specific; default to no-annual until you have data that says otherwise.

Test on a page that is already pointed in the right direction

A/B tests on a misaligned page produce two losing variants. The diagnostic labels the alignment problem first; the test optimizes within the right alignment.

🚀 Explore Our Network

Full disclosure: UnlockSaaS is one of ten small products built and run by one independent operator. These are the other nine.

60 days
To First Paying Customer
7 steps
Proven Playbook
100%
Money-Back Guarantee
$49
Founding Price /mo

You shipped. Nobody paid. The playbook breaks the pattern or the code refunds you automatically.

Get Free Diagnosis

Refund runs from your dashboard, not a support ticket — the server re-checks eligibility and issues it through Stripe automatically.