Curated by Carsonified

Learn with Treehouse

Accessibility, CSS3, Design, Django, HTML & CSS, HTML5, JavaScript, jQuery, NoSQL, PHP, Responsive Web Design, Ruby, Ruby on Rails, Tools, UX, Version Control, WordPress, iOS and more

Article 41

How to Track Six Key Metrics for Your Web App

By @ryancarson

01 September 2010 | Category: Business

I'd like to share six very important things you should be measuring in your recurring revenue web app.

Screengrab of Google Spreadsheet showing various numbers and highlights

We launched TVM several months ago and it's going (thankfully) amazingly well. After launch, the biggest challenge became the ability to identify, track, digest and act upon key metrics.

After a lot of discussion with old pros like Mike McDerment of Freshbooks (who has grown his company to 45 people and tons of profit) and a lot of Google Spreadsheet wrangling, I've come up with a useful blueprint for anyone running a recurring revenue web app.

I'll explain the six key metrics first, and then give you the link to the Google Spreadsheet. You can make a copy of the sheet and modify it for your own app.

1. Churn

Churn is the % of customers that cancel each month.

Calculation: number_cancellations_this_month / total_number_paying_customers

This will vary wildly depending on what kind of app you have. For example, if you have a product that does invoicing, your churn rate will be very low because once someone starts sending invoices with it, they won’t want to switch to another invoicing app or cancel their account, as it could affect their customers.

If your app provides entertainment (like Hulu) then it’ll be the first thing people cancel if they need to cut their monthly costs.

Based on my experience, you should aim for a Churn Rate of 5% but anywhere between 1% to 10% is normal.

You can calculate another interesting number based on Churn, which is Average Customer Lifetime (the average number of months that a customer stays with you before cancelling). The calcuation is 100 / churn_percentage. Example: if your Curn is 5%, then your average customer lifetime is 20 months (100/5). This figure will be used to calculate LPC which we talk about below.

2. CMRR

CMRR is ‘Contracted Monthly Recurring Revenue’.

Calculation: (total_number_paying_accounts – number_cancelled_paying_accounts_this_month) * monthly_price

You should be aiming for a monthly growth of around 5% growth (after Churn) in your CMRR. Initially it will be much higher, as your revenues are low, but it should settle down to about 5% growth each month.

Keep in mind that your CMRR has to keep pace with your Churn, or you will actually start losing money.

3. Cash

Cash is good old fashion money in the bank.

Calculation: cash_at_end_of_last_month + (CMRR – total_monthly_costs)

This is pretty self explanatory, but you should be watching this like a hawk to make sure you don’t run out of money. Most likely this will be a negative number for the first several months until you claw your way to profitability.

With TVM, we’re aiming to be cashflow positive on a monthly basis after six months.

4. LPC

LPC is ‘Lifetime Profit per Customer’.

Calculation: See the Google Spreadsheet (it’s complex!)

This is a pretty tricky number to compute, so I got a little help from Marc Roberts (of Neutron Creations) on this.

Essentially this helps you understand how much profit each customers brings you, after all your costs. It takes into account things like Churn and Average Customer Lifetime.

This figure should grow over time but if it becomes too high, then it’s an indication that you’re not investing enough back into the product for improvements or customer support.

Typical numbers for SAAS apps range from 50% – 70% net profit (which is insane when you compare them with traditional businesses).

5. CACR

CACR is ‘Customer Acquisition Cost Ratio’.

Calculation: See the Google Spreadsheet (it’s complex!)

This is a ratio that tells you how long it takes to recoup your marketing costs. There is a great PDF by Bessemer Venture Partners that dives into this in detail (download here). Essentially what we’re doing is taking the increase in CMRR this quarter, annualizing it (hence the multiplication by 4), then dividing by the marketing cost for the previous quarter.

Bessemer Ventures suggest that you don’t want this number above 1.0 because if it is, you’re not spending enough on marketing. However, I think you should be more profitable, and thus see this number well above 1.0.

In general, this is a really useful number to see how aggressively your re-investing back into the company to grow the user base and revenues. If it’s too low, then you’re not making enough profit. Too high, then you’re not spending enough on marketing.

6. CPA

CPA is ‘Cost per Acquisition’.

Calculation: marketing_costs_this_month / number_new_paying_users_this_month

A lot of venture backed companies are told to spend up 10 – 12 months of customer revenue to acquire a new customer. So if a customer pays you $25 per month, then you should be prepared to spend $250 – $300 to acquire them (this obviously assumes you have a LPC that’s much higher than that).

I believe that is too high and we aim for CPAs around 1 – 2 months revenue. This view is shared by several very successful web app entrepreneurs in this space (who all happened to bootstrap their companies).

The Spreadsheet

To tie it all together, I’ve shared the final spreadsheet with you via Google Docs. I hope you find it valuable and would love to hear your feedback and opinions.

View the ‘SAAS Model’ Google Spreadsheet

Follow @thinkvitamin on Twitter Please check out Treehouse

Other Posts You Might Find Interesting

  • Sorry - No Related Posts Found

