The plain rolling average - add up the last N readings and divide by N - is everywhere in SCADA because it is easy to understand and easy to trust. But it has two quiet costs: it treats a reading from a minute ago exactly as importantly as the one that just arrived, and it needs to remember every sample in its window. The exponentially weighted moving average, or EWMA, fixes both. It leans on recent samples and fades out older ones, and it does so while storing only a single number. This guide explains how EWMA differs from a plain average, the smoothing constant that controls it, how that constant maps to an effective window, and why EWMA is cheap enough to run on every tag in a large database.
EWMA filter in one line: An exponentially weighted moving average is a recursive average that weights recent samples more heavily than older ones, with each sample's influence fading exponentially into the past. Unlike a plain rolling average, which stores a full window of samples and weights them all equally, an EWMA needs only one stored value, updated each scan by a smoothing constant. That single-value footprint makes it cheap enough to run on every analog tag in a large SCADA database.
A plain rolling average, or simple moving average, takes a fixed window of the most recent samples, weights them all the same, and divides by their count. Its behavior is easy to reason about: the result is literally the average of the last N readings, and each reading counts exactly as much as any other until it falls out the back of the window and vanishes entirely. That equal weighting is intuitive, but it is also a slightly odd model of reality, because it says a reading from the edge of the window matters just as much as the one that arrived an instant ago, and then abruptly matters not at all.
An EWMA replaces that hard window with a soft, fading memory. The newest reading gets the most weight, the one before it a little less, the one before that less still, and so on, with the influence of each older sample shrinking exponentially rather than dropping to zero at a fixed edge. There is no abrupt cutoff; instead, distant samples simply fade toward irrelevance. This matches the common intuition that recent data is more representative of the current state than old data, and it removes the artifact where a single sample dropping out of a plain average's window can cause a small step in the result.
The practical difference an engineer notices is smoothness and responsiveness. Because the newest reading always carries the most weight, an EWMA responds to a genuine change a touch more promptly than a plain average of the same effective length, while its exponential fade gives a smoother output than a window that adds and drops samples in discrete chunks. The two tools are closely related and often interchangeable in effect, but the EWMA's weighting is the more natural fit for a continuously drifting process value.
An EWMA is governed by a single smoothing constant, commonly written as alpha or lambda, a number between zero and one that sets how much weight the newest reading receives. A large constant makes the average responsive and lightly smoothed, because each new reading pulls the result strongly toward itself; a small constant makes it heavily smoothed and slow, because each new reading only nudges the result a little and the fading memory of past values dominates. Tuning an EWMA comes down to choosing this one number to balance responsiveness against smoothness.
Although the EWMA has no literal window, its smoothing constant maps to an effective window length - roughly, how many recent samples are meaningfully contributing at any moment. A small constant corresponds to a long effective window, because many past samples still carry appreciable weight; a large constant corresponds to a short effective window, because the influence of past samples decays quickly and only the last few matter. This mapping is what lets engineers reason about an EWMA in familiar terms, thinking of a given smoothing constant as behaving somewhat like averaging over a certain number of samples even though no samples are actually stored.
This equivalence is useful when moving between a plain average and an EWMA, because it lets an engineer pick a smoothing constant that gives roughly the smoothing of a familiar window length. It is only approximate - the exponential weighting and the flat window are not identical - but it is close enough to guide tuning. In practice an engineer decides how much smoothing a signal needs, thinks of it as an effective window, and chooses the smoothing constant that produces comparable behavior, then adjusts by observing the actual response of the tag.
The decisive advantage of an EWMA in a SCADA system is its memory footprint. A plain rolling average must store every sample in its window for each tag it filters, so a long window across many tags means a large amount of buffered data and the housekeeping of shifting samples in and out. An EWMA stores exactly one number per tag - the current average - and updates it each scan from that number and the new reading. There is no buffer to allocate, no array to shift, and no window length that inflates storage. One value per tag is all the memory the filter ever needs.
That difference is what makes EWMA practical at scale. A large system may have thousands or tens of thousands of analog tags, and wanting to smooth each one is entirely reasonable, but doing it with rolling averages would multiply the per-tag buffer cost across the whole database. With EWMA the cost is one stored value and a couple of arithmetic operations per tag per scan, which is trivial even for a very large tag count. This is why exponential averaging is the pragmatic default when smoothing needs to be applied broadly rather than to a handful of signals.
The same economy carries directly into cloud SCADA. On a platform such as Merobix, where a single system may gather and process values from a large fleet of remote sites, the cost of any per-tag computation matters because it is paid across the entire tag population at once. An EWMA's single-value state and minimal arithmetic mean that smoothing can be applied liberally - to every analog tag that benefits from it - without the storage or processing burden growing with the window length. That lets the platform present cleaner, less jittery trends and steadier values across the whole fleet cheaply, which is exactly the kind of broad, low-cost smoothing a large centralized system needs.
A simple moving average keeps a fixed window of recent samples, weights them all equally, and forgets each completely once it leaves the window. An EWMA weights the newest reading most and fades older readings exponentially with no hard cutoff, and it stores only one value instead of a whole window. The EWMA responds slightly faster and needs far less memory, which is its main practical advantage.
The smoothing constant, often written alpha or lambda, sets how much weight the newest reading gets. A large value makes the average responsive and lightly smoothed; a small value makes it heavily smoothed and slow to respond. The constant also maps to an effective window length - a small constant behaves like averaging over many samples, a large one like averaging over just a few.
Because it stores only one value per tag - the current average - and updates it each scan with a couple of arithmetic operations, rather than buffering a full window of samples. A rolling average's storage grows with window length across every tag, but an EWMA's cost is fixed at one value per tag regardless of how much smoothing it applies, so it scales to databases of thousands of tags.
Merobix reads your field devices into a cloud SCADA - the real thing behind these terms, live in days from any browser.