Epistemic Status: Not the best explanation of this it could be, but a good enough explanation.
This post is a bit of an experiment, in that it exists mostly to teach you a word I find useful (in accordance with the one weird word rule), and explain why it’s a useful word to have.
The word (as you might guess from the title) is satisficing. Satisficing is the strategy of trying to find a solution to a problem that is good enough, without worrying about whether the solution is the best.
The word comes from a portmanteau (mixing) of the words satisfy and suffice. It sounds a bit funny, so is probably not the best word that could have been chosen for the concept, but it’s the one that managed to get traction so it’s probably a good enough word for it.
Satisficing is defined in contrast to optimising, where you are seeking to find the best solution. You can think of them both in terms of the following brute force solutions: An optimiser tries every solution and at the end picks the one that is best, a satisficer tries every solution until it finds one that is good enough and then immediately stops and uses that.
It may seem that optimising is obviously better than satisficing, because optimising gives you the best answer and satisficing merely gives you an OK answer, but in fact there are many circumstances under which one should prefer to satisfice.
The two main advantages of satisficing over optimising are:
- It’s much less work.
- You can usually satisfice for multiple things, but you can rarely optimise for multiple things.
The first part is fairly straightforward: Any optimising process for finding the best solution can be turned into a satisficing one by just stopping early as soon as it finds a good enough solution, so satisficing has to be less work than optimising, because it skips a lot of the process of finding the best solution and verifying that it is the best.
The 80/20 rule (80% of the benefit comes from 20% of the work) is a rule of thumb based on this: If you set your threshold for good enough at 80%, then by satisficing instead of optimising you can save 80% of the work.
Another example of satisficing solutions is coin flipping to make trivial decisions. If the difference between two choices is small, you might as well just pick arbitrarily if the work of deciding is going to be more than benefit of picking right.
The low cost of satisficing is important, but the fact that it combines well is perhaps more interesting.
The big problem with optimising is that it results in solutions that are fragile – almost any change you make to them will mean they are no longer the best solution. This means that attempting to optimise for one thing will usually prevent you from optimising for another thing, unless the two are very tightly related.
To see this in practice, say you want to minimize the cost of some widget. In order to squeeze every last penny out of the production process you end up making a lot of decisions in support of this, and the result is you are now very constrained. You have almost no wiggle room. Suppose you now want to also maximize quality – almost every change you can make to your hyper-optimised solution will make it more expensive because you spent so much effort optimising it, so by trying to improve quality at all (let alone optimise for quality) you now end up exceeding your optimised cost.
In contrast if you set yourself a budget and a quality threshold, these two might be in tension but they’re not necessarily mutually exclusive. You can’t necessarily satisfy every combination of them (there’s a reason for the scope/cost/time project management triangle), but by giving yourself more slack you have a wider range of solutions, so it is at least possible to find reasonable combinations that you can satisfy all of.
You can also use some combination of goals to try to optimise for multiple targets: e.g. deciding you’re willing to pay 10p per unit quality, so now you’re optimising for quality – cost / 10. This is a perfectly reasonable thing to do if your optimisation problem is one that is sufficiently well defined that you can hand it to a computer (and you are prepared to tinker with your weightings a bit until you’ve found a solution you like – itself a form of satisficing!). The result will not simultaneously optimise for all the scores, but it will generally be pretty good at all of them because it expresses how willing you are to trade off different scores against each other.
Another example of having multiple competing goals is compromise and cooperation. If you have two people trying to achieve their own outcomes, it’s rare that you will be able to achieve agreement about the best outcome, but commonly there is some shared outcome that is good enough for everyone. Getting the group to agree to that might not always be easy, but at least the satisficing solution exists at all!
These two benefits of satisficing often play well together, because the fact that satisficing can be cheap means you can play around with a number of different combinations by repeatedly tweaking your requirements. This can be a useful exploratory process for finding out what you actually want out of the situation.
An example where I often deploy this in practice is public speaking. The basic constraints to satisfy for a talk are:
- It has to make sense.
- It has to fit its time slot.
- It has to convey something interesting.
As long as a talk satisfies those requirements, it’s good enough and I’d be happy to give it, but I tend not stop there. For example each time I give a talk I try to improve my slide game a bit over the previous talk (slides are one of my weak spots – a visual designer I’m not). Once I’ve practiced it, I spot things that are weaknesses and try to improve on them. After a couple of iterations, I’ve found a talk where I think it’s good enough. So satisficing doesn’t have to mean you stop looking for better solutions and improving over time, because what counts as “good enough” is under your control.
In general, I find satisficing is a much less stressful strategy for many things like talks, blog posts, papers, etc. Attempting to optimise creates a constant feeling that nothing I do will ever be good enough because it could always be better, but explicitly aiming for satisficing means that I can be happy with good enough and work to improve my baseline of good enough over time.