Happy Bootstrapper
Happy Bootstrapper - Product Business - Fund it. Grow it. Love it. | Product Business – Fund it. Grow it. Love it.

Apr 14

“Entrepreneurs just guess – and if they succeed, they say that they had data”

I was talking with one of the FirstOfficer.io testers, a smart and successful entrepreneur, when he said, “People are just guessing, aren’t they?”

“They want to look good, so they say that they had data, but I think they just guessed. And just look at what happened to Ron Johnson when he went from Apple to J.C. Penney. Even the big names fail.”

That point of view was totally new to me.

Finance and metrics are as much art as they are science. And when you understand data-based decision-making, you’ll know it always requires also vision and guts. But if you aren’t using data to back up your decisions now, you can have hard time imagining what actually can be done with it.

Now knowing that you don’t know is a risk

When I was a teen, my dad had me to do the company books. But a couple of years later when I went to study accounting I totally failed my first exam. Why? Because I thought I already knew all about accounting. My practical knowledge and confidence blinded me from seeing that the topic had much more depth than I could have imagined.

The biggest risks in your business comes from the things you don’t know that you don’t know.

Trying to use data to run your business if you don’t know the basics is risky. You’ll be confidently making bad decisions.

So let’s go through a couple of basic concepts. This is not specific to SaaS metrics, but general finances/metrics stuff.

It’s not a choice between guessing and knowing

When you use data to help you decide things, it does not mean that you would gain 100% knowledge. That’s just impossible. You’ll increase the probability that your guesses will be right. And you’ll manage the risks better. But there’s always some guesswork included.

You’ll go from a total guess to knowing that if things X,Y and Z will stay the same, you’ll reach your target. But you may also know that if thing X changes, it will be critical and you will fail. And there’s no way to ensure that things wouldn’t change.

As you can see, even when you have the data you cannot know the final outcome of your decision. But at that point, it’s hardly a guess either. It’s something in between. An educated guess, maybe?

You can’t separate your guts and the data

How you interpret the data depends on your skills, past experience and even your personality. You can give the same metrics dashboard to two different people and they see different things. It’s like everyone would look at the data through tinted lenses.

And you tend to ignore what you can’t understand.

For example, when I didn’t know how to read balance sheets, I thought it was just a trivial report that the law required us to print out every month. I thought that only the P&L sheet mattered. But it was just me who couldn’t even imagine all its purposes.

Numbers are not facts

You may think that numbers are facts. But when we are talking about finances and metrics, they aren’t. They are just a rough way to try to model the reality.

You’d think that profit from your P&L sheet was a hard number. Surely what you earn is a fact. But it isn’t. It’s your accountant’s best effort to match what really happens.

And the same goes for the SaaS metrics, but with somewhat smaller impact. Your last month MRR may contain people that end up asking full refund in the future. And how did you categorize that person who bought 3 subscriptions and then cancelled 2? Were those downgrades? Lost subscriptions? Or a clear mistake that should not be visible in the figures at all?

The only number-related thing that’s really a fact is the number of dollars in your bank account. Cash is the king.

If this sounds too strange, there’s an excellent book called Financial Intelligence that teaches basic finances to entrepreneurs. It’s targeted to larger non-SaaS companies with accrual accounting, but it’s still a great read, especially if you are also interested in investing.

Past performance does not guarantee future results

Some of the SaaS metrics are in fact future-looking projections, like customer lifetime value (CLTV). You are taking figures from your historical data and trying to estimate what will happen in the future.

It’s impossible to produce fully reliable CLTV figures.

For starters, there is a handful of different formulas to use, each one optimized for certain conditions. Churn rate, a major component in calculating the CLTV has lots of room for interpretation and inaccuracy too.

Secondly, even if the figure would be somewhat right, the behavior of your past customers can never predict how your existing or future customers will behave.

But having figures that are not perfect is OK – you just need to know that.

When you know which numbers are trustworthy and which are not, you can team up reliable figures together with the weak ones. That way you can come up with a prediction that you can actually work with.

Following up the numbers vs. proactively using them

I hope this post has given you a glimpse to the concepts behind data-based decision-making.

It has been educating for me too. I can now see what a huge jump it can be to go from following up your metrics to actually effectively using them in decision-making. And that information will definitely help me in FirstOfficer.io development – I don’t want it to be just another metrics dashboard. I want it to produce real results.

If you liked this and don’t want to miss up the upcoming Happy Bootstrapper articles, drop your name below:

