A price is a remarkably efficient little messenger: it compresses scarcity, demand and cost into one number a stranger can act on. The trouble starts when something real, the focus your open-plan office burns through, the smoke from a factory next door, never gets a number. The market can't price what it can't see, so it quietly over-produces the harms and under-produces the goods. That gap between "what's profitable" and "what's actually best for everyone" is what economists call market failure, and externalities and public goods are its two most common causes.

The quick version

  • An externality is a cost or benefit that lands on a third party who never agreed to the transaction, factory smoke (negative) or a beautiful renovated façade (positive).
  • A public good is something no one can be fenced out of and that doesn't get used up when one more person enjoys it, clean air, a lighthouse, your team's shared documentation. Markets under-supply these because the people who pay can't stop free-riders.
  • Both are forms of market failure: left alone, the market produces too much of the harmful thing and too little of the valuable one.
  • You have three levers: price it (tax or charge the spillover), fence it (assign clear ownership so people negotiate), or govern it (community rules). The right one depends on how cheap it is to bargain.

The idea in depth

The foundational move came from Cambridge economist Arthur Cecil Pigou in The Economics of Welfare (1920). Pigou drew the now-standard distinction between private cost, what the producer pays, and social cost, what everyone pays, including the bystanders. When the two diverge, the market's price is lying to you. His remedy was direct: tax the activity that creates a negative spillover by the size of the external cost, subsidise the one that creates a positive spillover. Make the producer feel, in their own ledger, the cost or benefit they're imposing on others. We still call these corrective levies Pigouvian taxes.

The move at work: when a behaviour on your team has a cost no one personally pays, the manager who books "quick syncs" across six calendars, the engineer who ships fast and leaves a mess for whoever touches the code next, don't moralise about it. Put a price on it. Make the meeting-caller account for the hours consumed; make "tech debt" a line in the plan rather than a free option. People respond to costs they can see.

