TL;DR:
The "mean" cost-effectiveness of interventions with uncertain impact can be misleading, sometimes significantly.
We usually want to consider , not .[1]
Note: I'm pretty confident about the main claim, but still confused about the details. I end the post with some questions.
Minimal extreme example:
Let's say that you have a magical intervention that has:
- 33% of saving 1 life
- 33% of saving 100 lives
- 33% of saving 199 lives
For the known cost of $10,000.
It would be an amazing intervention! If you run hundreds of similar interventions, you can save lives with cost-effectiveness of $100/life: the expected value is 100 lives saved, and the cost is always $10,000.
But here is what happens if you model it in Guesstimate:
You get $3,400 mean cost per life! Changing the useful value by a factor of 34![2]
This is obvious in hindsight: since Guesstimate shows the "mean" cost-effectiveness
instead of what we care about, which is:
Looking at the 5th and 95th percentile helps in many cases, but not in scenarios where there is a very small probability of very high effects and a significant probability of small effects. Minimal Guesstimate example with 4.8% of saving 1000 lives and 95.2% of saving 1 life.
Some practical examples of very small chances of huge value might be deworming or policy interventions. For those, mean(cost/effect) and mean(cost)/mean(effect) might differ by orders of magnitude.
Three recent examples:
- https://forum.effectivealtruism.org/posts/h2N9qEbvQ6RHABcae/a-critical-review-of-open-philanthropy-s-bet-on-criminal (search for "EDIT 22/06/2022:" in this post, it changes a result by an order of magnitude)
- https://forum.effectivealtruism.org/posts/RXm2mxvq3ReXmsHm4/ (in this case the difference is smaller, 54 vs 31, see https://colab.research.google.com/drive/1lnwjw2_zJHL4rBepw9yzAHQE0zL2ClDb?usp=sharing )
- https://forum.effectivealtruism.org/posts/9iBpokRpoJ2xspfnb/estimating-the-cost-effectiveness-of-scientific-research (19 vs 12, see https://colab.research.google.com/drive/1B_jnFGeUB_2fV7XR942QKJ_xyGMzvGMz?usp=sharing )
Possible solutions and mitigations:
- Consider looking at the value per dollar (or per $1,000, or per $100,000 like GiveWell) instead of dollars per unit of value, so the denominator is constant. The minimal example would become https://www.getguesstimate.com/models/20682
My view is that this is useful also because huge uncertainties in costs are rare. - What's mentioned in this comment
Some questions I still have:
- How can we express the uncertainty around cost/effectiveness if the ratio distribution is hard to reason about and has misleading moments?
- How could the UI in guesstimate or some potential alternative indicate to the user when to use and when to use for nonlinear functions, to prevent people from making this very common mistake?
We might want to use the former for e.g. the value of cash transfers
Really curious to know if anyone has ideas!
Late 2023 Appendix: why not ?
The first versions of this post argued for using , based on the reasoning that if we have an intervention that is certain to save 1 life and has:
- 33% of costing $10
- 33% of costing $1,000
- 33% of costing $1,990
If you commit to funding it entirely to run once, your expected costs are:
, so your expected cost-effectiveness would be 1 life saved per $1,000.
This is wrong because in practice a better model is almost always that you give a fixed amount, instead of funding the intervention whatever cost it might take.
Let's say you give $10 to the intervention above. Then you have 33% of saving 1 life and 66% of saving 0 lives, which is a cost-effectiveness of 1 life per 30$. Very different from $1,000!
To be more precise in a common scenario, let's consider the case where this magical intervention can be run multiple times, and you give $6,000. You have:
- 33% of running it 600 times ($6,000 / $10)
- 33% of running it 6 times ($6,000 / $1,000)
- 33% of running it ~3.015 times ($6,000 / $1,990)
For an average of ~203.015 lives saved per $6,000 so ~$29.554/life.
Note that if you instead commit to giving $6,000 to multiple different interventions that each run once and save 1 life; 33% of which cost $10, 33% of which cost $1,000, and 33% of which cost $1,990; the situation is very different! You would end up funding 2 of each before running out of money, saving 6 lives, and you would have an expected cost of $1,000 per life. This comment probably explains this better, starting from the initial "minimal extreme example" above.
Huge thanks to Sam Nolan, Justis Mills, and many others for fleshing out the main idea, editing, and correcting mistakes. I'd especially like to thank the authors of the comments below for pointing out the major mistakes in the first versions of this post and adding many useful considerations.
This work is licensed under a Creative Commons Attribution 4.0 International License.
- ^
2023 Edit: A previous version of this post argued for using . I now think that the top comments are right and I was wrong: we almost always want to use (or its inverse). I've edited the rest of the post to make it more useful and added an appendix (which might still be wrong). I think it often doesn't change the core conclusion as costs rarely vary by orders of magnitude.
- ^
Edit: this used to say "Underestimating the actual effectiveness by a factor of 34". But I don't think that one value is more "actual" than the other, just much more useful.
The derivation is wrong
First thing: unless I'm making a terrible mistake, your derivation for focusing on mean(cost)/mean(effect) is just mathematically wrong. It treats cost and effect as fixed numbers - you cannot divide a random variable by N because N isn't meaningful when talking about distributions. In the footnote you mention treating cost and effect as independent, which acknowledges that they are random variables, but then that invalidates the derivation.
Am I completely wrong? I can't see how this works.
This is not expected value - that could be bad
Second thing: do we actually care about mean(cost)/mean(effect)? In another comment you justify it because it's ∑cost/∑effect if we sum over different interventions. That does not mean it's the expected value of each intervention! It's just the total cost over the total effect. This does not have any direct link to expected value.
In fact, expected value is exactly why we don't want to squash variability in the variables. Let's say that cost is $1 or $1000 with 50% probability, and effect is 1 life or 1000 lives with 50% probability. Then mean(cost/effect) is 2 * 0.25 + 1000 * 0.25 + 0.001 * 0.25 ~250 $/life. Whereas mean(cost)/mean(effect) = $1/life.
Why are these so different? Because mean(cost)/mean(effect) neglects the "tail risk", the 25% chance that we spend $1000 and only save 1 life. This terrible situation is exactly why we do expected value calculations, because it matters and should be factored into our cost-effectiveness calculations.
That said, ∑cost/∑effect could have some philosophical grounding as a quantity we care about. I would love to see more elaboration on that in the post and a full defense of it. That would be really interesting and definitely worth a post to itself!
There are better solutions to unstable estimates
The best fix is: compute mean(effect/cost), not mean(cost/effect). This is because the denominator will never become zero. I have never seen a cost distribution that includes zero. It doesn't make sense for philanthropic applications. In fact if there was an intervention that had zero cost and improved lives we could all retire.
Yes, costs can still be low and this can make effect/cost very high. This is not a bug, it's a feature. This is what generates fat-tailed distributions of cost-effectiveness. The most cost-effective interventions have modest effects and very low costs.
I think the main practical takeaway should be to use mean(effect/cost) unless you have a really good reason not to. I agree mean(cost/effect) is a bad metric because it would be unreasonable for our effect distribution to not include zero or negative values - which is the only way mean(cost/effect) is even defined.