node package manager


Stripe subscriptions plugin for segmentio/dashboards


A Stripe subscriptions plugin for segmentio/dashboards.

Use this plugin to visualize Stripe subscription and MRR changes over time.

$ npm install dashboards-stripe-subscriptions
var Dashboards = require('dashboards');
var subscriptions = require('dashboards-stripe-subscriptions');
new Dashboards()

If you provide the Stripe plan name to plan id mapping, then the module can get you plan level statistics.

var plans = {
  project: 'project-id',
  startup: 'startup-id',
  growth: 'growth-id'
var dashboards = new Dashboards()
  .use(subscriptions('stripe-key', { plans: plans }))

You can further filter customers using stripe-cohorts filters:

new Dashboards()
  .use(subscriptions('stripe-key', { filter: filter }))
function filter (customer) {
  return !== 'cus_8239d2jd9j'; // filter enterprise customer X 

The metrics exposed by this plugin are divided by date granularity.


  • new subscriptions today
  • new MRR today
  • new subscriptions yesterday
  • new MRR yesterday
  • new subscriptions 2 days ago
  • new MRR 2 days ago


  • new MRR 0-1 weeks ago
  • new subscriptions 0-1 weeks ago
  • new MRR 1-2 weeks ago
  • new subscriptions 1-2 weeks ago


  • new MRR 0-1 months ago
  • new subscriptions 0-1 months ago
  • new MRR 1-2 months ago
  • new subscriptions 1-2 months ago


  • self service MRR
  • subscription

Weekly Sparkline:

  • new subscriptions for the last week
  • new mrr for the last week

Here's a full example of a Geckoboard dashboard showing Stripe subscription dashboards:

var Dashboards = require('dashboards');
var subscriptions = require('dashboards-stripe-subscriptions');
var pipe = require('parallel-ware-pipe');
var geckoboard = require('geckoboard')('api-key');
new Dashboards()
  .use(pipe(' new mrr for the last week', widget('widget-id').sparkline))
  .use(pipe(' charged 0-1 months ago', ' charged 1-2 months ago', widget('widget-id').percentageChange))
  .use(pipe(' new subscriptions for the last week', widget('widget-id').sparkline))
  .use(pipe(' new subscriptions 0-1 months ago', ' new subscriptions 1-2 months ago', widget('widget-id').percentageChange))