Normally Pleasant Mixture
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    stripe-cohortpublic

    stripe-cohort

    Create Stripe customer cohorts for a useful business overview.

    Overview

    If you're interested in getting a cohort based overview of your Stripe customers, then this library might be of help.

    It currently supports the following stats (by cohort):

    • Total number of customers
    • Monthly recurring revenue
    • Number of subscriptions
    • Subscriptions by plan

    Installation

    $ npm install stripe-cohort
    

    Example

    Create a new Stripe cohort (by the customer's created date):

    cohort(new Date('1/1/2014'), new Date('2/1/2014'), function (err, customers) {
      console.log(customers.count() + ' created in January!');
    });

    And the returned customers object lets you dive deeper into the cohort.

    Number of Customers

    You can query the total amount of customers returned:

    customers.count();

    or filter further inside the cohort by the customers' created date:

    customers.count(new Date('1/15/2014'), new Date('1/24/2014'));

    Customer List

    customers.list()
    [
      {
        id: 'cus_2983jd92d2d',
        name: 'Patrick Collison',
        ..
      },
    ]

    or filter further by the customers' created date:

    customers.list(new Date('1/15/2014'), new Date('1/24/2014'));

    or get all the delinquent customers:

    customers.delinquent().count();

    Subscriptions

    You can learn about your active subscriptions too:

    customers.subscriptions().count();

    Or the ones created between the date provided:

    customers.subscriptions(new Date('1/15/2014'), new Date('1/24/2014')).count();

    Or just get the list of Stripe subscription objects:

    var objects = customers.subscriptions().list();

    Monthly Recurring Revenue

    You can get the monthly recurring revenue from the active subscriptions on the customers:

    customers.subscriptions().active().mrr();

    And for the trialing accounts:

    customers.subscriptions().trialing().mrr();

    And for any status really:

    customers.subscriptions().status('unpaid').mrr();

    And you can query the monthly recurring revenue by subscription start within a cohort:

    customers.subscriptions().active().mrr(new Date('1/15/2014'), new Date('1/16/2014'));

    Remember that the montly recurring revenue does not equal charges. For example, if a customer upgrades from a $29 plan to a $79 plan today, they will pro-rated for the rest of their billing period. That means you did not make the $79 yet, but you'll make the difference next month. For hard cash, use stripe-charges.

    Plans

    It's also interesting to know what plans the subscriptions are being set at. You can select the subscriptions that fall under that plan:

    var mrr = customers.subscriptions().active().plan('startup').mrr();
    console.log('We made $' + mrr + ' off the startup plan!');

    License

    MIT

    install

    npm i stripe-cohort

    Downloadsweekly downloads

    4

    version

    0.0.3

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar
    • avatar