What is moral hazard?

The tendency to take on more risk once someone else, such as an insurer or a lender, bears the cost if things go wrong.

Moral hazard diagram example

Public diagram from the Machinations Community. Open it on its own page

Moral hazard is the change in behavior that happens once a person is protected from the consequences of their actions. It matters because insurance, guarantees and bailouts can make the very losses they cover more likely.

How it works

Protection lowers the personal cost of a bad outcome, so careful behavior pays less. A driver with full coverage may park less carefully, and a lender who expects rescue may lend more recklessly. Because the insurer or backer cannot watch every action, the extra risk goes unpunished.

The response is to leave the person with part of the loss. Deductibles, co-payments, caps and conditions on coverage keep some exposure in place. A larger share left with the person reduces the extra risk but also reduces the protection that was the point of the arrangement, so the design balances the two.

Example

Say a business faces a 10 percent yearly chance of a 10,000 loss if it skips safety work, and a 2 percent chance if it pays 300 for the work. Without cover, the expected loss avoided is 800 against a cost of 300, so it pays for the work. With full insurance, the loss costs the business nothing, so the work looks like a pure expense and is skipped. A deductible of 3,000 restores the incentive. The numbers are illustrative.

How to model it in Machinations

Use a Gate to decide whether a loss happens, with the probability set by a Register that depends on a Lever for safety spending. A Pool holds the insurer's reserves, a second holds the business's cash, and a Drain pays out losses split by a deductible Lever. A state connection links the coverage level to the safety spending. Play many times with full cover and with a deductible, and chart the insurer's reserves.

See moral hazard in a system you can Play

Build the rules in a Machinations diagram, change a value and Play it to watch how the system responds.