Control · bang-bang

On-Off Control & Hysteresis

A thermostat is not a bad controller. It is a different one, with its own rules.
cycles/hour
—

The system

—
How far the temperature must fall below setpoint before it switches on again.
How far above ambient it could hold the space if left running. Bigger unit, bigger number.
Everything between the temperature changing and the controller acting on it: the sensor's own lag, where it sits in the room, and how long the plant takes to produce heat. Set it to zero for the textbook answer.

Cycling

—
Cycles per hour
—
—
Per cycle
The counterintuitive bit

Cycling is worst at half load

Not on the coldest day — then the unit runs almost continuously and barely cycles at all. Not on the mildest either, when it hardly runs. The worst cycling is at about 50% duty, which for a correctly sized system is ordinary spring and autumn weather. An oversized unit reaches that point on a milder day and spends more of the year there.

The bit the textbook leaves out

Dead time widens the swing and puts a floor under it

and it hits an oversized unit hardest

Everything above assumes the controller acts on the temperature now. It never does. The sensor has its own time constant, it sits somewhere that is not the middle of the room, and the plant takes time to make heat or cold after it is asked to. The controller is therefore always switching on what it saw a minute or two ago — and the temperature keeps going the way it was going for exactly that long.

Why an oversized unit suffers most

The overshoot past the upper limit is (C − hi)(1 − e−θ/τ), where C is the temperature the plant would eventually reach if left running. That first bracket is the whole story: the further the plant is driving past the setpoint, the faster the temperature is moving when the switch-off command is given, and the further it travels during the delay. Double the authority and you roughly double the overshoot for the same dead time. The page above already said an oversized unit cycles faster; this is a second and independent penalty, and it is the one occupants actually feel.

And the swing has a floor

Squeeze the deadband towards zero and the swing does not follow it down. What is left is (C − ambient)(1 − e−θ/τ) — overshoot at the top plus undershoot at the bottom, neither of which the deadband controls. Below that point narrowing the band buys nothing at all: the temperature swing stops improving and, because the plant is still travelling the same distance on each stroke, the cycling rate stops rising too. The textbook curve runs off to infinite cycling and zero swing. The real one flattens, and where it flattens is set entirely by the ratio of dead time to thermal time constant.

That ratio is the number worth knowing. Dead time of a hundredth of the time constant is a rounding error. A tenth is a badly sited sensor and a visible swing. Anything approaching a third and the deadband has almost stopped mattering — the loop is being governed by its own delay, and no amount of tuning a two-state controller will fix it. That is the point at which the answer is to move the sensor, not to adjust the thermostat.

Worked example

The default house: 4 h time constant, 1.0 K deadband, 20 °C against 5 °C outside, a boiler that could hold 30 °C.

With no dead time it cycles 1.50 times an hour and the temperature stays inside the 1.0 K band, exactly as the section above says.

Give it 6 minutes of dead time — a sensor on an inside wall and a boiler that takes a couple of minutes to deliver — and the real swing becomes 1.59 K, 59% wider than the band you set, while the cycling rate falls to 0.94 an hour. Narrowing the deadband to 0.2 K does not give you a fifth of the swing: it gives you 0.81 K, because 0.62 K of that is dead time and no setting on the thermostat can touch it.

How it works

Two exponentials and a band

The deadband is the only knob

No gain, no integral, nothing to tune. The gap between switch-on and switch-off, and the physics of what is heated, decide everything.

Two exponentials

Heating rises toward ambient + authority; cooling falls toward ambient. ton = τ·ln((C − Tlo)/(C − Thi)), and likewise toff.

Halve the band, double the cycling

For a small band both logarithms are nearly linear in it, so the period is proportional. Half the band: twice the cycles, half the swing.

Start-up is the wear

Compressors draw several times running current at start; boilers purge and re-light. Typical limits: a ten-minute run and about six starts an hour.

Worked example. A house with a 4-hour time constant, 20°C setpoint, 5°C outside, a 1 K deadband and a boiler able to hold 25 K above ambient: 24 minutes on, 16 minutes off, about 1.5 cycles an hour at 60% duty. Double the boiler’s authority to 50 K and the on-time collapses to about 7 minutes while the off-time barely moves: about 2.6 cycles an hour, from buying a bigger boiler.
Field notes

