Subscription Management

by claude-office-skills9c4c7d5cd281MIT499 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 8 months ago

SaaS subscription lifecycle management - billing, upgrades, downgrades, churn prevention, and revenue optimization

Instructions onlyBusiness & Finance
AI-generated overview

Guides SaaS subscription lifecycle work: billing, upgrades, downgrades, churn prevention and revenue operations.

What it does
Provides structured templates and playbooks for SaaS subscription management, covering lifecycle stages, pricing tiers, upgrade and downgrade flows, churn prevention, dunning sequences and revenue operations. It produces YAML-style configurations, workflow steps, offer matrices and a subscription metrics dashboard format. It is an instruction-only skill with no scripts or assets.
When to use it
Use it when planning or documenting subscription lifecycle processes such as pricing and packaging, upgrade or downgrade handling, churn prevention, dunning, or subscription revenue reporting. It suits finance, revenue operations and customer success planning work.
Requirements
No scripts are included; it is instructions only. The front matter references a billing MCP server with tools such as stripe_subscription, chargebee_api and paddle_billing, which would require those integrations and credentials to act on billing systems.

Subscription Management

Comprehensive SaaS subscription lifecycle management including billing operations, upgrade/downgrade flows, churn prevention strategies, and revenue optimization.

Overview

This skill covers:

  • Subscription lifecycle management
  • Pricing and packaging strategies
  • Upgrade/downgrade workflows
  • Churn prevention automation
  • Billing operations and dunning

Subscription Lifecycle

Lifecycle Stages

┌─────────────────────────────────────────────────────────────────┐│                    SUBSCRIPTION LIFECYCLE                        │├─────────────────────────────────────────────────────────────────┤│                                                                 ││  Trial ──▶ Conversion ──▶ Active ──▶ Expansion ──▶ Renewal     ││    │           │            │           │            │          ││    ▼           ▼            ▼           ▼            ▼          ││  [Drop]    [Churn]     [Downgrade]  [Churn]     [Churn]        ││                            │                        │           ││                            ▼                        ▼           ││                       [Win-back] ◀──────────── [Win-back]      ││                                                                 │└─────────────────────────────────────────────────────────────────┘

Stage Definitions

yaml
lifecycle_stages:  trial:    duration: 14_days    goal: activation + conversion    key_metrics:      - trial_starts      - activation_rate      - trial_to_paid_conversion    automation:      - onboarding_emails      - in_app_guidance      - sales_touch (if qualified)        active:    goal: value_delivery + expansion    key_metrics:      - feature_adoption      - nps_score      - expansion_revenue    automation:      - health_scoring      - usage_alerts      - upsell_triggers        at_risk:    trigger: health_score < 40 OR usage_drop > 50%    goal: retention    key_metrics:      - save_rate      - churn_reason    automation:      - csm_alert      - retention_offer      - executive_escalation        churned:    goal: win_back    key_metrics:      - reactivation_rate      - time_to_reactivate    automation:      - exit_survey      - win_back_campaigns      - competitive_monitoring

Pricing & Packaging

Pricing Strategy Template

yaml
pricing_tiers:  starter:    price: $29/month    billing: monthly or annual (2 months free)    target: solopreneurs, small teams    limits:      users: 5      storage: 10GB      features: core_only    positioning: "Get started"      professional:    price: $79/month    billing: monthly or annual    target: growing teams    limits:      users: 25      storage: 100GB      features: core + advanced    positioning: "Most popular"    highlight: true      business:    price: $199/month    billing: monthly or annual    target: scaling companies    limits:      users: unlimited      storage: 500GB      features: all + priority_support    positioning: "For growth"      enterprise:    price: custom    billing: annual only    target: large organizations    limits:      users: unlimited      storage: unlimited      features: all + sso + api + sla    positioning: "Contact sales"    add_ons:  - extra_storage: $10/50GB  - api_access: $50/month  - priority_support: $100/month  - dedicated_csm: $500/month

Value Metrics

