Things you should buy, quantified
This piece showcases some web technology for estimation that we've been developing at the Quantified Uncertainty Research Institute. To do so, I'm presenting some estimates of the value that some consumer products would produce for someone with an earning power of around $100k. I'm doing this not because estimating the consumer surplus of products is maximally important, but because it is easily understandable. In particular, consumption under capitalism provides a self-contained, simple framework for making tradeoffs.
All text fields are editable, and their new values will be computed once you click the “Run model” buttons. You reader might want to edit these fields to capture what you value as you follow along.
The background for this is that in my extended social circle, people sometimes make lists of “things you should buy”. My friend Gavin has gathered a list of such lists here. So I’m going to go over a few of the items on those lists, and estimate their value. First, I’ll have to set some variables, and determine how much I value a few general classes of things relative to each other:
General variables
Mean | Stdev | 5% | 10% | 25% | 50% | 75% | 90% | 95% |
---|---|---|---|---|---|---|---|---|
75K | 39K | 30K | 36K | 49K | 67K | 93K | 120K | 150K |
Mean | Stdev | 5% | 10% | 25% | 50% | 75% | 90% | 95% |
---|---|---|---|---|---|---|---|---|
49K | 14K | 30K | 33K | 39K | 47K | 57K | 68K | 76K |
Mean | Stdev | 5% | 10% | 25% | 50% | 75% | 90% | 95% |
---|---|---|---|---|---|---|---|---|
2500 | 91 | 2400 | 2400 | 2500 | 2500 | 2600 | 2700 | 2700 |
Mean | Stdev | 5% | 10% | 25% | 50% | 75% | 90% | 95% |
---|---|---|---|---|---|---|---|---|
11 | 1.8 | 8 | 8.5 | 9.4 | 11 | 12 | 13 | 14 |
Mean | Stdev | 5% | 10% | 25% | 50% | 75% | 90% | 95% |
---|---|---|---|---|---|---|---|---|
30 | 15 | 12 | 14 | 19 | 26 | 36 | 49 | 59 |
Mean | Stdev | 5% | 10% | 25% | 50% | 75% | 90% | 95% |
---|---|---|---|---|---|---|---|---|
76 | 39 | 30 | 36 | 48 | 67 | 93 | 130 | 150 |
A nice computer
With the above variables in mind, here is how much I would value a nice computer, i.e., my current computer, or a not-too-new Macbook:
Nice computer
Mean | Stdev | 5% | 10% | 25% | 50% | 75% | 90% | 95% |
---|---|---|---|---|---|---|---|---|
1800 | 630 | 1000 | 1100 | 1400 | 1700 | 2200 | 2700 | 3000 |
Mean | Stdev | 5% | 10% | 25% | 50% | 75% | 90% | 95% |
---|---|---|---|---|---|---|---|---|
17K | 13K | 4200 | 5500 | 8500 | 14K | 21K | 33K | 42K |
Some points of order about that model:
- The value term represents consumer surplus, in dollars. But one would generally be willing to pay less than the consumer surplus for any particular computer brand, because one could always switch to a competitor, and because there are other competing products that also make a bid on a finite budget. For an extreme example, if capitalism was selling galaxies full of happy people for a dollar, the value in terms of consumer surplus for those galaxies would be more than one dollar.
- The beta term has a lot of unnecessary decimal points. I am mildly averse to deleting decimal points. The origin of these decimal points is this tool to find a beta distribution which fits a 90% confidence interval. In the future, finding a beta that fits a given confidence interval will probably be incorporated into the core Squiggle syntax—the language that I'm using to run these estimations—but we haven't figured out how yet. See this issue for discussion.
- That model reuses the general variables we outlined at the beginning.
Nice headphones
Here is a similar model about nice headphones:
Nice headphones
Mean | Stdev | 5% | 10% | 25% | 50% | 75% | 90% | 95% |
---|---|---|---|---|---|---|---|---|
300 | 30 | 250 | 260 | 280 | 300 | 320 | 340 | 350 |
Mean | Stdev | 5% | 10% | 25% | 50% | 75% | 90% | 95% |
---|---|---|---|---|---|---|---|---|
33K | 31K | 6800 | 8800 | 14K | 24K | 41K | 67K | 90K |
It's kind of absurd how much headphones increase my level of happiness. I also thought it was interesting that someone with a $100k/year salary can't afford to pay $30/hour for a 3 point improvement in a 10 point scale, if that intervention is permanent.
Spare laptop charger
Here is a similar model about a spare laptop charger. A similar model would apply to an external battery for a phone.
Spare laptop charger
Mean | Stdev | 5% | 10% | 25% | 50% | 75% | 90% | 95% |
---|---|---|---|---|---|---|---|---|
26 | 7.8 | 15 | 17 | 20 | 24 | 30 | 36 | 40 |
Mean | Stdev | 5% | 10% | 25% | 50% | 75% | 90% | 95% |
---|---|---|---|---|---|---|---|---|
35 | 37 | 2.6 | 4.6 | 10 | 24 | 46 | 78 | 110 |
Casio watch
Here is a model of the value of a casio watch. I'm modelling most of its value as coming from reducing the number of distractions that stem from looking at the time on one's phone.
Spare laptop charger
Mean | Stdev | 5% | 10% | 25% | 50% | 75% | 90% | 95% |
---|---|---|---|---|---|---|---|---|
29 | 11 | 15 | 17 | 21 | 27 | 35 | 44 | 50 |
Mean | Stdev | 5% | 10% | 25% | 50% | 75% | 90% | 95% |
---|---|---|---|---|---|---|---|---|
1000 | 1600 | 150 | 190 | 300 | 540 | 1100 | 2200 | 3300 |
But you get the idea. I've also played around with models of the value of a sleep mask, taking melatonin, having an external battery for a phone, stocking zinc lozenges, having a vertical mouse, an external microphone, or a blog. You can see some of those models here.
Prioritization across consumption choices
Now, one thing we can do when given these estimates is to prioritize across them. That is, if you have a finite budget allocated to consumption and want to extract as much value from the above consumer products, what should you buy? I'm going to just paste some code and then make some comments about it:
Prioritizing across consumer interventions
What the above code is doing is to try all possible combinations of items, and then see if they are under our budget, and if they beat the previous best option. That code is a bit stilted: because Squiggle doesn't have great escape hatches into JavaScript, I'm having to do things like define an "append" function. Though more list functions should be added in thenext release of Squiggle.
We could also use a more conservative summary function for the purposes of our decisions. For instance, in the getValueOfOption
function, instead of mean(i.value)
we could use inv(i.value, 0.5)
, i.e., rather than getting the expected value of an option we could get its median. You can try that now if you want.
I've also chosen the budget to be 2.1k
because that‘s close to an inflection point. Maybe try moving it a few hundred up and a few hundred down and see what changes.
Prioritization between consumption and other choices.
More broadly, consumption choices like the above are only a narrow slice of the set of choices that one has to make across one lifetime.
Some of the other choices one has to make are, for example, between:
- Using one‘s budget for personal consumption.
- Using one‘s budget for normal altruistic efforts, like donating to a local soup kitchen.
- Using one‘s budget for altruistic efforts which might be more effective, like donating to the Against Malaria Foundation.
- Using on‘s budget to build up one‘s savings, to preserve optionality.
- Reducing one‘s earnings, to spend more time with loved ones.
- Reducing one‘s earnings, to spend more time on projects one considers important, but one‘s boss doesn‘t.
I'm not going to prioritize between those here, but it's conceivable that I could do so in the future. And readers are welcome to do their own estimations. For that purposes, it might be useful to estimate that value of consumption as a distribution, rather than as a point estimate, as above. So to do so, I provide the following code, which estimates the value of consumption as a distribution by taking samples from the cost and value distributions for each item, and then prioritizing amongst them. Note that this code pretty un-optimized, and it might make your browser stop to a crawl.
Prioritizing across consumer interventions, with distributional output
What you've just read
What you've just read is one possible way to use Squiggle—the main recent QURI project—namely as reusable components inside a React app. Previously, the closest that there was was something like this Foretold notebook, which used public distributional forecasts from Foretold, an embryonic prediction platform, and maybe things like Metaculus journal entries. Later on, we had Observable notebooks, like this one estimating the impact of the Against Malaria Foundation.
Like the Observable page and unlike the Foretold or Metaculus notebooks, this page uses reusable React components, meaning that in principle anyone can replicate and use them in their own projects. In fact, you can fork this website here
Initially, I had high plans for this piece: I was planning on building up from consumption tradeoffs to other kinds of tradeoffs, to doing philanthropic prioritization with relative values, which is the current research agenda at QURI. Those plans are postponed to possible future pieces, but I hope this piece gave some hints about what better estimation technology on the web could look like.
If you liked this piece, you can follow the Quantified Uncertainty Research Institute onon our substack, or me personallyon my blog
.