What Is Deadband Compression?
A historian that stored every sample of every tag forever would drown in data, most of it meaningless jitter. Deadband compression is how historians keep the archive small and meaningful: they store a value only when it changes by more than an amount you consider significant, and skip the noise in between. This guide explains deadband compression, the swinging-door algorithm behind good historians, and how to set it without losing real events.
What Is Deadband Compression? in one line: Deadband compression is a technique historians use to reduce stored data by only recording a value when it changes by more than a defined threshold (the deadband). Small, insignificant fluctuations within the deadband are discarded, so the archive keeps meaningful changes while dropping noise.
Simple Deadband vs Swinging Door
The simplest form is exception deadband: the historian compares each new reading to the last stored value and archives the new one only if it differs by more than the deadband. This is easy and effective for flat signals, but it can be crude on a ramping signal - a steadily rising level triggers a stored point at every deadband step, and a slow drift can be missed if each step stays just under the threshold.
Better historians use a swinging-door algorithm (a technique long used in process historians). Instead of comparing to the last stored point, swinging door checks whether the intermediate points can be reconstructed by a straight line within the deadband. As long as every skipped point lies within a tolerance corridor of a line drawn from the last stored point, they are dropped; when a point falls outside the corridor, the previous point is archived and a new corridor begins. This captures trends and slopes with far fewer stored points than simple deadband, while guaranteeing the reconstructed value never deviates from the real one by more than the deadband.
Choosing the Deadband
The deadband is usually set per tag, in engineering units or as a percentage of range, and it directly trades storage against fidelity. Too wide and you erase real movement - a small but meaningful pressure excursion vanishes into the archive as a straight line. Too narrow and you store instrument noise, bloating the historian and slowing queries with no analytical benefit.
A sound approach is to base the deadband on instrument accuracy and process significance: set it just above the sensor's noise floor and below the smallest change you would actually act on. Many teams also distinguish a collection or exception deadband (what the field device or interface reports) from an archive compression deadband (what the historian keeps), so noise is filtered close to the source and only meaningful changes are both sent and stored.
Deadband Compression in Practice
Deadband compression is lossy by design - it discards data you have declared insignificant - so it must be configured deliberately, especially for tags used in custody transfer, allocation, or regulatory reporting, where you may want tighter deadbands or full-resolution collection. For most monitoring tags, though, sensible compression is what makes years of history affordable and trends fast to load.
Note the close relationship to report by exception: RBE applies a deadband at the field device to save bandwidth, while historian compression applies a deadband at the archive to save storage - the same idea at two points in the pipeline. Merobix stores time-series history for every monitored tag with configurable compression, so operators keep meaningful history at full fidelity without archiving instrument noise.
Checking What Compression Actually Kept
Compression settings should be verified, not trusted, because the failure mode is silent: the archive simply lacks the detail you assumed it had, and you discover it during the incident review that needed it. The direct check is to collect a short window of uncompressed data for a handful of representative tags - a noisy one, a slow-moving one, a fast-cycling one - overlay the archived series on the raw series, and confirm the reconstruction is faithful enough for how each tag is actually used.
The ongoing check is the per-tag historian compression ratio, which makes outliers visible in both directions. A tag storing nearly every sample is either genuinely noisy, carrying a deadband far below its noise floor, or scaled wrong. A tag storing almost nothing is either genuinely flat, carrying a deadband that swallows real movement, or coming from a dead instrument - and the archive alone cannot tell you which, so a near-zero storage rate on a tag that should move is worth a field-side look.
How Compression Interacts with Queries and Aggregates
A compressed archive stores points where the signal changed, which means stored samples are irregularly spaced and cluster around activity. Any calculation that averages stored samples arithmetically inherits a bias toward the busy periods, because that is where the points are. The correct tool over compressed data is a time-weighted average, which weights each value by how long it persisted rather than by how many samples happened to be stored.
Retrieval has the mirror consideration: between stored points, the historian reconstructs the signal, typically by interpolation, and the guarantee behind that reconstruction is exactly the deadband - the true value never differed from the reconstructed line by more than the configured tolerance. That guarantee is what makes compression defensible, and it is also why the deadband must be chosen against how the data will be queried, not just how much disk it saves.
Tags That Deserve Special Treatment
A single site-wide compression policy is a smell; signal types differ too much. A short taxonomy:
| Tag type | Sensible handling |
|---|---|
| Noisy analog (pressures, flows) | Deadband just above the instrument noise floor; swinging door where available |
| Digital and state tags | Record every transition; a deadband has no meaning on a two-state signal |
| Totalizers and counters | Very narrow or no compression; a monotonic ramp compresses well anyway and gaps corrupt accounting |
| Setpoints and operator entries | Record every change; each one is an event, not noise |
| Custody and regulatory tags | Full resolution or the tightest deadband the contract or rule allows |
The pattern behind the table is that compression is a statement about which changes are insignificant, and for event-like signals - transitions, commands, entries - no change is insignificant.
A symbolic example makes the algorithm choice concrete. Take a level tag with span S and a deadband set to a small fraction of S. A flat signal stores almost nothing under either algorithm. A steady ramp is where they part: simple exception deadband archives a point every time the level climbs one deadband step, so the number of stored points grows with the size of the excursion, while swinging door represents the entire ramp with its endpoints because every skipped sample lies within the tolerance corridor of a straight line. Same deadband, same fidelity guarantee, dramatically fewer points - which is why ramp-heavy signals like tank levels are where swinging door pays for itself.
Frequently Asked Questions
What is deadband compression in a historian?
It is a method that stores a tag's value only when it changes by more than a set threshold (the deadband), discarding smaller fluctuations as noise. This shrinks the archive to meaningful changes, so years of history stay affordable to store and fast to query.
What is the swinging door algorithm?
Swinging door is a compression method that keeps a point only when the values in between cannot be reconstructed by a straight line within the deadband tolerance. It captures ramps and trends with very few stored points while guaranteeing the reconstructed signal stays within the deadband of the real one. It is the classic historian compression technique.
How do I choose a good deadband?
Set it just above the instrument's noise floor and below the smallest change you would actually act on, based on process significance and sensor accuracy. Too wide erases real events; too narrow stores noise and bloats the archive. Use tighter deadbands for custody-transfer or regulatory tags where full fidelity matters.
Does deadband compression affect alarming?
No. Alarms are evaluated on the live values upstream of the archive, so a value that never gets stored can still trip an alarm. The similarly named alarm deadband is a separate mechanism - it controls when an alarm returns to normal to prevent chattering, and it is configured independently of any historian compression.
Can data discarded by compression be recovered later?
No. Compression is lossy by design: samples inside the deadband are dropped at write time and no amount of reprocessing brings them back. What remains is the guarantee that the reconstructed signal stays within the deadband of the truth. If a class of tags may need full-resolution history later - custody, compliance, incident forensics - the decision has to be made at collection time, by exempting those tags or archiving them in parallel at full fidelity.
Automation services
Need help turning this into a working system?
Merobix integrates SCADA, programs Allen-Bradley and Siemens PLCs, and designs and fabricates industrial control panels.
Meeting requests are reviewed before confirmation.