Open Startup™

Simple Analytics is an Open Startup™, which means it operates fully transparent and shares its metrics, including revenue, costs, users and traffic.

Monthly recurring revenue (MRR)

$1726 (164 paying customers)

At any given time, you can calculate MRR by summing the monthly-normalized amounts of all active subscriptions at that time. For example, an annual subscription for $1,200 only counts $100 towards your MRR. Things get more complicated once you consider discounts, tax, trials, delinquency, cancellations, and metered billing. The reason I've chosen active subscriptions (rather than summing your invoices, for instance) is because MRR is a forward looking metric that is distinct from the immediate cash flow you're about to receive (source Stripe).

Node.js code to calculate MRR from Stripe
const stripe = require('stripe')(process.env.STRIPE_SECRET)
let amount = 0
for await (const subscription of stripe.subscriptions.list({ status: 'active', limit: 100 })) {
  const { plan, discount } = subscription
  if (discount) {
    const { duration, amount_off } = discount.coupon
    if (duration === 'forever') amount -= amount_off
  }
  if (plan.interval === 'year') amount += (plan.amount / 12)
  else if (plan.interval === 'month') amount += plan.amount
}
const mrr = amount / 100
console.log(mrr)

Monthly recurring costs

Hosting ~$100

Simple Analytics uses the European provider 1984hosting.com based in Reykjavík, Iceland. The 1984 Hosting Company was established in 2006 by a couple of Free Software and civil rights enthusiasts. They have since grown to become Iceland's biggest web hosting company by far.

Domain names ~$9

Simple Analytics owns the domain simpleanalytics.is, simpleanalytics.io, and simpleanalytics.com. The first one is registered via The 1984 Hosting Company and the other one via the Dutch provider Intention. Our .com is still registered with an escrow.

Uptime monitoring ~$10

To know if our servers are still running correctly we use Hyperping. They have a beautiful interface in where you can also setup webhook which we connect to Telegram and Twilio to send alerts via the phone. They also check our SSL certificates from being expired.