Comments

  • http://www.nicetripper.com Simon Reed

    Thanks Ryan for this, like the MBA Mondays from Fred Wilson it’s always great to explain the real numbers that make it possible to do what we love.

    Obviously this article for recurring revenue business model but it would be great to maybe make this into a series for other models.

    Really great work, I look forward to reading more.

  • http://www.brightgauge.com Brian Dosal

    Great article and very timely for our startup. Thank you for sharing your thoughts and the spreadsheet!

  • http://neutroncreations.com Marc Roberts

    Great write up Ryan. This was really useful (and fun, I like number wrangling) to go through, especially using realistic numbers. I’ll certainly come back to this when we launch any SaaS products. Thanks

  • Ryan Carson

    Thanks Simon – glad you’re finding it useful.

    This article was actually inspired by Fred’s MBA Mondays series. Those have been SO helpful.

  • Ryan Carson

    No prob! :)

  • Ryan Carson

    Thanks again for the help – much appreciated :)

  • Chris

    Thank you for sharing! This really takes me back to the barenakedapp days :)

  • Humphrey

    Hey Ryan,

    Thanks for going to all this effort for us mate. Great timing for me as well :) I went to see Mike speak in San Francisco just before FOWA Miami and it was really great.

    Cheers,
    Humphrey

  • Ryan Carson

    Thanks :) Yes, trying to get back into sharing more data for you guys.

  • http://thatchspace.com Thatch

    Thanks Ryan,

    Like @Chris it really did take me back to the barenakedapp days as well. Looking forward to what you share next.

    There was a show on the BBC about the cost of acquiring a reular donor, a lot of this material looks like it will apply there. Thanks for the insight

    thatch

  • http://www.openapiservice.com redgsnodgrass

    Great Post Ryan! This was one of the first things we had to do @Skout. One thing that made this difficult was the diaspora of all your data being in different sites. Admob, Google, Paypal, App Store. Major pain just collecting the data. I’m trying to build a free tool @Alcatel-Lucent for developers where we aggregate the data from everyone. I’d love to get your feedback! ping me

  • http://www.codewranglers.org Robert

    Thanks for sharing this Ryan! Really appreciate these types of posts as I am working on my own startup.

    Keep up the great work!

  • Ryan Carson

    Thanks Robert! :)

  • Ryan Carson

    No problem – fun to share the little bit of knowledge I’ve gained!

  • Ryan Carson

    You’re totally right. We have the TVM export a CSV of all activity that we then copy and paste into the sheet. Not awesome, but slightly easier than before.

    I’d love to hear about this tool you’re building.

  • http://gu10ledlampsreview.co.uk larry_gu10

    This is a great help for me as a web developing my site.
    Thanks,
    Led Bulbs

  • Ryan Carson

    No problem – thanks for reading!

  • http://4ormat.com tyler

    Great post Ryan. That spreadsheet is amazingly helpful.

    One question, why is Average Revenue Per Customer constant? We’ve found this changes month over month (as the ratio of people on different plans changes). It’s easy enough to change in the spreadsheet but I was wondering if there’s a beneficial reason for using a constant value?

  • http://qtp.blogspot.com Sachin

    I wonder why do you give these awesomely useful stuff for free…

  • Ryan Carson

    Hey Tyler – which value row/column are you referring to?

  • http://4ormat.com tyler

    Cell B6 to be exact. Why not extract that value out so it can change from month to month?

  • http://www.pipelinedeals.com JP Werlin

    Well done and good analysis of the mechanics of what makes a recurring revenue web app business tick. Mike has always been super helpful to the community. Building these metrics into your business and back end infrastructure from the beginning saves you a lot of time down the road.

  • Ryan Carson

    Ah, thanks for the clarification. I did that to keep the model a little simpler so it’s easy to understand. You’re right, that would technically be more correct.

  • Kyle Moore

    Great article and very generous of you to share the spreadsheet.

  • courtenay

    Why do you do this for customer lifetime?

    100 / churn_percentage

    Wouldn’t you calculate it by looking at actual customer lifetimes? (e.g. cancel date – start date)

  • http://www.pipelinedeals.com JP Werlin

    Courtenay – I agree with you here. We calculate it based on actual sign up and cancel dates. I think Ryan may be using a proxy for those that do not have enough data for actual dates but I may be incorrect.

  • http://www.pipelinedeals.com JP Werlin

    Ryan –

    Just wanted to ask one question and make one comment on CACR.

    Question on the Spreadsheet – Row 29 – “sum of cost per customer over the next ‘lifetime’ months”. Wondering where you are headed with this one and the term “next ‘lifetime’”? I am with you on wanting to track costs per customer over time (they should go down) and thinking you are working to project it forward but not sure. Do you mind commenting?

    Comment on CACR – Agreed that this is key for any SaaS company. I thought I would provide another perspective from our point of view. As defined by the folks at Bessemer, CACR is calculated by “dividing the NEW annualized net gross margin added during the quarter by the sales and marketing costs of the previous quarter excluding any account management costs attributed to your “farmer” organization.

    We have evolved the discussion around gross margin usage in CACR. We calculate CACR using net margin instead of gross as it gives us the true impact to our bottom line. We don’t have the luxury to stop the analysis further up the P&L at Gross since we are bootstrapped and have keeping the business profitable as a requirement. For those in a similar situation as us, I would recommend that you at least run CACR with net margins.

    Second, we have also filled in an unspoken assumption in the denominator of the CACR equation. While Bessemer talks about excluding the “farmer” organization from the calculation, no mention is made of the “hunter” organization. By default we do include our “hunter” organization in those Sales and Marketing costs. Perhaps CACR includes these by default, but I thought it would warrant pointing out here in this discussion.

    Again, great work all around on creating the spreadsheet for everyone. I wish I had this same awesome resource 4.5 years ago when we started out! We have learned along the way, but for companies just starting out this will give them a great leg up.

  • http://carsonified.com Ryan Carson

    Thanks JP! We’re users of Pipeline Deals BTW :)

  • http://carsonified.com Ryan Carson

    You can measure it either way, as it will be the same number.

  • http://carsonified.com Ryan Carson

    JP – thanks for the thoughtful response. I’m on an iPad so my response to your comment will be abbreviated.

    I completely agree that Net Margins should be used in CACR calculation – especially for bootstrapped companies. I’ll update the spreadsheet soon. I think this actually leads to a really interesting discussion on Angel/Venture funded companies vs bootstrapped. Maybe a good one for another post …

    Regarding the question on “next lifetime” months, that was calculated by Marc Roberts so I actually need to check with him and ask for further explanation. It reflected my gut instinct that customer costs go down over time but I needed his help to actually get the equation right.

    I’d love to have a phone chatvwith you sometime if you’re interested? Can you hit me up on email? ryan@carsonified

  • http://www.brightpearl.co.uk Chris Tanner

    Hey Ryan – great post. We’ve been wrestling with numbers for months trying to get all this tracked. Knowing the goal is one thing, then putting the systems in place behind the scenes to help you track it in a scalable fashion has been “fun”. Having looked at a number of subscription billing apps like Spreedly and Recurly, we ended up having to build our own due to UK VAT and international B2B sales laws. What a mission!

    I think for a successful SaaS app you need to have customers that become evangelists. We have a fairly complex customer lifecycle model, and put emphasis on not just retention, but evangelism too, over at the far right of the graph.

    That would be a great blog topic; “How to get your users to work for you” :)
    We really should hook up some time, we’re only in Bristol.

  • http://carsonified.com Ryan Carson

    Definitely, let’s grab coffee sometime!

  • http://www.musofinder.co.uk Nick

    Hey Ryan – nice to see such a detailed post about business models for web apps. I’m just in the process of tweaking your spreadsheet for my website – which is slightly different in that it is basically a dating site for musicians (where musicians can find other musicians). Even though we have over 40k members, we’ve really stuggled to get a fremium model that works, because members stop paying when they have found their perfect musician. Therefore the better job we do, the more the churn!
    Without the model, there it’s hard to pay for any marketing or dev to make the site better.
    Any thoughts on this would be really appreciated!

  • Jon

    instead of hard coding your $10k in field C23, you might want to put it as a field somewhere, like under B6 or something. This way it can be changed without needing to modify the formula.

  • http://www.mousetraphq.com Andrew

    Hi Ryan, thanks for taking the time to share this great information. We are at the stage with our Mousetrap web app development where we need to take decisions on what data we store to support backend reporting. Your blog post will really help us to get this right from the outset.

    I hope to hook up with you at FOWA London. We are just down the road from you in Chippenham by the way.

  • Timh

    Great article. Do you know if theres any way to track some of these, such as church with Google Analytics? such as if there was some api where you could send a cancellation event to GA to track for you, instead of having to input data each month into a spreadsheet?

  • Timh

    oops, i mean “churn” not “church”

  • http://pulse.yahoo.com/_EPRAVHROHG2WANU3UXW4ZHLQHU Juan Chaparro

    Thanks for sharing this!…

  • Gareth

    Absolutely awesome article… Putting your heart and soul into development of any web app really takes it out of you and I’ve also found the business side of things difficult – how to keep track of users and sales etc.

    Though the spreadsheet scares me half to death and looks complex, I will try and digest it for my next venture and fingers crossed that I can understand it fully.

    I love the percentages to aim for with each key metric.. it should help take away the fear of business that comes with any web app.

    Thanks again! :)

  • http://intelligentics.ro Marius Corici

    Those from SunnyTrail can do it very good as well http://thesunnytrail.com/

  • http://twitter.com/pythondj Diane Mueller

    Great article, thanks for the handy spreadsheet..I like the use of CHUM..very fishy!

Badges for Treehouse

Treehouse

Learn iOS, Rails, CSS3, jQuery, Node.js, HTML5, UX and more in less than 8 minutes per day. New videos added regularly. Sign up today and get a free Web Design Toolkit.

Ads Via The Deck

Think Vitamin Radio
Episode #34: Amazon Fire and Responsive Roundtable

Check out our bi-weekly radio show. Covering the hot topics on the web.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Download Podcast as mp3

Advisory Board

The Think Vitamin Advisory Board in place make sure that you receive the best content possible.