yaml
value_metric_options:  per_seat:    charge: per_active_user    pros: predictable, aligns with growth    cons: may limit adoption    best_for: collaboration tools      usage_based:    charge: per_api_call, per_GB, per_transaction    pros: low barrier, scales with value    cons: unpredictable revenue    best_for: infrastructure, APIs      feature_tiered:    charge: based_on_features_used    pros: clear upsell path    cons: may feel restrictive    best_for: software with distinct use cases      hybrid:    charge: base_fee + usage_overage    pros: predictable base + upside    cons: complex to explain    best_for: mature products

Upgrade/Downgrade Flows

Upgrade Automation

yaml
upgrade_triggers:  usage_based:    - trigger: approaching_user_limit (80%)      action:        - in_app_notification: "You're almost at your limit"        - email: upgrade_suggestion        - if_ignored: soft_limit_warning            - trigger: feature_blocked (tried advanced feature)      action:        - in_app_modal: feature_preview + upgrade_cta        - track: feature_interest            - trigger: consistent_overage (3+ months)      action:        - csm_outreach: proactive_upgrade_discussion          behavior_based:    - trigger: power_user_behavior      condition: >5h/week usage AND >10 team members invited      action:        - flag_as: expansion_opportunity        - assign: csm_for_outreach          time_based:    - trigger: 90_days_on_same_plan      action:        - email: "Are you getting the most out of {Product}?"        - include: feature_comparison
upgrade_flow:  steps:    1. show_comparison: current_vs_recommended    2. highlight_value: features_they've_tried_to_use    3. offer_discount: if_annual (optional)    4. prorate_billing: charge_difference_immediately    5. unlock_features: immediately    6. send_confirmation: email + in_app    7. trigger_onboarding: for_new_features

Downgrade Prevention

yaml
downgrade_flow:  steps:    1. intercept_request:        show: "Before you go..."        offer:           - pause_subscription: 1-3_months          - discount: 20%_for_3_months          - free_month: if_annual              2. collect_reason:        options:          - too_expensive          - not_using_features          - switching_to_competitor          - company_downsizing          - temporary_pause              3. tailored_response:        too_expensive:          - offer: lower_tier_suggestion          - show: cost_per_user_value                  not_using_features:          - offer: training_session          - show: quick_wins_tutorial                  switching_to_competitor:          - ask: which_competitor          - offer: competitive_discount          - flag: for_win_back_later              4. if_proceeds:        - schedule_downgrade: end_of_billing_cycle        - preserve_data: for_potential_return        - send_survey: detailed_feedback            5. track:        - reason        - offers_presented        - offers_accepted/declined        - revenue_impact

Churn Prevention

Health Scoring

yaml
customer_health_score:  components:    product_usage: 40%      signals:        - daily_active_users: vs_licensed_seats        - feature_adoption: core_features_used        - login_frequency: weekly_active        - depth_of_use: actions_per_session            engagement: 30%      signals:        - email_opens: last_30_days        - support_sentiment: positive_vs_negative        - nps_score: latest        - community_participation: if_applicable            relationship: 20%      signals:        - csm_touchpoints: recent_calls        - executive_sponsor: identified        - contract_length: multi_year_bonus            financial: 10%      signals:        - payment_history: on_time_payments        - expansion_history: upgrades_vs_downgrades        - invoice_disputes: count          scoring:    90-100: healthy (green)    70-89: stable (yellow)    40-69: at_risk (orange)    0-39: critical (red)      automation:    critical:      - immediate: csm_alert + call_scheduled      - if_no_response: manager_escalation          at_risk:      - same_day: csm_notification      - action: health_check_call          stable:      - weekly: review_in_team_meeting          healthy:      - monthly: expansion_opportunity_review

Dunning Management