flowchart LR
  A(["A transaction
(buyer + seller)"]) --> B("Private cost & benefit
shown in the price") A -. spills onto .-> C(["A third party
who never agreed"]) C --> D("Negative externality:
they bear a hidden cost") C --> E("Positive externality:
they get a free benefit") D --> F("Market over-produces it") E --> G("Market under-produces it")
An externality is value or harm that escapes the price. Leaders Loop

Coase's reply: sometimes you don't need a tax, you need clear ownership

Forty years later, Ronald Coase pushed back hard in "The Problem of Social Cost" (Journal of Law and Economics, 1960), one of the most-cited papers in all of legal scholarship. His insight: if property rights are clearly defined and the cost of negotiating is low, the affected parties will bargain their way to an efficient outcome on their own, no government tax required. His running example was a cattle rancher whose herd strays onto a neighbouring farmer's crops. Whoever holds the right, the two can strike a deal that lands resources at their highest-value use.

The catch, and Coase's real point, often missed, is that this only holds when bargaining is cheap. In the real world, finding everyone, agreeing terms and enforcing the deal is expensive. Those transaction costs are exactly why we build institutions, rules and assigned rights in the first place. The lesson isn't "markets fix everything"; it's "first ask who owns the right, and how hard it is to negotiate over it", the same question behind reversible vs irreversible decisions.

So before you escalate a cross-team friction to a policy or a tax, check whether you can simply assign the right. Who owns the shared staging environment? Who owns the on-call pager? Name an owner, make the boundary explicit, and watch how often the two teams sort it out between themselves.

Public goods: the things everyone uses and no one will pay for

Paul Samuelson gave the second failure its modern form in "The Pure Theory of Public Expenditure" (Review of Economics and Statistics, 1954), a paper of barely three pages. A pure public good has two properties: it is non-rival (my using it doesn't reduce what's left for you) and non-excludable (you can't practically stop non-payers from using it). National defence is the textbook case. Inside an organisation, so is your documentation, your design system, your shared research, your culture. Everyone benefits; no individual has an incentive to fund it; so it gets starved. That's the free-rider problem, and it's why the wiki is always out of date.

At work, the takeaway is blunt: stop expecting public goods to be produced as a by-product of someone's day job. They won't be, the incentives point the wrong way. Fund them deliberately, with a named owner, protected time, and recognition that counts at review. Treat the design system or the runbook the way a government treats a road, because economically it is one. (For why incentives reliably steer behaviour here, see microeconomics: marginal analysis & incentives.)

flowchart TB
  A(["Is the good RIVAL?
(does one person's use
leave less for others?)"]) -->|Yes| B(["Is it EXCLUDABLE?"]) A -->|No| C(["Is it EXCLUDABLE?"]) B -->|Yes| D("Private good
e.g. a laptop") B -->|No| E("Common-pool resource
e.g. shared CI runners") C -->|Yes| F("Club good
e.g. a paid SaaS seat") C -->|No| G("Public good
e.g. team documentation")
Two questions, rival? excludable? sort any good into four boxes. The bottom-right corner is where markets fail. Leaders Loop

The commons, and an honest limitation

The fourth box, non-excludable but rival, is the common-pool resource, made famous by Garrett Hardin's "The Tragedy of the Commons" (Science, 1968): shared grazing land, each herder rationally adding one more cow until the pasture collapses. Hardin's conclusion was bleak, only state control or privatisation could save the commons.

Here's the limitation worth being honest about: Hardin was, in many real cases, wrong. Elinor Ostrom, who won the 2009 Nobel in economics, spent decades documenting fisheries, forests and irrigation systems where ordinary people governed shared resources sustainably for centuries, without either privatisation or a state, through home-grown rules, monitoring and graduated sanctions (Governing the Commons, 1990). The neat "tax it or sell it" prescription is not the whole menu. Sometimes the answer is govern it together: clear boundaries, rules the users themselves shape, and real consequences for breaking them.

Markets fail in predictable shapes. The skill is naming the shape before you reach for a fix.

So when a shared resource keeps getting exhausted, the staging environment, the data-science queue, the support roster, resist the reflex to lock it down or hand it to one team. Try Ostrom's pattern first. Let the users set the booking rules, make usage visible, and agree what happens when someone hogs it.

flowchart TB
  A(["A spillover
you want to fix"]) --> B(["Easy to measure,
spread across many?"]) B -->|Yes| C(["Price it
(Pigou)"]) B -->|No| D(["A few identifiable
parties who can bargain?"]) D -->|Yes| E(["Fence it: assign
the right (Coase)"]) D -->|No| F(["Govern it: user-made
rules (Ostrom)"])
Match the lever to how cheaply people can negotiate. Leaders Loop

A worked example

A 40-person product org has a shared pool of CI/CD build runners. Any engineer can fire off a build anytime, and each individually rational engineer runs the full test suite "just to be safe." The runners are a classic common-pool resource: rival (your build slows mine) but non-excludable (nothing stops anyone queuing). By Wednesday the queue is 25 minutes deep and people are merging without waiting, the pasture is overgrazed.

The lead reaches first for the Pigouvian lever: price the spillover. A dashboard now shows each team its share of total compute minutes (figures here are illustrative). What was invisible becomes a number, and frivolous full-suite runs drop almost overnight, the cost is finally felt by whoever creates it. Then a Coasean move: ownership of the slowest, flakiest pipeline is assigned to the team that wrote it, so the right to fix it sits with the people who can. Finally, an Ostrom move for peak hours: the teams themselves agree a rule, no full-suite runs on shared infra during the 9–11am crunch, a fast smoke-test path instead, and police it in their own standups. No new budget, no central mandate. Three failures, three levers, each matched to how cheap it was to price, fence or govern.

Frequently asked questions

Isn't this just "internalise the cost", why the jargon?

"Internalising the externality" is the goal; externality, public good and common-pool resource are the diagnoses that tell you how. A tax fixes a spillover with cheap measurement. Assigned ownership fixes one where two parties can bargain. Shared governance fixes a rival resource no one can fence. Same goal, genuinely different tools, naming the type stops you reaching for the wrong one.

Do positive externalities really matter, or is this all about pollution?

They matter enormously, and leaders routinely underrate them. Documentation that speeds up the next hire, the colleague who answers questions in the open channel, all create value the producer doesn't capture, so all get under-supplied. Pigou's symmetric prescription was a subsidy: reward the spillover you want more of. Network effects are a positive externality at scale, each new user makes a platform more valuable to every other user, which is why platform markets can tip toward winner-take-all.

When should I tax it versus assign ownership versus set community rules?

Follow the transaction costs. If the spillover is easy to measure and spread across many people (compute minutes, meeting hours), price it, Pigou. If a small number of identifiable parties are involved and can bargain, assign the right clearly and let them deal, Coase. If it's a shared resource many people draw on and can't be fenced, govern it with user-made rules, Ostrom.

Isn't "just put a price on it" a bit cynical for culture and trust?

Pricing doesn't mean charging money. It means making an invisible cost visible to the person creating it, a dashboard, a budget line, a number in the plan. You're not commodifying trust; you're refusing to let real costs stay free. Often simply showing the spillover changes behaviour with no charge attached at all.

How is a public good different from a common-pool resource?

Both are non-excludable, so both get under-funded. The difference is rivalry. A public good is non-rival, your reading the runbook doesn't wear it out, so the risk is under-investment. A common-pool resource is rival, your build slows mine, so the risk is over-use and depletion. Under-supply versus overgrazing: different failure, different fix.

Related in the Toolkit

Where to go next