What hysteresis buys and costs

A bigger unit cycles faster, not better

Doubling the heater’s authority roughly halves the on-time while leaving the off-time untouched, because the space still cools at whatever rate the fabric allows. Shorter period, more starts, more wear. Oversizing is bought deliberately, usually for reassurance, and is the commonest cause of short-cycling, paid for in compressor life.

50% duty

Cycling is worst at half load

Not on the coldest day, when the unit runs nearly continuously and hardly cycles; not on the mildest either. The peak is at 50% duty, ordinary spring weather for a correctly sized system, which an oversized one reaches on a much milder day.

Why not a wide deadband?

Because you feel it. A 2 K band on a room thermostat is a noticeable swing and comfort complaints follow. The band is a straight trade between stability and wear, with different answers for a freezer (nobody cares about 2 K) and a living room (everybody does). Down to a point: dead time puts a floor under the swing that no setting can reach.

Short-cycling is wear, not inefficiency

A compressor circulates oil poorly until up to speed; a system that never reaches steady state never reaches its rated efficiency either. Manufacturers want about ten minutes of run time and no more than about six starts an hour.

On-off is the right answer more often than people admit

It needs no tuning, cannot wind up, and fails obviously. When the actuator is genuinely two-state and the plant slow, PID buys nothing: fitting a modulating controller to a relay just gives you a slower relay. Most heating, refrigeration and domestic hot water.

Real thermostats cheat, on purpose

Minimum on and off timers, anticipators that fake a slightly warmer sensor to switch off early, and staged plant all break the simple relationship modelled here. If your real system cycles differently from this page, that is usually the controller protecting the equipment.

Questions

What people ask

Why is short-cycling bad?

Start-up is where the wear is. A compressor draws several times its running current for the first seconds and runs without proper oil return until it is up to speed; a boiler condenses and purges on every start. Manufacturers commonly want a minimum run of about ten minutes and no more than roughly six starts an hour. Efficiency suffers too, because a system that never reaches steady state never reaches its rated efficiency.

Then why not use a wide deadband?

Because you feel it. A 2 K band on a room thermostat is a noticeable swing, and comfort complaints follow. The band is a straight trade between temperature stability and equipment wear, and the right answer differs for a freezer (nobody cares about 2 K) and a living room (everybody does).

Why does a bigger unit cycle more?

Because it crosses the band faster. Doubling the authority roughly halves the on-time while leaving the off-time alone — the space still cools at whatever rate the fabric allows. The period shortens, the cycle rate rises, and every start is another start. Oversizing is the most common cause of short-cycling and it is bought deliberately, usually for reassurance.

When is on-off actually the right choice?

When the plant is slow relative to the switching, the actuator is genuinely two-state, and nobody needs the last fraction of a degree — which describes most heating, refrigeration and domestic hot water. It needs no tuning, cannot integrator-wind-up, and fails in an obvious way. Modulating control is better when you have a modulating actuator; fitting PID to a relay just gives you a slower relay.

What this page assumes

A single well-mixed thermal mass with one time constant, a heater that is fully on or fully off with no modulation, instant switching, a symmetric deadband about the setpoint, and a constant ambient. Dead time is modelled — as a pure delay between the temperature changing and the controller acting on it, which covers sensor lag, sensor placement and plant response together. Not modelled: thermal stratification as a distinct effect, minimum on and off timers built into real controllers, anticipators, start-up transients and inrush, modulating or multi-stage plant, defrost cycles, solar gain and occupancy, or the difference between air temperature and what a person feels.

Single-lump thermal model. Real installations have minimum run timers, anticipators and multi-stage plant that change the cycling behaviour deliberately. Use manufacturer limits for minimum run time and starts per hour rather than these figures when sizing or commissioning anything.
Version history · 1 release
  1. v6.462026-10-03On-Off Control: dead time drawn where it happens, and a cooler no longer swings a negative amount

Releases in which this page changed, newest last. Derived from the archived copy of every release, not from notes written afterwards — so it reflects what actually shipped. Site-wide passes are left out; they are in the full changelog.

Rules of thumb are approximations, offered to get you to the right order of magnitude fast. Check anything load-bearing against its source or the exact tool. Privacy · Terms

© 2026 Rules of Thumb · Runs entirely in your browser