Fixed result vs fixed cost
What cost savings are worth the effort?
Imagine there was a credit card that would reduce your cost of food by 5% for the rest of your life. How much would this card be worth to you? Saving 5% sounds nice, but you can only eat so much, so your gains are pretty capped. Even if you go all out and spend $1500 a month on food, we’re talking about saving $75 a month. Present value of that with an 8% annual discount rate is about 10k. Pretty cool but nothing to go crazy over.
Now consider a similar example. Imagine a card that would (somehow) reduce the time required to get any work done by 0.5% (I’m using 0.5% instead of 5% to make it somewhat comparable to the first example, since you work more than you eat). At a $200k salary this has about the same value as the above example.
But there’s actually a difference between these. When you spend less on food, that’s the end of the story. But when you burn less time on work, you spend the same amount of time working and get more done. With food, the result (how much you eat) is fixed and the cost is variable. But with work, the result (value created) is variable and the cost (8 hours a day) is fixed. So instead of thinking of it like “saving 0.5% of my time”, the right way to think of it is “getting 0.5% more done with my time” (technically 100/99.5=0.503%).
Here’s another example. Imagine you spent $10k buying 1000 shares of Tesla for $10 each in 2013. It’s now worth $423k, for a return of $413k. And then imagine that you could somehow go back in time and tell yourself to buy it at $9. How much is that worth? It depends if the cost reduction was food-like or work-like. Does your result (1000 shares) stay fixed or does your cost ($10,000) stay fixed? If your result stays fixed, you’re only adding $1000 to your $413 return, so whatever. But if your cost stays fixed, you bought 1111 shares which is now worth $470k, a which makes this change worth $47k.
And the difference between these two cases gets even more extreme, because the good situation compounds and the bad one doesn’t (or I guess “compounds toward worthless” might be more accurate). If you have a reliable system for repeatedly going back in time and buying Tesla 10% cheaper, that’s enormously valuable if your purchase is fixed at $10k but not that exciting if it’s fixed at 1000 shares.
Okay so what do we do with this? It’s fun to imagine buying $10k of Tesla at $9 instead of $10, but that doesn’t really do anything for us.
We all spend half our lives in fixed-cost environment, since we’re working X hours a week no matter how efficient we get. And we’ve established that work-style cost reductions in such an environment are gold. But my theory is that people naturally think of them like they’re food-style. The level of investment I’ve seen people (myself included, until a few years ago) put toward stuff like this definitely supports that theory. I guess I don’t know what’s going on in everyone else’s head, but if I dig into a lot of my own past thought processes there’s a lot of “it’s just 20 minutes a day, not that important”. And it makes sense that that’s the natural way to think, because at a first glance that’s what’s happening. You’re removing 20 minutes of work. It takes an extra step to really internalize that you’re not removing 4% of the items in a box, you’re making the box 4% larger.
If you really believe in the value of these, you can find these 1% improvements EVERYWHERE (especially in eng). If you constantly ask “what’s fundamentally valuable and what’s friction”, “what problems am I solving multiples times”, “how can I solve this problem for other people and not just myself”, you’ll find hundreds or thousands of these over time. The hard part is trusting that bringing investment in stuff like this from 5% of your time to 60% or 70% will come out positive.
Just to give a few concrete examples so I don’t sound like a crazy person:
Auto import all models in the shell. import each’s apps services and views as <app_name>_services, etc. No spending time importing.
Have a simple set of like 6 functions that do 99% of what you could possibly want to do with python’s datetime library. No one should have dig through Python’s 1000 timestamp features, they should immediately have an obvious tool to use for any problem they come up with.
Have a base view class for resource-y api views. Have it define things like filters based on its field. And based on the type of filter, automatically define extensions like
__gtfor dates and decimals,__startswithfor strings,__infor everything. “Adding a filter to an API” is fake work, they should just be there.Have a standard test directory structure that mirrors your files, so you can have keyboard shortcuts to open the test file for a code file and vice versa. Also keyboard shortcuts to run the current file’s tests or the single test under the cursor.
All of these are 1-3% time savings, and most aren’t even that hard. Another cool thing is that implementing these make future cases more visible. Something that takes 0.2% of your time right now might be too small or infrequent to see, but after cutting out a bunch of out sources of friction that 0.2% turns into 2% and you can see it more clearly.
The company my brother Thomas and I are starting is an experiment in this. Can we keep stacking this output multipliers forever and get to 100x or 1000x the value created per person? And can we get to the point where it’s not just high value per person but high total value too?
If you’re interested in ways to cut costs of whatever you’re building let me know, would love to talk about ideas!
