# Bottleneck Examples

This post follows my [Chains, Bottlenecks and Optimization](https://www.lesswrong.com/posts/Ze6PqJK2jnwnhcpnb/chains-bottlenecks-and-optimization). The goal is to give hypothetical **examples** of bottlenecks and non-bottlenecks (things with excess capacity), and to answer johnswentworth, who helpfully commented:

> I really like what this post is trying to do. The idea is a valuable one. But this explanation could use some work - not just because inferential distances are large, but because the presentation itself is too abstract to clearly communicate the intended point. In particular, I'd strongly recommend walking through at least 2-3 concrete examples of bottlenecks in ideas.

I’ll give a variety of examples starting with simpler ones. If you want a different type, let me know.

Note: The term “bottleneck” has synonyms like “constraint” or “limiting factor”. I’ll often use “key factor”. This contrasts with a non-bottleneck, or secondary factor, which is something with excess capacity (above a margin of error), so improving it isn’t very useful. *Doing better at a bottleneck makes a significant difference to doing better at your goal; doing better at a non-bottleneck doesn’t.* My basic point is that we should focus our attention on key factors.

## Oven

In [The Goal](https://www.amazon.com/Goal-Process-Ongoing-Improvement/dp/0884270610) by Eli Goldratt, the main example is a factory. One of the bottlenecks is the heat treat oven: the rate of baking parts in the oven was limiting the overall output of the factory.

A non-bottleneck example is quality assurance. It was possible to check parts for defects significantly faster than they came out of the oven. So hiring more QA people wouldn’t result in more finished products.

One of the main points of Goldratt’s book is that trying to have a balanced production line (no excess capacity at any workstation) is a bad idea.

## Software

Focusing on key factors or bottlenecks is well known in software: To speed up a program, measure where most of the run time is being spent, then speed up that part(s). Don’t just optimize any function. Most functions have excess capacity (they are more than fast enough already to get a satisfactory result, and their impact is orders of magnitude less than the bottleneck’s impact).

## Chair

I weigh 150lbs and buy an office chair that can hold someone up to 300lbs. It has excess capacity. Would a chair that can hold 400lbs be 33% better (regarding this factor)? Nope, that wouldn’t be useful to me. Everything else being equal, a sturdier chair is better, but I should focus my attention elsewhere: other factors are going to matter orders of magnitude more than having more excess capacity on sturdiness.

I have a budget. Price is a key factor. If a buy a cheaper chair, I can buy more Fortnite skins. So when I’m chair shopping, I focus on variations in price, but I don’t pay attention to variations in weight capacity. (Every chair in the store holds my weight plus a margin of error, so it’s a non-issue.)

Another non-bottleneck is smoothness. I want a chair that doesn’t poke me. Every chair in the store is far more than smooth enough. *If* I measured the bumps, I’d fine one chair has 50 micrometers bumps, another has 100 micrometer bumps, and so on, but it’d take 4000 micrometer bumps to poke me uncomfortably. I shouldn’t assign a higher score to the chair with smaller bumps when both have plenty small enough bumps. And there’s so much excess capacity here that I don’t need to and shouldn’t even do those measurements – that’d be wasteful.

# Ideas

These examples involve [ideas](http://fallibleideas.com/ideas). E.g. “I’ll buy the Aeron chair” is an idea about how to proceed in a life situation. It has excess capacity on chair smoothness and sturdiness. It unfortunately fails horribly on the price bottleneck.

Factories are designed according to ideas. Someone’s design plan (or someone’s ideas about how to modify the factory) created that bottleneck at the oven.

Computer code corresponds to ideas that programmers have about what steps should be used to accomplish tasks. A programmer’s idea about how to design a program can have a speed bottleneck for one sub-idea and excess speed capacity for many other sub ideas.

“I should go to Stanford” is an idea with excess capacity on distance because it’s more than far enough away from my parents. It also does great on the prestige key factor.

Another type of idea is a skill. E.g. I have ideas about how to play chess. They have excess capacity for the goal of beating a 1000 rated player – they are more than good enough to do the job. For the goal of getting a higher rating, my endgame knowledge is a bottleneck, but my opening knowledge has excess capacity. The positions I get out of the opening are more than good enough to move up in the chess world, but I lose too many drawn endgames.

When constructing a birdhouse, I have excess capacity for reading and understanding a guide, but a bottleneck for patience to go slowly and carefully enough given my poor skill at making wood come out the right shape. The wood has excess capacity for strength, but not for weight because I want to hang the birdhouse from a thin branch.

## Evolution

We’re debating selfish gene, group selection or Lamarckism as the primary driver of biological evolution. The key factors involve causal explanations.

Lamarckism lacks specifics about the mechanism for transmitting change to the next generation (it’s also [experimentally questionable](https://en.wikipedia.org/wiki/Lamarckism#Weismann's_experiment)). Sure you can hypothetically imagine a system which saves information about bodily system usage during a lifetime and then puts information into eggs or sperm. But that system hasn’t been found in reality, studied, observed under a microscope, etc. Genes have been, e.g. we’ve studied the shape, chemical composition and copying mechanisms of DNA.

A key issue with group selection was what happens with traits which help the group but harm the individual. What are the causal mechanisms by which those traits would end up in the next generation at higher rather than lower rates (lower due to the harm to the holders of the trait)? No good answer is known for the general case.

These theories all have excess capacity at being able to tell a high level story to account for the animals we observe. Their ability to do that could survive infinitely many variations of the animals to be explained (e.g. if giraffes were 1.1 inches taller on average, or 1.11, or 1.111…). They could also still tell their stories successfully given an infinity of additional constraints, e.g. that the story doesn’t use the number 888111, or the constraint it doesn’t use 888112, or a constraint on 888113, etc.

It’d be an error to pick some evidence, e.g. observations of spiders, and then try to estimate how well each theory fits the evidence, and assign them differing scores. Each theory, if it was assumed to be right about the key issues, would be able to explain spiders fine. (Our view of how well an idea deals with a non-bottleneck factor is often a proxy for our judgment of a key factor – I don’t like Lamarckism’s explanation of the origin of spiders *because* I don’t think acquired traits are inherited in genes.)

## College Rankings

College rankings are discussed in [The Order of Things](https://www.newyorker.com/magazine/2011/02/14/the-order-of-things), an article by Malcom Gladwell about why it’s hard to usefully combine many factors into a single overall ranking score.

Many dimensions, like class size, graduation rate or prestige, come in different units with no conversions (and some dimensions are hard to measure at all). It’s not like converting inches to meters, it’s like trying to convert inches to minutes (or converting both inches and minutes to something else, e.g. grams).

The key factors for colleges vary by person/context. I want a college which is at least 1000 miles away from my parents, but you strongly prefer a local college so you can save money by not moving out. And neither of those factors can be taken into account by one-size-fits-all college rankings published nationally, even if they wanted to include them, because college seekers live in different places.

Joe has excess capacity on graduation rate. He doesn’t mind going to a school where 80% of people graduate over a school where 90% of people graduate. He’s a great student and is confident that he can graduate regardless. His parents have PhDs and he’s had exposure to professors, to what type of skills are needed to graduate, etc., so he’s in a good position to make this judgment.

Steve will be the first person in his family to go to college. He struggled in high school, both with the academics and with communicating in English with his teachers. For Steve, a college with a 99% graduation rate looks way less risky – that’s a key factor.

Key factors are situational. Kate wants a prestige degree, but Sue wants any degree at all just to satisfy her parents. Sue also wants somewhere she can live on campus with her dog.

Kate and Sue have excess capacity in different areas. Kate is so good at basketball that she can get a full scholarship anywhere, so she doesn’t care about tuition price. Sue is way less bothered by dirt and bad smells than most people, so she has excess capacity on attending a dirty, smelly college.

Some factors are about the same for everyone. They all want a college with plenty of air available to breathe. Fortunately, every single college has excess capacity on air. Even if you came and took some air away, or the college had a bad air day (where, due to the motion of gas atoms and statistical fluctuations, there were an unusually low number of air molecules on campus that day), there’d still be plenty of air left. This example is a reminder of the importance of focusing on only a few factors out of infinite factors that could be evaluated.

## Physics

In science, we want our empirical theories to match our observations but *not* match a ton of other, logically possible observations. A law like E=hf (the energy of a photon is Plank’s constant times the photon’s frequency) is valuable in large part because of how much it excludes. It’s pretty specific. We don’t want excess capacity for the set of physical events and states allowed by the law; we prefer a minimal and highly accurate set. So that’s a key factor where we want as much as we can get (more of it translates to more success at our goal).

E=hf has excess capacity on shortness. It could be a longer formula and we’d still accept it.

E=hf has excess capacity on experimental data. We could have less data and still accept it. The data is also much more precise than necessary to accept E=hf. And we have excess documented counter examples to E=hf^7, E=hf^8, E=hf^9, and to infinitely many other rival theories.

E=hf has excess capacity on ease of use. It could be more of a hassle to do the calculation and we’d still accept it.

E=hf has excess capacity of rhetorical value. It could be less persuasive in speeches and we’d still accept it. This would remain true even if it’s rhetorical value was ~zero. We don’t judge science that way (at least that’s the aspiration).

Peter tries to debate me. No, E=Gd, he claims. What’s Gd I ask? God’s decision. But that’s not even a multiplication between G and d! This reminds me that E=hf does great on the “actually math” criterion, which normally isn’t a key factor in my discussions or thinking, but it becomes a key factor when I’m talking with Peter. Related to this, I have a bunch of excess capacity that Peter doesn’t: I could be really tired and distracted but I’d still remember the importance of math in scientific laws.

As long as Peter disagrees re using math, many other issues that I’d normally talk about are irrelevant. I shouldn’t try to debate with Peter how significant figures and error bars for measurements work. That wouldn’t address his no-math perspective; it’d be the wrong focus in the situation. It’d be a mistake for me to say that my approach has a really great, nuanced approach to measurement precision, so Peter should increase his confidence that I’m right. If I said that, he should actually become more doubtful about me because I’d be showing inflexible thinking that’s bad at understanding what’s relevant to other contexts that I’m not used to.

## Minimum Wage Debate

We’re debating minimum wage. We agree that low skill workers shouldn’t get screwed over. I say minimum wage laws screw over workers by reducing the supply of jobs. You say minimum wage laws prevent workers from being screwed over by outlawing exploitative jobs.

The key factor for my claim is economics (specifically the logic and math of supply and demand in simple hypothetical scenarios). When I convince you about that, you change your mind. I should focus on optimizing for that issue. During the debate, I have excess capacity on many dimensions, such as theism, astrology or racism. I’m not even close to causing you to think my position is based on God, the stars, or race. I don’t need to worry about that. When I’m considering what argument to use next, I don’t need to avoid arguments associated with Christianity; I can ignore that factor. Similarly, I don’t need to factor in the race of the economists I cite.

There are many factors which could be seen positively in some way. E.g. economics books with more pages and more footnotes are more impressive, in some sense. This is contextual: some people would be more impressed instead by a compact, very clear book.

But we actually have tons of excess capacity on page count and footnotes. You’re tolerant of a wide variety of books. I don’t need to worry about optimizing this factor. I can focus on other factors like choosing the book with the best clarity and relevance (key factors).

If you were picky about dozens of factors, our discussion would fail. Your tolerance lets me focus on optimizing only a few things, which makes productive discussion possible.

So I convince you that I’m right about [minimum wage](https://curi.us/2145-open-discussion-economics#11063). But next year you come back with a new argument.

Don’t government regulations make it harder to start a business and to hire people? There’s lots of paperwork that discourages entrepreneurship. This artificially reduces the supply of jobs. It prevents the supply and demand of jobs from reaching the proper equilibrium (market clearing price). Therefore, workers are actually being underpaid because they’re competing for too few jobs, which drives wages down.

Now what? You’re right that my simplified market model didn’t fully correspond to reality. The bottleneck is no longer your ignorance of basic economics. You’ve actually read a bunch and now have excess capacity there: you know more than enough for me to to bring up some economics concepts without confusing you. Also you’re very patient and highly motivated, so I don’t have to keep things really short. However, you’re sensitive to insults against less fortunate people, so I have to check for something potentially offensive when I do an editing pass. I only want to share arguments with you that have excess capacity for that – they are more than inoffensive enough.

What should I do? I could defend my model and tell you all kinds of merits it has. The model is useful in many ways. There are many different ways to argue for its correctness given its premises. But those aren’t bottlenecks. You aren’t denying that. That won’t change your mind because the problem you brought up focuses on a different issue.

I judge that the bottleneck is your understanding of what effect minimum wage has on a scenario where the supply of jobs is artificially suppressed. Yes that’s a real problem, but does minimum wage help fix it? I need to focus on that. When I’m considering candidate arguments to tell you, I should look at which one will best address that (and then check offensiveness in editing), while not worrying about factors with excess capacity like your patience and motivation. All the arguments I’m considering will work OK given the available patience and motivation (yes, I could make up a tangled argument that takes so much patience to get through that it turns patience into a bottleneck, but it doesn’t require conscious attention for me to avoid that). Improvements to those factors (like requiring one less unit of patience) are orders of magnitude less important than the key factors (like creating one more unit of understanding of the effects of minimum wage on a system with a government-constrained job supply).