subscription_mrr_snapshot

Collection: subscription_mrr_snapshots

An MRR snapshot captures pre-aggregated daily subscription metrics for a store. One row is generated per store per day, representing end-of-day state in the store's configured timezone. These snapshots power MRR/ARR dashboards and trend analysis without requiring expensive real-time queries.

All monetary amounts are in the store's configured currency. MRR values are normalized to a monthly equivalent based on each subscription's billing frequency.

Snapshots are read-only and are generated automatically by a nightly job. Access snapshots for a store: GET /stores/{id}/subscription_mrr_snapshots.

Required Scopes

Full store_full_access
Read subscriptions_read
Write subscriptions_write

Actions

GET View a subscription mrr snapshot
HEAD Get just the header response
OPTIONS Get a response explaining which HTTP methods are supported

Properties (21)

snapshot_date Date · Read-only

The date this snapshot represents, in the store's configured timezone.

Format: YYYY-MM-DD

active_count Integer · Read-only

Total number of active subscriptions at end of day.

new_count Integer · Read-only

Number of new subscriptions created on this day.

cancelled_count Integer · Read-only

Number of subscriptions cancelled or auto-cancelled on this day.

past_due_count Integer · Read-only

Number of active subscriptions with a past-due amount greater than zero at end of day.

mrr Decimal · Read-only

Total Monthly Recurring Revenue from all active subscriptions at end of day, normalized to a monthly equivalent.

new_mrr Decimal · Read-only

MRR added from subscriptions created on this day.

churned_mrr Decimal · Read-only

MRR lost from subscriptions cancelled on this day.

expansion_mrr Decimal · Read-only

MRR gained from subscription amount increases (upgrades) on this day.

contraction_mrr Decimal · Read-only

MRR lost from subscription amount decreases (downgrades) on this day.

net_new_mrr Decimal · Read-only

Net change in MRR: new_mrr minus churned_mrr plus expansion_mrr minus contraction_mrr.

collected_amount Decimal · Read-only

Total amount successfully collected from subscription transactions on this day.

failed_amount Decimal · Read-only

Total amount from subscription transactions that failed collection on this day.

past_due_total Decimal · Read-only

Total cumulative past-due balance across all active subscriptions at end of day.

dunning_reattempts Integer · Read-only

Number of automated dunning reattempt billing attempts on this day.

dunning_recovered_count Integer · Read-only

Number of subscriptions where a dunning reattempt succeeded on this day.

dunning_recovered_amount Decimal · Read-only

Revenue recovered via successful dunning reattempts on this day.

dunning_emails_sent Integer · Read-only

Number of dunning/reminder emails sent to customers on this day.

dunning_auto_cancelled Integer · Read-only

Number of subscriptions automatically cancelled by the dunning system on this day.

details Object (JSON) · Read-only

Optional JSON object with additional metric breakdowns (e.g., by frequency, product category, or payment method). Null if no additional breakdowns were computed. Rows backfilled from historical data will include {"backfilled": true}.

date_created DateTime · Read-only

The date this snapshot record was created.

Link Relations (2)

self This MRR Snapshot
fx:store GET PATCH PUT DELETE This Store
https://api.foxycart.com/subscription_mrr_snapshots/{id}

Example Representation

{
  "_links": {
    "curies": [
      {
        "name": "fx",
        "href": "https://api.foxycart.com/rels/{rel}",
        "templated": true
      }
    ],
    "self": {
      "href": "https://api.foxycart.com/subscription_mrr_snapshots/123",
      "title": "This MRR Snapshot"
    },
    "fx:store": {
      "href": "https://api.foxycart.com/stores/456",
      "title": "This Store"
    }
  },
  "snapshot_date": "2026-03-18",
  "active_count": 342,
  "new_count": 5,
  "cancelled_count": 2,
  "past_due_count": 12,
  "mrr": 8450,
  "new_mrr": 125,
  "churned_mrr": 49.99,
  "expansion_mrr": 20,
  "contraction_mrr": 5,
  "net_new_mrr": 90.01,
  "collected_amount": 3210.5,
  "failed_amount": 199.98,
  "past_due_total": 599.94,
  "dunning_reattempts": 3,
  "dunning_recovered_count": 2,
  "dunning_recovered_amount": 99.98,
  "dunning_emails_sent": 4,
  "dunning_auto_cancelled": 0,
  "details": null,
  "date_created": "2026-03-19T01:00:00-0700"
}