. Updated 2024-12-13

As a developer, my first instinct when I come up with a clever new idea is to start coding, right away. As I start dreaming about how no other company has scratched this itch, and how I’ll win a million customers, I start get dollar signs stuck in my head — but not in my pocket!

Sometimes, there’s a reason a market is untapped. The only way to find out is to do a valuation of your new business idea before you start implementing it.

Here’s the story of Picha, a photo storage app that filled me with passion; but never had any life of its own. For a while, I’ve wanted a photo storage app that respects my privacy. Something that doesn’t use advanced AI to try to snoop and extract dollars from my pocket. Something that doesn’t cost a customer $80/year (Yikes!), like Flickr did at the time.

I had already spent time designing the architecture and was busy experimenting with clean architecture in the code. I was keen to learn it because I planned to launch the app from my home server, then upgrade it several times and move into the cloud or a data center later on, when there was enough volume — and cash flow — to justify it.

It seemed like a great idea! Since it was mostly an infrastructure business, it would require smart hardware purchases and some devops, but minimal coding. All I need to do is store your photos, and allow you to retrieve them again. The rest was just showing you those sweet memories in a pleasing manner. Nothing could be simpler!

What could go wrong?

Fancy Business Terms

Around this time, I learned about Lifetime Value and Lifetime Gross Profit; So I applied what I learned to Picha. I couldn’t wait to learn how many millions of dollars I was gonna earn!

Lifetime

Lifetime Value (LTV) is the amount of revenue you expect from each customer over the lifetime of your relationship with them. You can calculate the lifetime of a customer based on the churn rate.

If you start a month with \(m\) customers and then, after 30 days you have lost \(n\) customers, your churn rate is \(\frac{n}{m}\). The lifetime of your average customer is the inverse:

$$ \text{lifetime} = \frac{1}{\text{churn rate}} \text{per month} = \frac m n \text{months} $$

For Picha, I estimated that the average user would stick around for 14 months, yielding a churn rate of \(7\%\) per month. A lot of users will fall off in their first month of service, sure; but the remaining users should stick around for a long while simply because they don’t want to go through the effort of moving their photos elsewhere.

This number was probably optimistic, but I didn’t have any data to go off of.

Value

Since Picha would use a subscription model, this was straightforward. I just had to set a price! I wanted to target a monthly price of $5 or an annual price of $42 per year.

Lifetime Value

With both lifetime and value set, we can calculate the LTV! The monthly subscription (lasting 14 months) will capture…

$$ $70 = 14 * $5 $$

70 bucks! Wow! That is not demoralizing at all! Yeah… this is not a business model!

Uh… fine! Let’s do the annual calculation just for completeness sake.

$$ $84 = \left\lceil \frac{14}{12} \right\rceil * $42 = 2 * $42 $$

Since we don’t issue refunds for cancelling part way through the year, we can collect 24 months worth of income from the customer with the annual plan. That’s something.

Wait? What’s the problem?

You might look at that $70 figure and think, Getting $70 from a customer isn’t so bad. Plus, I could use that money to buy ads and acquire new customers, right? Classic software biz infinite money glitch, right?

Well, scaling is one issue. Remember that LTV is revenue! It doesn’t account for any expenses incurred by the business to produce that value — that would be Lifetime Gross Profit. And it doesn’t account for marketing and sales expenses — that’s Lifetime Net Profit.

Thanks to my detailed architectural plan, I had an accurate idea of my bandwidth and storage usage; So I knew what it would cost to host 10,000 photos per user, per year. Using cloud hosting, that number was around $80 per year. Yikes! I would need to double my monthly price point just to break even on operational expenses. (Also, hmm… I guess Flickr is undercharging. How is that possible?)

That’s too expensive. Cloud hosting is just out. That leaves self-hosting as the only viable option for this business. Still seems doable, though…

The other issue is that I don’t have time to run Picha! I would need to support and grow the business on nights and weekends until it got big enough to replace my full-time job.

At the time, I felt I needed around two thousand customers to quit my full-time job and focus on Picha alone. However, to host that many customers would have cost me at least $20k to build out my infrastructure. That means I needed to burn through the LTV of over 200 customers to even pay for enough infrastructure to make Picha my new job.

And, again, the goal of that $20k investment is to allow us to service the 2k users I’d need to make a go of it. I’d need to consistently get around 20 new customers per month to maintain that.

And that still doesn’t account for the marketing dollars and effort I’d need to spend, as well as the continual engineering challenges that would certainly come up, since I could only afford to host about 20 customers until I had cash flow.

And let’s not forget the many months I’d have to spend upfront building the software and infrastructure product, itself. Sweat-equity is not a bad thing; but if you don’t have a plan to pay yourself back for it at some point, then it’s just not worth it.

To say it another way, if I’m going to spend 12 or 24 months building an app, then spend all of my energy growing it, I may as well choose one that will pay much better! Hmm… So, what kind of business would that be?