Share and Enjoy!

    Mar 14

    How to Calculate MRR Using Stripe API

    If you want to get rid of the every-month fiddles with metrics spreadsheets, here’s the first step – automatically calculating monthly recurring revenue from the payment gateway entries.

    MRR is the number 1 metric for any SaaS business, and many other metrics base to it.

    There are quite a lot of steps, I’m sorry for the long post.

    Real or theoretical plan price?

    MRR is often calculated using the theoretical plan price. So if Sally has a $5 discount on her $25 per month plan, her MRR would be $25.

    But when you have the real entries from Stripe API, you’ll probably want to calculate MRR with real amounts instead. So if Sally pays $20 per month, $20 is the recurring revenue from Sally, not $25. This way the MRR will show the actual amount you’d really earn next month if none of the current customers would churn, upgrade or downgrade.

    If you also calculate the discounts & refunds separately, you’ll see the MRR you lost due to them.

    Don’t make this common mistake!

    Monthly amount billed from subscriptions is not your MRR. Not even if you’d have just monthly subscriptions.

    Due to changes in refunds, discounts and delays in payments the MRR figures calculated from real paid amounts don’t normally match month-to-month.

    Calculating SaaS metrics isn’t accounting. This said, let’s get started.

    Finding out what was charged

    First, you’ll need to fetch BalanceTransactions of type charge and refund.

    The amount field will contain the amount paid. We’ll not include Stripe fees in the MRR. Leaving them out makes it easier to do profitability calculations, but it’s up to you if you want to include them.

    BalanceTransactions do not include everything as Stripe keeps internal customer balance, but let’s handle that later.

    Next, we’ll need to find the plan that should carry the MRR. Even though we are calculating just the total MRR here, we’ll need to know the plan length so that we can normalize the MRR for annual subscriptions.

    How to find the plan

    The BalanceTransaction entry has a source field that contains the Charge id. The Charge has an invoice field that contains the Invoice id. The Invoice contains invoice lines, which may contain a “subscription” type entry. And those subscription type line items contain the plan information.

    The invoices also contain “invoiceitem” type of entries, which contain anything else that’s invoiced on top of the monthly charge. These invoice item entries should not be included in the MRR, unless they really are recurring.

    For example, if you are charging extra for customer’s disk space usage, and he can’t easily cut it down, include invoice items. But if you charge extra for every report that he prints out, and he prints them whenever he wants, don’t include invoice items to MRR.

    How to find the amount

    The invoice lines contain the theoretical plan price. Invoice’s total field contains the discounted total that we want to use. Unfortunately, you don’t get discounted line amounts, but the discounts can’t be targeted to single lines either, so for now you can just split the total among the invoice lines and include the lines belonging to MRR.

    If you don’t charge invoiceitems, the invoice will contain just the subscription line item and you can pick up the total as it is.

    Normalizing the MRR

    If the invoice you are handling is to a monthly plan, just include the MRR found in the last step.

    But if the invoice is to an annual plan, we’ll need to split it correctly. Subscription type invoice lines contain period object that hold the period start and period end for this subscription. You’ll need to split the total to the subscription period. For example, an annual subscription starting at 15th of January 2014 would be split to 12 parts, targeted to Jan-Dec. So no MRR to Jan 2015 for that plan!

    You can assign the amounts to the right months right away. There are extra benefits from doing that. Or, you can just include 1/12th of the total and take that subscription item into your calculations during the next 11 months too.

    Accounting the MRR to the right month

    You should use the subscription’s period start and period end to assign the MRR to the correct months, even when you are handling monthly subscriptions. If user has problems with their card – and they often do – the invoice belonging to one month may get paid in the next.

    Handling refunds and special cases

    At this point we have the basics down, but we still need to handle special cases and refunds.

    Handling Refunds

    Handling refunds is done by reversing the process we did earlier.

    BalanceTransactions of type “refund” have negative amount and a link to the Charge that was refunded. You’ll calculate the part of the refund that needs to be removed from current month’s MRR using the same rules that we used for calculating the MRR itself.

    The refund needs to be normalized too. A refund given today to a monthly subscription may well affect previous month’s MRR. A refund given today to an annual subscription may affect up to 11 months in future or history. But it’s up to you if you go back in time and fix previous months’ MRR.

    For example, if customer bought an annual subscription 6 months ago, and you’ll have to refund her the whole amount now, it’s up to you if you want to fix up the MRR entries from 6 months ago, or if you’ll just fix the entries for the current and future months.

    You’ll also want to check from Customer’s Subscription data if the customer was lost, especially if whole MRR got refunded. Otherwise your customer counts will be wrong and you’ll have ghost customers with $0 MRR.

    Including payments from customer balance

    Stripe keeps an internal balance for each customer, and when they unsubscribe from an annual plan and move to a monthly plan, the difference does not get refunded to them, it goes to their balance. And as long as they have balance, you don’t get any BalanceTransactions when they pay something. You also don’t recognize that they have changed plans until their balance runs out.

    To get your MRR right, you’ll need to include Charges paid from balance.

    Here’s how you recognize Charge paid from balance:

    “paid”: true, “amount_due”: 0, “starting_balance”: -9000, “ending_balance”: -8001

    The Charge paid from balance is marked as paid, but no amount was due.

    Handling Prorations

    Prorations happen when customers change plans, and you haven’t disabled the prorate option in Stripe. Stripe creates an imaginary refund to the customer for the part of the subscription that the customer didn’t use, and place a new subscription to the new plan.

    There are 2 types of prorations, ones that happen between plans having similar billing period and ones that happen when billing period changes.

    Unfortunately both types mess up MRR calculations.

    Handling Prorations when billing period changes

    This type of proration, if not handled, will cause you to show MRR to wrong plans, but does not affect the total MRR.

    As we are calculating just the total MRR here, I will not go into details, but the trick is to properly assign the refunds to the right plans, and create a correction entry so that the amount lost/refunded matches the whole subscription amount that the customer actually paid.

    You’ll have extra trouble finding out the plan that was refunded, as the plan id is not returned in the Stripe proration invoiceitem.

    Handling Prorations when billing period does not change

    This type of prorations, if not handled, may cause you to show extra MRR for a single customer. The proration collects up changes that may have happened in previous month, and then charges them in the next.

    For these prorations, you’ll need to check if the MRR to the new plan belongs to the previous month, and if it does, you’ll need to ignore it.

    For example, you had a customer who subscribed to $9.99/mo plan in 27th of Nov. In 2nd of Dec, he decided to move to $14.99 plan.

    Stripe will give you this proration at 27th of Dec: $8.47 was refunded to the old plan, $12.70 was charged from the old plan’s remaining period (using new price), and $14.99 gets charged from the new subscription.

    In this case, extra $12.70 would be added to second plan’s MRR and extra $4.23 would be added to total MRR, if you handled this wrong. The right MRR for Dec would be $14.99.

    If, instead, this customer would have made the change in 28th of Nov, you would have needed a different handling. In that case you could make the move right there and then and account $14.99 as November’s MRR for that customer.

    Should you really do all this?

    Now that you know how to calculate MRR from Stripe entries, should you do it?

    Well, the question to ask is: “Will doing this give me the best return of investment to the time spent?”

    If you are just starting out, it may be better to just keep count on customers and calculate MRR with plan prices. Or to implement just the part handling charges and refunds and to keep count on the customers who change plans. Those are the ones messing up the figures, and if you don’t have plenty of them, the difference isn’t that big.

    What I went through here is just calculating the total MRR, and getting the MRR by plan right is a lot more work still.

    To be frank, I probably would not have done all this if I wouldn’t be implementing an analytics app. If it would be ready I’d say: “Don’t do this yourself, buy First Officer!”

    Now I’m just saying “Join the FirstOfficer.io mailing list, beta is coming!”

    Share and Enjoy!

      Mar 14

      How to Profile a Leaky Sidekiq Job in Heroku

      I was happily boarding early testers to my upcoming Stripe analytics app, when the logs got filled with “Error R14 (Memory quota exceeded)” warnings. I’m new to both Ruby and Rails, so I thought “Gee, time to download a profiler”.

      After couple of hours I found out there was no profiler. More precisely, there are plenty of tools for the front-end of your app, like Oink and MiniProfiler. They just don’t work for background jobs.

      There are also some older profilers (MemoryProf) that just don’t work with Ruby 2.0 and Rails 4.0. Ruby-Prof, which does work, does not give you information about the memory usage. It writes html files, so it’s more suitable to be used in development anyway.

      So, I cried a little. Then I rolled up my sleeves and frankenstained a somewhat working solution from the pieces that I had.

      1. Confirming the leak/bloat

      Heroku can write summaries about memory usage.

      Just run heroku labs:enable log-runtime-metrics for your app.

      Then, run the problematic worker again and follow the logs. Now you can see the memory usage statistics in between your own log entries and you can easily estimate if the memory behaves like expected.

      In my case, the problem worker was fetching all customer’s data from Stripe. It had several separate sections, and in between them, the garbage collection should have picked up the trash. As they say Ruby MRI doesn’t really give you memory back if it gets reserved, I was expecting an upwards trend with plateaus every now and then when garbage gets collected. What I got was a constant upwards trend. A memory leak. Or a bloat.

      You’ll also want to set up the New Relic monitoring for your app.

      If you put GC::Profiler.enable to config/initializers/new_relic.rb, you can see your memory usage in New Relic.

      New Relic also has a thread profiler that can see your Sidekiq worker. In my case, these tools were nice for checking out the overall situation, but didn’t give me enough details. Maybe the tools in the paid version are different.

      2. Finding out what’s eating the memory

      Next you’ll need to find out what’s eating the memory. I found a couple of articles that have examples on how to use Ruby’s ObjectSpace and put together a little tool that gives you this output: 

      MemTool output

      The top part shows the memory usage in KB. The next part shows the garbage collector stats. Here are instructions for reading them. And the bottom shows the object instances in memory.
      In development env it will run also RubyProf, and it will write the results files in your app’s log dir. In Heroku it will print the results to the log, and skip RubyProf.

      You can get the tool code for Mac & Linux(Heroku) from Snipplr.

      Start it with MemTool.start(“some info, like class name”) and stop it with MemTool.stop.

      I wish I would have been able to find out who reserved the objects, but I’m still newbie enough that patching Ruby runtime sounds too scary. If you have any advice/experiences on that, let’s hear it in the comments.

      You’ll also want to run Oink. It tells you if you let ActiveRecord queries eat up the memory. Remember to use the -r option, or you won’t see the ActiveRecord stats.

      Unfortunately Oink is meant for profiling the front-end, so you’ll also need to create a new controller request that calls the code under test. That means you’ll have to do this test in development env, as Heroku will kill your non-responding requests after 30 seconds.

      3. Profile the job without Sidekiq

      You can run your background jobs using rake in Heroku. Just call your worker’s #perform from a rake task. This way you get to take Sidekiq out from the equation and you’ll find out if the leak happens also when you are running outside of it.

      4. Fix things

      That’s the phase I am. I was able to find several problem spots from my code, which I’m fixing now.
      After reading couple of articles by Mike Perham, the creator of Sidekiq, I don’t think I can fix my workers to be bloat-free, but I’m targeting to getting them into a condition where once-a-day restart with Monit would be enough.

      I’m also trying to reduce the base memory usage, in case I need to switch to Resque. Resque forks a new process for every job, loading the whole env each time – that’s why it in general needs more resources than Sidekiq. But that would also mean that every job has a clean plate.

      I’ll write a follow-up when I’m done, and if you don’t want to miss it, you can drop your email here:

      Share and Enjoy!

        Feb 14

        3 Ways to Misinterpret SaaS Metrics

        Finding out how your recurring business is doing isn’t always easy. There are just so many mistakes you can do.

        It’s easy to miscalculate the metrics – even some commercial SaaS dashboards do.

        You can also err by tracking vanity metrics instead of relevant metrics. Fortunately there are lots of articles on what metrics you should track, including my SaaS Metrics for Hackers.

        And then you can interpret the metrics wrong. Today I’ll present you the 3 simple interpretation mistakes that you can avoid just by knowing about them.

        1. Compare Conversion Rate to Churn Rate

        Business growth stops when more revenue is lost with churned customers than you get from new customers. That’s why people have the inclination to put the churn rate and the conversion rate side by side and compare them.

        But you can only compare rates when they are calculated from the same baseline, which isn’t the case here.

        Conversion rate is calculated using potential customers as its baseline. Churn is calculated using existing customers who are able to churn as its baseline. These two rates are not comparable with each other.

        Growth rate can’t be compared to churn rate either, for the same reason, but the mistake is smaller there.

        One way to find out if you are approaching a plateau is to compare the actual MRR components. When the Lost & Downgrade MRR gets as big as New & Upgrade MRR, growth has stopped.

        Easy way to see approaching growth plateaus

        The screenshot is from our upcoming analytics tool.

        Another good way is to calculate Growth Ceiling.

        2. Confuse Revenue with Profit

        Dan Norris recently revealed how he ruined his business profitability. The mistake he made? He concentrated only on revenue.

        It doesn’t matter how much you charge – it only matters how much of it you get to keep after you have paid the bills and the taxes.

        This shouldn’t be applied only to revenue, but to all the key metrics using revenue as their base.

        Customer Life-Time Value (CLTV) should be calculated from profit, but nowadays it’s often calculated from revenue. You don’t want to use 1/3 of the revenue from a single customer to his acquisition. But you may want to use 1/3 of the profit to the acquisition, if you can recover that money fast enough.

        If you are using CLTV and you didn’t calculate it yourself, find out if it’s calculated from revenue or from profit. You can then multiply the CLTV (revenue) by your gross profit margin, and get the ‘real CLTV’.

        3. Confuse MRR with Cash Inflow (or Sales, or Bookings or Revenue)

        I found this mistake in Christoph’s 9 Worst Practices in SaaS Metrics presentation.

        Monthly Recurring Revenue (MRR) shows you the momentum of your business. You can use it to calculate CLTV and other metrics that need to stay stable from month to month.

        You can’t use it e.g to calculate your profit. It’s just not accurate enough. It’s normalized to remove any fluctuations.

        MRR matches to your real revenue only if all your customers arrive on the first day of every month, you don’t give any discounts or refunds, don’t have metered charging and only sell subscriptions.

        SaaSOptics has an excellent but lengthy explanation on how MRR differs from GAAP revenue (the real revenue earned).

        Share and Enjoy!

          Jan 14

          Kill SaaS cash-flow problems with this small calculation trick

          Staying on budget is sometimes hard when you run a SaaS. The money in your business account is a combination of old revenue, current month’s revenue and annual pre-payment revenue happily mixed up with any other revenue your business might have.

          The last couple of weeks I’ve come up with ways to use SaaS metrics to solve common challenges, like the one above. I’ve done the work for Virtual Financial Officer, but why not share the principles so that you can use them too.

          In this post I’m going to explain how a little change to how you calculate your Monthly Recurring Revenue (MRR) can help you to understand your future cash-flow better.

          Meet Deferred MRR

          I call this new metric “non-GAAP deferred revenue” or “deferred MRR” (I just made up both names).

          Deferred MRR shows the part of the future MRR you have already received as pre-payments, allocated to the months where you’ll have to deliver the service to your customers.

          During those months you’ll be paying the server bills, providing customer service and everything that these customers need – while not getting any more money from them.

          Deferred MRR shows the part of the MRR you have already charged

          (No MRR should be visible in the future, but iWork Numbers just didn’t co-operate with me on that, sorry)

          What’s deferred MRR good for?

          If you compare deferred MRRs to your projected MRRs, the difference shows approximately how much subscription money should be landing to your bank account in the future months.

          That way it’s easy to see if you need to save, or if the revenue coming from your monthly paying customers will cover the costs.

          You can also sum up all the deferred MRR and then you can go:

          “The profit and loss statement from the first two months says we are $25,000 on the plus side, but $18,000 of that is actually annual pre-payment revenue. So the actual profit by now is just $7,000 and we aren’t reaching our targets…”

          The sum of deferred MRR is also the amount that you would need to return to your customers if you would close the shop today.

          What larger companies do…

          Large SaaS companies solve these same cash-flow challenges by using accrual-basis accounting instead of cash-basis accounting. Their monthly bookkeeping reports actually show a line for deferred revenue – the revenue from services that they have not delivered yet.

          That deferred revenue should not be mixed up with the one we calculate here. Those are 2 different metrics, the deferred revenue that comes from accounting being more accurate.

          This “non-GAAP deferred revenue” that we derive from MRR is accurate enough for budget and cash-flow follow-ups. As long as your new (annually paying) customers don’t arrive in big random bursts, the figures will be almost as good as you’d get from accrual accounting.

          Why not just use accrual-basis accounting?

          Even though accrual-basis accounting is superior for business analysis purposes, small companies often don’t want to use it. If you aren’t money-savvy or if you have a lot of contracts where you provide the service first and get paid later, you may end up having problems in paying your taxes.

          This article by Jason Cohen explains the pros and con’s of both accounting methods.

          How to calculate deferred MRR

          Normally, when you calculate MRR you handle annual subscriptions like this: You take the number of customers who are on the annual plan and you multiply them by the part of the plan revenue that belongs to the current month.

          For example, you have 10 customers on your annual plan that costs $240. That’s $20 per month per customer ($240/12=$20). So these customers will get you $200 of MRR (10*$20=$200).

          If you want to keep track of your deferred MRR, all you have to change is to account that money to the months where you’ll be actually earning it.
          So if your customer paid $240 in January 15th, you’d put $20 to January, $20 to February and so on, ending with $20 in December.

          This, of course, may be too much work if you are working with spreadsheets. But if you have your own dashboard system, it works brilliantly.

          Any MRR that’s accounted to the future is deferred MRR. And next month, you’ll only have to account for the newcomers, as the pre-paid MRR from existing customers is already there.

          Also remember that you’ll have use the same system for refunds that you give to annual customers.

          How to transition to using this?

          Unless you can re-process old annual transactions, your figures will exclude all the annual revenue charged before you took this new system into use, and that will not do.

          If you can re-process old transactions, you can just plug in the new formula and let your system recalculate your MRR from all time and you’re done.

          If you can’t re-process old transactions, you can use both systems side by side and ignore the figures from the new system until the MRRs from both systems match. If your longest pre-payment period is a year, it will take a year.

          But you are using Stripe you can just wait until we get our app ready.

          Share and Enjoy!

            Jan 14

            A simple recipe for reaching your dreams in 2014

            Year 2013 was an amazing year for me. I got new entrepreneur friends who I chat and meet with regularly. I spent several months traveling (mostly in Italy) and learned how to make web apps with Rails. And just a couple of days ago I saw the first working views of our upcoming baby product.

            On the top of all that, we got little financial impact from not having day jobs anymore, mostly due to our downshifting and planning.

            As I’ve been reading awesome annual report posts like Amy’s, Nathan’s, Brennan’s and Colin’s, I’ve also spent a moment thinking about the people who didn’t make it. All those people that I met on my journey who had a dream, but then they just disappeared.

            What makes them different from the people who reached their dreams?

            Nothing, I say. And it’s never too late, just get back on the track.

            You can reach almost any dream with this simple formula:

            1. Believe in yourself
            2. Decide what you want and why
            3. Plan your way to your dream
            4. Do what’s important and invest in your future
            5. Just show up

            1. Believe in yourself

            I’m not special. Amy is not special either. Neither is Nathan, Brennan or Colin… or Warren Buffet or Bill Gates. You only need to be special if you want to become a world-winning athlete on certain few sports or a member of the Royal Family.

            The skills and traits that you need to reach most of your dreams aren’t built into your genes. You acquire them. But only if you believe you can.

            The people who have reached their dreams often have interesting stories of how they didn’t fit in. They were sickly or weak, teased at school (me too!), introverted, abused, what have you. And then they fixed things.

            It’s a process. But to finish it, you’ll have to start it first.

            They didn’t talk themselves down, telling themselves that they were “too poor”, “too busy”, “too fat”, “too shy”, “too dumb” or any other excuses people give themselves. They just believed things can change if you want hard enough.

            And if you are talking yourself down just now, telling how YOU still can’t, I’m happy to tell you that’s fixable too. You can stop the negative self-talk and learn how to love yourself.

            2. Decide what you really want and why

            If your motivation isn’t hard enough, you are not going to endure the work needed to reach your dream. But motivation isn’t just some random thing that comes and goes. The true motivation is in understanding your goals in detail and the consequences that they have on your life.

            It’s also important to see notice when you are substituting for things, like wanting to lose weight when all you really want is to be loved. Or jumping to building a SaaS product or an iPhone app when you want financial freedom.

            Is reaching your dream going to get you what you want? When? How? And why?

            Sometimes reaching your goals needs that you change fundamental things in your life, like letting go of people who pull you down. Sometimes, they just need doing some work instead of watching your favorite series. But if what you want isn’t important enough to you, you are not going to break the status quo.

            3. Plan

            People don’t end up in Maldives by watching travel documentary. Getting there actually involves doing something, like getting some money, buying flight tickets and packing your bags.

            Here’s part of my plan for Virtual Financial Officer as a Curio mind map.

            Part of VFO plans

            I use a method learned in 30×500 called bassackward planning. In an essence, I’ll just list the absolutely mandatory steps to reach my goal, starting from the goal itself.

            Obviously that trip to Maldives doesn’t need this level of planning, but many of the bigger dreams do. I’ll explain in a jiffy.

            4. Do what’s important and invest in your future

            The mistake that I often see the plan-less people do is to work very hard and do things that don’t really advance their goals. They get that nice feeling that they are working towards their dreams, but after a year they have nothing to show for that.

            The more time you spend talking and writing about your dreams and reading inspirational stories of others who reached them, the less time you spend actually reaching them. And when you have a plan, you can keep yourself on check.

            Is what I’m doing taking me forward? Is my strategy working? Am I any nearer to my goal? What do I still need to do?

            The beauty of doing the right things is that you don’t need massive investments of time and money if you just do what counts. When it comes to building online businesses, you can do wonders with just a handful of hours in a week – if you spend them wisely.

            5. Just show up

            The biggest part of reaching your dreams is actually doing the work. The boring, day-to-day work. Just showing up, ticking an item from your plan and repeating 100 times. Then planning again. Giving up the things that you need to let go. Acquiring the things that you need to get.

            Like most things, this can be learned too. I warmly recommend BJ Fogg’s Tiny Habits.

            Are you in?

            One of my favorite experts on metabolic damage, Scott Abel, always says:

            “Some of you will get it; some of you will not”

            If you aren’t ready for the change, you can’t see the world like I see it.

            But sometimes just realizing that there are things you don’t understand can get you forward. Get in touch with people who have done what you want. Talk to them. Surround yourself with them. And you’ll become one of them – their worldview will open to you.

            With this I want to wish you a Happy and Prosperous New Year of 2014!

            May your dreams become a reality.

            Get more of my articles this year by dropping your email below:

            Share and Enjoy!

              Dec 13

              How to cut 75% of the features and still build a viable product

              During the last month I’ve cut 75% of the content that I planned for my upcoming product. And… I’ve done that while still keeping the core content that makes my product unique and valuable. So I’ve had some serious time thinking about what makes a minimum viable product.

              “What all can I cut and still keep my baby product viable?”

              Because even when minimal, the product still has to be viable to be… viable.

              The product I envision is the version 3.0

              I dream of a world-class analytics tool that helps you run a SaaS business without a business degree or a CFO. Its dashboard keeps you on top of what’s happening and it follows the trends of key metrics for you. The weekly and monthly mail reports with analysis findings and overviews make sure you are doing the right things at the right time – for the right customers. And like a real CFO, it will analyze your data and notify you on opportunities and problems, in addition to making sure you don’t run out of cash.

              It will integrate to payment gateways, server logs, support systems and bookkeeping to make sure all the information is accurate with minimal configuration work. My customers will have that happy confident feeling that their data is right. They don’t need to install tracking codes and then wonder if they set up everything right – they can just trust that things work.

              And there’s just one “but” in all this…

              But… I can’t build all that right away

              Building the full product takes several man-years. And there’s just one little ol’ me. Well, I do have my real-time data-analysis guru of a husband, but he’s not touching the keyboard. “Here’s the specification, where’s the code?”, he says.

              The only way to go is to build a minimum viable product (MVP) first, with the single most valuable core feature. That will validate my business and it’s also something that I can charge from right away. But it sure hasn’t been easy to find that core.

              Cut… cut, and carve out the MVP

              The trouble with cutting the features is that if you aren’t careful, you are going to cut away the thing that makes your product unique and valuable to your customer. Then you’ll ship something that doesn’t have much added value to the customer – and fail to charge from it.

              When we turn that around, we can start by cutting everything that doesn’t provide immediate added value to the customer. Amy recently wrote a great article called ‘Fuck features you “have to have”’, listing some of the features that the first version of Freckle didn’t have.

              But even after cutting all the “have to have” features, we still need to find the core value.

              What’s the core of the product?

              The method that I used to further cut the content was to stick to the key pain point that my tool attempts to remedy. The Virtual Financial Officer started from something that my bootstrapper friend said:

              “It [certain dashboard] was nice to look at, but it didn’t do much for us”

              Why aren’t the dashboards helping people to run their businesses better?

              I studied business owners and found several reasons. The dashboards that fail:

              • Aren’t designed for recurring businesses’ needs
              • Have no priorities or focus
              • Show erroneous/irrelevant data (this is more common than you’d think!)
              • Don’t tell how the metrics were calculated, so you can’t trust the data enough to make business decisions based on it
              • Don’t adapt to changing needs, so you grow out of them fast

              But there are also other challenges:

              • People don’t know how to analyze and use the metrics data
              • And even when they do, they are too busy to systematically run such analysis

              So where to start?

              When I think of my upcoming product, I think of it as a new CFO coming in – helping the CEO to run the business better. What would be his most urgent task?

              He’d be eager to get the analysis & reporting cycle started, but the reality is that you need to have the data for the analysis first. And that data needs to be calculated right.

              The very first priority is to make sure that the CEO has a good overview of the business for decisions-making purposes and that the finances are all right. All that fancy analysis stuff isn’t going to save you if you run out of cash.

              And that’s it

              The first version will tackle just 2 things for the business owners:

              1. Get a superb overview of your business
              2. Be confident that your data & metrics are calculated correctly

              It hurts me that I had to cut the customer analysis and related email reports from the first version – they’ll eventually be killer features. But making sure people have the basic data right is a priority.

              1. Business overview

              The first version will have the basic revenue figures, available both in cash- and accrual-basis, showing also deferred revenue. Just being able to see the deferred revenue removes some cash-flow problems in itself.

              Deferred revenue is the revenue paid in advance, before the actual service is delivered. Most small businesses prefer cash-based accounting for tax reasons, but accrual figures are superior for planning.

              The first version will also visualize monthly recurring revenue (MRR), split to its components of new, renewed, lost, upgraded and downgraded subscriptions. I also want to offer plan- and cohort-based views as soon as possible, hopefully already in the first version.

              I’ll start by integrating just with Stripe and as I fetch the data from the payment gateway I can also show historical data. So I’ll be able to show the trends from the whole time that my customers have been using Stripe.

              2. Data Confidence

              You’ll have access to formulas, but that’s not enough. A drill-down will show the elements that are included in the calculations so that you can easily see what is included in the figures. Like, for example, if you need to quickly find out who were the people whose subscriptions you lost last month – it’s right there, down to the actual Stripe transactions.

              I’m glad that I have competitors

              If I wouldn’t have any competition, I’d freak out right now: “Did I cut the content too much?”, “People could just calculate these metrics themselves…”, “What if everyone hates my product?

              But it just happens that I’ve been following Josh, the creator of baremetrics.io.

              Baremetrics pulls its data from Stripe too and it currently just shows a bunch of metrics in a grid view. And people love it and happily pay for it – which means that just offering the data seems to be enough to get started.

              Of course our products are different, and will appeal to different people. But seeing him succeed makes me confident that I have picked features which people will pay for.

              Share and Enjoy!

                Nov 13

                SaaS Metrics for Hackers – Events and Funnels

                SaaS Metrics for Hackers is a 3-part article series that helps bootstrappers with technical background getting started with SaaS metrics and finances.

                The first part explained the financial basics and the second part explained how SaaS metrics and the SaaS main funnel help you debug the finances.

                This last part explains how to use funnels & user events to debug the SaaS metrics. And as an extra, it will explain the principles of using events proactively to increase your bottom line.

                Debugging SaaS metrics

                The principle of debugging SaaS metrics is simple – track user events in trouble area to find out what people actually did and get some ideas on what might cause the troubles.

                Let’s assume that while you analyzed the SaaS main funnel, you found out that there are problems in getting trial users to make a purchase.

                The first questions to ask are:
                “What tasks did the people in successful trials perform?”
                “Do these events form a funnel?”

                When we are talking about a trial, the key events (/actions/tasks) usually form a funnel.

                In order to make a purchase, the user must:

                1. Sign up for trial
                2. Activate the trial by inputting data, installing tracking codes, etc.
                3. Get value from the trial

                The actual steps depend on what type of SaaS you are running. But when you find the steps, you’ll track the events similarly than we tracked the main funnel in previous part.

                When you have the data, there are many ways to visualize the funnel conversion rates. Below is the format that both Kissmetrics and Mixpanel uses.

                Trial to paid conversion funnel
                Now you can easily see where you lose the most people.

                Remember that you may not find all the troubleshooting information from the funnel events.

                Sometimes, for example in cases where your product suffers from technical or usability problems, the differentiating factor may be something like “all the people who purchased contacted support at least once”.

                What if the events don’t form a funnel?

                If the events don’t form a funnel, you’ll need to use the event data to create profiles of your customers by their event usage and success.

                And then when you do have the data, you may be able to find funnels too – you just couldn’t guess them beforehand. Some funnel analytics apps do support this and let you analyze funnels afterwards.

                A good example of problems that can’t be debugged with funnels are churn problems. But when you are starting out your customer base is so small that the churn problems are often not visible/relevant. At that point it’s usually more productive to just ask people why they canceled.

                When your customer base is small, all the things that you can get from user event data you can also get by talking to your customers. It’s not as fun as solving things with technology, but deep understanding of your customers is essential for succeeding.

                So don’t start building event tracking systems too early. Or do track the events, but don’t put too much weight into the results.

                Reactive vs proactive metrics usage

                Until now, we have drilled down in your data and concentrated on problems and how to debug them. And that’s how you get started.

                But debugging and fixing bugs isn’t enough. People in the TechCrunch success stories didn’t just “improve the conversions and reduce the churn”. Nope. It’s always something like “we found out that hosts with professional photography are booked 2.5 times more frequently than others”.

                Proactive creative work is what makes the success stories

                Building a SaaS business is proactive work. You’ll want to stay in that proactive mode also when running your business.

                User events and detailed funnels give you information on what your users & customers did. That’s a goldmine of information and you don’t want to use it just for debugging. You’ll also want to use it to find opportunities for your business.

                What events should I start with?

                When you start out and you are not debugging a problem, track just a couple of events & funnels:

                1. Key value event
                2a. The marketing funnel (check the conversion rate first)
                2b. The trial funnel (check the trial-to-paid rate first)
                3. Feature usage events

                After that, you can add the funnels & events as you need them.

                Kissmetrics blog has a nice article about tracking the marketing funnel with Google Analytics, so I’ll be skipping it here.

                Track the events that produce the most value

                You can get started by tracking a single event for finding the customers that get the most value from your product.

                Ask yourself: “What’s the single action/event that brings the most concrete value to your customer?”

                Track that.

                If you are running an app that helps freelancers to make proposals, the key event could be getting a proposal accepted. Or any event where your customer actually gets paid.

                If you are running a time tracking app, the key event could be logging billable hours.

                If you are running a freemium training platform, the key event could be a combination of video watching and pro subscription activation. You’ll want to know what videos people watched before they felt that they got enough value to sign up for a pro subscription.

                Freemium is always trickier to analyze, because you can’t assume that people producing the biggest amount of value events would feel that they get the most value. Yeah. People are strange. People who get free stuff are even stranger.

                Find your best customers

                When you have the events, check out that the customers who produce the most key value events also are the customers with biggest customer life-time value.

                You aren’t calculating the full CLTV yet, but you are marking down the totals of what each customer has paid you this far (total contract value, TCV). Use that data.

                If they don’t match, it means you have failed to price on value. It’s always worth trying to fix that.

                Reminder: If you go D-I-Y, don’t put the event data into your production DB. And always put all data collection and analysis work into background threads to keep your app responsive.

                Profile your best customers

                Now you have the information about customers who get the most value from your product. The next step is to find out what makes them different from your other customers.

                If you have the feature usage event data too, part of this analysis can be done automatically, like I’ll be doing with Virtual Financial Officer and like Retention Factory does.

                But part of it is hard to to automate.

                Let’s take an example. The AirBnB feature that made some of the hosts popular was that they had nice photos of their apartment. That’s not something that you could easily find automatically.

                So even when you have an automatic system at place, it’s worth to manually profile your customers every now and then. Just find 5-10 winner customers and 5-10 loser customers, open their profiles and make an analysis of what you see. Who are these customers? Can you think of anything that make winners stand out from losers? Dive into the DB if you need to.

                Use the findings to advance your business

                After the analysis you’ll have a profile of your best and your worst customers and you can start working on that data.

                Can you offer something to losers that makes them more like the winners?

                Services that help them through obstacles? Education on features that winners use? Education on the type of things that winners do?

                Also think of the opposite – how can you serve the winners even better? Could you offer extra services for them? How can you acquire more of them?

                This said, we’ve come to the end of the beginner metrics series. If you have any feedback, I’d love to hear it. There’s a comment box somewhere below this post.

                Share and Enjoy!

                  Nov 13

                  SaaS Metrics for Hackers – The SaaS Main Funnel

                  “What metrics should I track?” and “How do I get started with SaaS metrics?” are the most common questions people ask me.

                  SaaS Metrics for Hackers is a 3-part article series that helps you get started with SaaS metrics and finances.

                  The first part explained the financial basics, this part explains how to use the SaaS metrics to debug your finances, and the third part explains how to use funnels & user events to debug your SaaS metrics.

                  Use SaaS Metrics to debug your finances

                  Whenever financial metrics are not as well as you’d like, you can use the SaaS metrics to find out where the problem is. 

                  SaaS related metrics layer on top of each other

                  You can compare your SaaS metrics from month to month, and you’ll find out if your problems are in traffic, conversions or in retaining the customers.

                  After the SaaS metrics tell you where to look at, you can take a deep dive into the user events and funnels and see what you could do better.

                  The line between financial metrics, SaaS metrics and funnels & user events isn’t a clear one. But if you don’t prioritize, you’ll have troubles managing your data – there’s just so much of it.

                  The good news is that most SaaS & financial metrics aren’t real-time metrics (think Monthly Recurring Revenue, not Daily Recurring Revenue) . It’s enough to check out these metrics once per month. It’s a huge temptation to follow all metrics in real-time, but there’s no added benefit in that.

                  The main SaaS business funnel

                  SaaS metrics help you understand how the people/customers flow through your money-making system.

                  They measure things per unit – the unit being your customer (or group of customers). “Customer metrics” or “customer lifecycle metrics” would be a fine name for them too.

                  A lot of people are reached by your marketing efforts. With time, part of those people becomes your customers – and eventually they leave your business.

                  The flow of people creates a “funnel” – and the wider you can keep the funnel, the more revenue you’ll get.

                  SaaS main funnel describing the customer lifecycle
                  Situation is a bit different if you are on freemium model.

                  SaaS main funnel describing the customer lifecycle for freemiumThe flow is similar in freemium, but it’s a bit harder to analyze as people move through the funnel at their own speed.

                  Follow the SaaS main funnel conversion rates

                  To know that the funnel stays as wide and long as possible, you’ll want to measure the conversion rates from step to another.

                  Conversion rate is a general term for the proportion of people who took a wanted action.

                  When we talk about SaaS business, conversion rate (CR) refers to the amount of site visitors who bought a subscription.

                  For example, if 2 of your 100 visitors bought a subscription, your conversion rate would be 2%. If you want to think that from unit metric perspective – when a visitor comes to your site, there’s a 2% possibility that she ends up becoming your customer.

                  I advice measuring the CR, but also the other conversion rates throughout the main funnel. You can see them in the image below.

                  SaaS main funnel conversion ratesRetention rate is the proportion of customers you were able to retain, while the churn rate is the proportion of people you lost. If, for example your monthly retention rate was 98%, then your churn rate was 2%.

                  With freemium, following the conversion rates through the funnel isn’t as straightforward – it may take several months before the freemium customer is ready to buy. You need to start using cohorts (follow up the same people through time) earlier.

                  How to measure the funnel?

                  To calculate the conversion rates, you’ll need to know the amount of people in different steps.

                  The easiest way is to use an analytics tools that support funnels, like Kissmetrics or Mixpanel. But as these are major events, you can get started by collecting them yourself (without clogging your DB).

                  You will eventually grow out of your own system though – unless you match the Urchin Tracking Module (UTM) parameters to your user accounts/events.

                  When you have the UTM parameters, you can segment your metrics by traffic source, marketing campaign or A/B test. But if you haven’t linked the traffic source information (from the UTM parameters) to your customer emails/ids, you can’t track where they came from.

                  Kissmetrics documentation has a good explanation on UTM parameters and how they handle them.

                  When to use segments & cohorts?

                  Segments organize your data by its type. E.g. people who came via Twitter, people who subscribed to enterprise plan.

                  Cohorts organize your data in time. E.g. people who signed up in January.

                  Eventually, having your data organized by monthly cohorts and by plans would be superb.

                  But there’s just one thing to look out for when you are starting out – the conversion rates are percentages. You can’t rely on percentages until you have about 100 people in each step.

                  To go around this problem, you can start by calculating the funnel conversion rates for your whole customer base.

                  When you have enough customers, your first cohort can be e.g. people who signed up in the last 6 months. Your first segments can be your most popular plan and all the others grouped together.

                  Keep it simple. The most important thing is to always make sure that you understand all the metrics that you follow.

                  What are good values?

                  Mostly compare your values to your own values in previous months. Try to use percentage-based metrics in comparison.

                  For (MRR) churn rate, 3-7% per month is what small SaaS companies often have. It’s bigger than recommended 1-2%, but it’s not productive to try to reach the churn rates that large high-touch businesses can maintain.

                  This Totango study can also give you some ideas of good rates, but don’t stick to it too much. For example, read Brennan’s story on an experiment that should have brought the conversion rates up, but didn’t.

                  What about CLTV & CAC?

                  Cross-funnel SaaS metrics like customer acquisition cost (CAC) and customer lifetime value (CLTV, LTV or CLV) are important, but they aren’t the right metrics for a new SaaS.

                  I love CAC, but calculating it from the start is just depressing – even when you don’t use paid marketing. Yes, do sum up all the hours that you spent on marketing and trial customer support and put a rate on your hours… but don’t calculate the CAC yet. Wait until you have some mass in your customer base to carry the cost.

                  When you start out, you also don’t have stable churn figures because you don’t have enough customers. You don’t know the annual churn fluctuations yet. And no churn means no forward-looking CLTV.

                  You can already start measuring the simple historic CLTV (how much a single/average customer paid you – total). But for even that you’ll need to wait until the customers churn.

                  Fortunately, you are following the monthly costs and revenue. If you invest in something, you can easily calculate how many months it will take until you can get your money back. That will get you started until CAC & CLTV become accessible for you.

                  You can read the next part here: SaaS Metrics for Hackers – Events and Funnels

                  Share and Enjoy!

                    Oct 13

                    SaaS Metrics for Hackers – How to Get Started?

                    “What metrics should I track?” and “How do I get started with SaaS metrics?” are the most common questions people ask me.

                    SaaS Metrics for Hackers is a 3-part article series that helps bootstrappers with technical background getting started with SaaS metrics and finances.

                    The first part explains the financial basics, the second part explains how to use unit metrics (the “SaaS metrics”) to debug your finances, and the third part explains how to use funnels to debug your SaaS metrics.

                    In this first part, you’ll learn how to find answers to questions like “Is my business profitable?” and “When will my money run out?”

                    VC investors’ rules don’t apply to bootstrappers

                    There are plenty of great articles, like SaaS Metrics 2.0, that were written for funded companies by people thinking that “in SaaS it’s winner takes all.”

                    Companies after high growth are using acquisition strategies that normal, careful little businesses would never use. They need to manage the extra risk that comes along – and they need more complex metrics.

                    If having a long-term cash-flow deficit to support your aggressive customer acquisition isn’t your main strategy, things suddenly get a lot easier.

                    Cash is the king, profit is the queen

                    If you aren’t on a risky mission to boldly go for years without profit, you can run your SaaS pretty much as you would run a normal business. You can follow your profitability from your monthly Profit&Loss statements.

                    Sometimes you may take extra risks, getting couple of non-profitable months because of your investments, but you still target to make profit on annual level.

                    Set targets for your business

                    Set small targets with time limits to reach them. Write them up or create a spreadsheet of them. And when you estimate how much profit you’d like to have, remember that you’ll have to pay taxes too.

                    Start by tracking your financial metrics

                    To keep yourself going, you’ll want to track at least your costs and your revenue.

                    Learn how to read your bookkeeping reports – they are a goldmine of information. At least, check out your gross profit margin – don’t let your costs to creep up unnoticed.

                    In addition to normal bookkeeping, the very first metrics that you want to know about your business are:

                    Monthly recurring costs – The recurring costs from providing the service.

                    Monthly Recurring Revenue (MRR) – The predictable recurring revenue that you get from your customer base each month. Or, if you are selling annual contracts, Annual Recurring Revenue (ARR).

                    Ramen profitability limit – the rough number of customers/revenue you need to cover your monthly costs & minimum wage (just enough to afford a plate of ramen every day). Think of it as your minimum viable business.

                    The death clock – how long can you keep the business going (as it is) before you run out of money? This is actually your first projection, not a metric. It’s a crude forecast of your cash-flow. There’s also a web app that does the countdown for you, but I prefer the full projection myself.

                    Time to return the investment – This is not something you must have, but I prefer to use. It’s a projection/follow-up spreadsheet showing when my business revenue exceeds the total investment on the business. I think this is also explained in Jason’s Death Clock article.

                    Continue by tracking these

                    MRR Churn – The part of the monthly recurring revenue you lost with the customers who cancelled their subscriptions.

                    You can track MRR churn right from the start – as it deals with plain dollars, it won’t cause you heart-attacks like measuring your churn rate percentages too early would. The percentages don’t work until you have 50-100 customers – they fluctuate wildly and you can’t trust them.

                    New MRR – The part of the monthly recurring revenue that comes from new subscriptions.

                    If you have MRR Churn and New MRR side by side, you’ll easily see how your MRR came to be what it is. Measuring MRR Churn and New MRR is also a small step towards unit metrics, which we’ll go through in the next post.

                    Growth Rate Percentage – The rate at which your monthly recurring revenue grows.

                    If you have a chart with your MRR, you don’t really need this – you can easily see it from the chart. But this is something people are going to ask from you when you talk with them about your business.

                    Also, you may want to compare your business to others. Just remember that this percentage measures revenue, not profit. Don’t compare your growth rate to growth rates of funded companies – they are often spending crazy amounts of money to customer acquisition.

                    In my opinion, a good growth rate target for a small SaaS business is 10-15% per month, and 2013 SaaS survey shows that small businesses’ average growth rate is 89% per year.

                    Don’t follow up metrics that you don’t understand

                    If you are tracking something just because others do – don’t do that. It’s better to have a small set of data that you really use and deeply understand than to have a huge dashboard that does nothing for you.

                    You’ll get nicely started with just a simple spreadsheet that you update every month – there’s no need to follow up these metrics more often than that.

                    And there aren’t any hard and fixed rules – if you find data that helps you understand your company better, just use it. Even when nobody else would be using that data in the same way.

                    Track behavioral data that will be forever lost if you don’t!

                    Most of your financial metrics can be recovered later from your bookkeeping data, but the behavioral events – what people did and when – need to be tracked when they happen. If you don’t know how many people visited your site, where they came from and if they activated their trial or not, there’s nowhere to recover this data from.

                    Fortunately, at first you don’t have enough customers to benefit from this data, but I just had to mention this. We’ll go deeper into to the connection of financial metrics, SaaS metrics and behavioral events in the next posts.

                    You can read the next part here: SaaS Metrics for Hackers – The SaaS Main Funnel

                    Share and Enjoy!