Term Optimization
Offer annual upgrades to engaged monthly subscribers when a tier has annual pricing.
Monthly subscribers who stay for 3 or more months are good candidates for annual billing. Arcalotl can identify eligible subscribers and offer the annual option for the same tier.
Term optimization requires an annual billing option on the same tier. Arcalotl uses the annual price you configure. It does not invent a discount by itself.
How it works
- Arcalotl tracks how long each monthly subscriber has been active
- After the configured threshold, default 90 days, it sends a DM
- The DM shows the annual price and the savings compared with monthly billing
- If the member accepts, Stripe switches the subscription to annual without an immediate proration invoice
- If they decline, they stay on monthly. The same member is not asked again for 180 days
What members see
Term optimization offers are sent by DM. The offer includes the server when that can be resolved, the member's current monthly price, the annual price for the same tier, and the calculated yearly savings.
If the DM cannot be delivered, Arcalotl marks the offer as undeliverable. Term optimization does not create a private fallback channel.
Member message copy
This is the exact member-facing copy Arcalotl sends for annual billing offers.
Offer DM:
Save with Annual Billing!
You've been a loyal [plan name] subscriber for over 3 months! Switch to annual billing and save.Offer fields:
| Field | Value format |
|---|---|
| Server | [server name] with a server link when available |
| Current Monthly | $[monthly amount] [CURRENCY]/month |
| Annual Plan | $[annual amount] [CURRENCY]/year |
| You Save | $[savings amount]/yr ([savings percent]%) |
Offer buttons:
Switch to Annual
No ThanksWhen the member accepts, the original offer message is updated to:
Offer Accepted!
Your subscription has been switched to annual billing. Thank you!Arcalotl also sends this confirmation DM after the annual switch succeeds:
Switched to Annual Billing!
You've switched to annual billing! Savings: $[savings amount]/yearWhen the member declines, the original offer message is updated to:
Offer Declined
No worries! Your monthly subscription continues as-is.If the member clicks an offer that has already expired or already been processed, they see:
Offer Expired
This offer has expired or already been processed.Why it matters
Annual billing helps communities collect more revenue up front and gives members a clear reason to commit for longer. Converting a $9.99 monthly subscriber to $95.88 per year means:
- Prepaid annual revenue instead of monthly billing
- Lower monthly churn exposure for that member
- Clear savings when the annual price is lower than 12 monthly payments
Annual savings are not just a discount. They reduce churn points. A monthly subscriber has a renewal decision every month; an annual subscriber commits once and stays through the year. That can increase LTV, or lifetime value, which is the total revenue a member is expected to generate before they churn. A lower annual price can still raise LTV because revenue is collected up front and the member has fewer chances to drop out of the paid role.
Configuration
| Setting | Default | Description |
|---|---|---|
| Tenure before offer | 90 days | Active subscription age before offering annual |
| Offer frequency | 180 days | Minimum time before the same member can receive another offer |
| Post-dunning cooldown | 30 days | Minimum time after a resolved dunning sequence before offering annual |
| Annual price | Your configured annual option | Uses the actual annual price on the same tier |
The default thresholds are intentionally conservative: wait for an engaged monthly subscriber, avoid recent payment-recovery cases, and do not ask the same member too often. Change these settings only when your community has a clear reason, such as seasonal memberships, cohort-based pricing, or a known annual conversion strategy.