Moving Average Calculator
The mean, dragged through time: a simple moving average and an exponential one on the same series, with the smoothing arithmetic — the weight α and the half-life — computed where you can read it.
Moving Average Calculator
Results recalculate instantly on every keystroke. Nothing you type is transmitted.
What this result does not account for
- Simple and exponential averages only — no weighted-window or seasonal decomposition
- No missing-value handling: enter a complete series
In short: Series 12, 14, 13, 17, 19, 18, 21, 24, 22, 26 with a 3-point window: the last simple moving average is (24 + 22 + 26)/3 = 24.000000, the one before it 22.333333 — the SMA is rising. The exponential average with span 3 weighs the newest point at α = 2/(3+1) = 0.5 and lands at 23.906250: close to the SMA but faster to the recent level. Its half-life here is exactly 1 step — an α of 0.5 forgets half the past every period. Read the two together: the SMA answers “what does the typical window look like,” the EMA answers “where are we now,” and their gap is exactly the lag you traded away for stability.
Formula
SMAₜ = (xₜ−ₖ₋₁ + ⋯ + xₜ)/k · EMAₜ = α·xₜ + (1−α)·EMAₜ−₁ · α = 2/(k+1) · half-life = ln(0.5)/ln(1−α)
The SMA weights every point in the window equally and nothing outside it. The EMA weights the newest point at α and every older point at a geometrically decaying share, seeded here at the first observation — stated, because seeds vary between software.
Worked Example
- Enter the series in time order — oldest first; a moving average is meaningless on shuffled data.
- Pick the window k; both averages use it.
- Read the SMA for the window's typical level, the EMA for the smoothed present.
- Use the half-life card to say HOW FAST the EMA forgets, in periods, not vibes.
Defaults: SMA(3) last = 24.000000 (previous 22.333333, rising); EMA(span 3) = 23.906250 at α = 0.5 with half-life 1 step. Window 5 re-prices both: SMA(5) = 22.200000, EMA(span 5) at α = 0.333333.
Strengths & Limits Of This Model
Where this engine is strong
- α and half-life printed, not hidden behind the span
- SMA and EMA on one panel so the lag is a number
Where it stops
- No confidence band around the average
- Seed convention fixed at the first point (stated)
Practical Use Cases
Ops
smooth a noisy daily series to see the level
Retail
weekly demand smoothing for reorder timing
Teaching
α and half-life watched live
Methodology & Editorial Standards
Computation runs in IEEE-754 double precision at full internal precision; rounding to two decimal places occurs strictly at the display layer, so no cumulative drift enters the result. All monetary outputs use accounting presentation — grouped thousands, two decimals, negatives in parentheses — so figures can be transcribed directly into a model or working paper. Division-by-zero and out-of-domain inputs return an em-dash rather than a misleading number.
This engine was reconciled against an independent reference implementation and hand-verified for the worked example above before release. Our full five-stage review process is published on the About Us page.
Disclaimer. This calculator is provided for informational and modelling purposes only and does not constitute financial, tax, legal, medical, or engineering advice. Verify all figures with a qualified professional before acting on them.
Moving Average Calculator — 8 Expert FAQs
8 analyst-written answers to the questions practitioners actually ask — optimised for voice and answer-engine retrieval.
Why does the EMA seed at the first point?
Every EMA needs a starting value, and conventions differ — some seed with the first observation, some with the first window's SMA. This page seeds at the first point and says so, because a smoothing method that hides its seed also hides why two tools can disagree on the same data. The seed's weight decays by (1−α) per period, so its influence fades as the series grows.
What does the half-life mean?
The number of periods until a point's weight halves. At α = 0.5 the half-life is exactly 1 step; at span 5 (α = 0.333333) it is about 1.71 steps. Two EMAs with the same span but different software conventions still share this decay arithmetic — the half-life is the convention-free part.
Why is my SMA flat while the series clearly moved?
A long window averages the turn away. A k-point SMA cannot react to a level shift for roughly k/2 periods — that is the lag you accepted in exchange for smoothing. Shorten the window or read the EMA beside it; the direction card shows the trade-off on your own series.
Can the window be bigger than the series?
No — the window must fit inside the data. Asking for a 7-point average of 5 points has no answer, and the page refuses rather than quietly shrinking your window and reporting something you did not ask for.
Why α = 2/(k+1) for the EMA?
It is the standard mapping between a span and a smoothing factor: an EMA with α = 2/(k+1) has roughly the same memory as a k-point SMA. It is a convention, not a theorem — but it is THE convention, so span 3 on this page matches span 3 in your spreadsheet.
Is a moving average a forecast?
No, and the confusion is expensive. The last SMA is an average of the PAST window; using it as the next value adds a lag you must own. The forecast page fits an actual trend and prices an interval — different question, different page, and the two answers rarely agree by design.
Does a moving average need stationary data?
It needs a level worth smoothing. If the series trends steadily, the SMA trails below it forever — the direction card quantifies that trail live. Smoothing shows the level; it never removes the obligation to ask what generated the movement.
Why does the page want the series in order?
Both averages attach weights to TIME: the SMA averages the last k in order, the EMA decays with age. Shuffle the input and you get a number, but not a moving average — it would be the weighted average page's question instead.