Negative (Self-correcting) Feedback Loops

Think of negative feedback loops as ‘balancing’ or ‘self-correcting’ loops.

Consider the ecological relationship between foxes and rabbits. Foxes eat rabbits. So a lot of foxes will make a sizeable dent in the rabbit population. But as the rabbit population declines, so too does the nutrition source for the fox population. This, in turn, causes the fox population to decline, which, of course, allows the rabbit population to grow again.1

Some more examples…

There’s a shortage of bananas (supply drops). Decreased availability means the price of bananas goes up. Increased price of bananas increases the profit incentive for suppliers, so more bananas are brought to market.

Your furnace thermostat is based on negative feedback. When the temperature in the room drops below its set level, the system fires up to close the gap between the actual temperature and the desired temperature.

Your body is full of negative feedback loops: when you are hot you sweat, when you are cold you shiver.

A negative feedback loop is like a ball in a valley. If you roll the ball up the side, it ‘wants’ to roll back down to the basin. In other words, it wants to self-correct. Think about how things like taxation and whistleblower protection work to keep balls like monopolization and fraud from rolling completely out of control.

Most of the time negative feedback loops do not exist in a vacuum. If we go back to the rabbit and fox example, we could ‘zoom out’ a bit further to consider the ways that the ‘self-correcting balance in the two populations is tied to a potentially limitless number of other factors in the ecosystem.

One of the beautiful things about self-correcting loops is they tend to be widely distributed. This is why they work so well for maintaining a steady state of dynamic disequilibrium in the system. The more diversified and distributed they are, the more robust they usually become.


  1. Loopy, designed by Nicky Case, is a great tool for visualizing and experimenting with self-correcting feedback loops. See http://ncase.me/loopy/