yaml
dunning_sequence:  payment_failed:    day_0:      - retry_payment: automatic      - email: "Payment failed - please update"      - in_app: banner_notification          day_3:      - retry_payment: automatic      - email: "Action needed: Update payment"      - include: direct_update_link          day_7:      - retry_payment: automatic      - email: "Your account is at risk"      - sms: if_enabled      - downgrade_warning: true          day_14:      - final_retry: automatic      - email: "Final notice before suspension"      - csm_call: for_high_value_accounts          day_21:      - suspend_account: read_only_access      - email: "Account suspended"      - preserve_data: 90_days          day_90:      - delete_data: after_warning      - final_email: account_closure        recovery_metrics:    track:      - involuntary_churn_rate      - recovery_rate_by_day      - avg_days_to_recovery      - revenue_recovered

Revenue Operations

Billing Automation

yaml
billing_operations:  invoice_generation:    timing: 7_days_before_renewal    include:      - usage_summary      - upcoming_charges      - payment_method        proration:    upgrades: charge_immediately (prorated)    downgrades: credit_at_next_billing    mid_cycle_changes: calculate_daily      discounts:    types:      - percentage: 10%, 20%, 30%      - fixed: $X off      - free_months: 1-3 months    controls:      - approval_required: >30%      - expiration: always_set      - one_per_customer: unless_approved        revenue_recognition:    method: ratable    timing: monthly    deferred_revenue: track_separately

Reporting Dashboard

markdown
# Subscription Metrics Dashboard
## MRR Summary| Metric | Value | MoM Change ||--------|-------|------------|| Total MRR | $500K | +8% || New MRR | $50K | +15% || Expansion MRR | $30K | +12% || Churn MRR | $20K | -5% || Net New MRR | $60K | +20% |
## Subscription Health| Tier | Customers | MRR | Avg Health ||------|-----------|-----|------------|| Enterprise | 50 | $200K | 85 || Business | 150 | $180K | 78 || Professional | 400 | $100K | 72 || Starter | 800 | $20K | 65 |
## At-Risk Accounts (Action Needed)| Company | MRR | Health | Risk Reason ||---------|-----|--------|-------------|| Acme Co | $5K | 35 | Usage drop 60% || Tech Inc | $3K | 42 | Payment failed || StartupX | $2K | 38 | No login 30 days |
## Churn Analysis- Voluntary: 1.5% (target: <2%) ✅- Involuntary: 0.8% (target: <1%) ✅- Top reason: Price (35%)- Save rate: 25%

Output Example

Request: "Create a churn prevention workflow for a SaaS product"

Output:

markdown
# Churn Prevention Workflow
## Early Warning System
### Health Score Triggers
```yamltriggers:  critical_alert: # Health < 40    - immediate: slack_alert_to_csm    - same_day: schedule_call    - email: "We noticed you haven't logged in..."    - offer: free_training_session      usage_drop: # >50% decrease    - email: "Everything okay?"    - in_app: help_resources    - csm_task: check_in_call      support_escalation: # Negative sentiment    - flag: at_risk    - csm_notification: with_context    - executive_apology: if_major_issue

Intervention Playbook

Scenario: Low Usage

Day 1: Automated email"Hi {name}, we noticed {Product} usage is down. Everything okay? Here are 3 quick wins to get value fast:"
Day 3: In-app message"Need help? Book a free 15-min session with our team."
Day 7: CSM callAgenda: Understand blockers, offer solutions
Day 14: Manager escalationIf no response, escalate internally

Scenario: Payment Failed

Hour 0: Retry payment automaticallyHour 1: Email with update linkDay 3: Second email + SMSDay 7: CSM call for high-value accountsDay 14: Final warningDay 21: Suspend (preserve data 90 days)

Save Offer Matrix

Churn ReasonOffer
Too expensive20% off 3 months
Not usingFree training + pause option
CompetitorMatch pricing + migration help
DownsizingDowngrade to lower tier
TemporaryPause 1-3 months free

Metrics to Track

  • Save rate: Target >25%
  • Time to intervention: <24h for critical
  • Churn reason distribution
  • Offer acceptance rate
  • Recovered revenue

---
*Subscription Management Skill - Part of Claude Office Skills*

Source and attribution

Source:claude-office-skills/skillsinsubscription-managementat commit9c4c7d5

License: MIT

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal