How to Calculate Abnormal and Cumulative Abnormal Returns
The abnormal return formula, CAR and CAAR step by step, with a worked example table you can reproduce by hand.
What you are calculating
An abnormal return measures how differently a stock moved around an event than it would have moved on an ordinary day. It is the difference between the return you actually observe and the return a benchmark model expected for that day:
ARi,t = Ri,t − E[Ri,t]
In words: the abnormal return of firm i on day t equals the actual return minus the expected return. The expected return comes from a benchmark such as the market model, estimated over a window well before the event. Which benchmark to use, and when the choice matters, is covered separately in Expected return models.
A worked example, day by day
The numbers below are a constructed teaching example, not real market data. Suppose a firm announces an acquisition at t = 0 and you examine the five trading days from t = −2 to t = +2. Your market model, fitted on the estimation window, produces the expected returns in column three:
| Event day | Actual return Rt | Expected return E[Rt] | Abnormal return ARt | Running CAR |
|---|---|---|---|---|
| −2 | −0.4% | +0.1% | −0.5% | −0.5% |
| −1 | +0.6% | +0.3% | +0.3% | −0.2% |
| 0 | +3.2% | +0.5% | +2.7% | +2.5% |
| +1 | +1.1% | +0.4% | +0.7% | +3.2% |
| +2 | −0.2% | +0.1% | −0.3% | +2.9% |
Each abnormal return is one subtraction. The last column already shows the cumulation: by the end of day +2 the event is associated with a 2.9% return above what the benchmark expected.
From AR to CAR: sum over the event window
The cumulative abnormal return adds up the daily abnormal returns across the event window [t1, t2]:
CARi(t1, t2) = Σ ARi,t for t = t1 … t2
In the example: CAR(−2, +2) = −0.5% + 0.3% + 2.7% + 0.7% − 0.3% = +2.9%. The window choice is part of your research design: a tight window such as [−1, +1] isolates the announcement, a wider one captures leakage and drift, and every day you add also adds noise.
Across firms: AAR and CAAR
A single firm's CAR mixes the event with firm-specific luck, so studies average across N events. The average abnormal return for one event day is:
AARt = (1/N) Σ ARi,t across firms i
If three firms show event-day abnormal returns of +2.7%, +1.5% and +0.9%, then AAR0 = +1.7%. Cumulating the daily averages over the window gives the cumulative average abnormal return:
CAAR(t1, t2) = Σ AARt for t = t1 … t2
CAAR is the headline number of most event studies: the average effect of the event type, per firm, over the window.
Simple or log returns?
Both are used. Log returns add cleanly over time within one firm, simple returns average cleanly across firms on one day. For the short windows of a typical event study the difference is small; pick one, state it, and stay consistent. The same applies to whether you subtract expected returns computed on the same convention.
Plotting CAR and CAAR
The standard graph puts event time on the x-axis (day −10 … +10, with 0 = the event) and the running CAR or CAAR on the y-axis. A reaction to the event shows as a jump at t = 0; information leakage shows as drift before it; post-announcement drift as a continued slope after it. A flat line before the event is what a clean study hopes to see.
Is the number different from zero?
A CAAR of +1.7% means little until a test says it is unlikely under the no-effect null. The test battery (cross-sectional t, Patell Z, BMP, rank and sign tests) is documented in Significance tests, and Interpreting CAAR and the Patell Z-statistic walks through reading the output.
Compute this automatically
Skip the spreadsheet. The free ARC calculator runs this whole pipeline from a CSV upload: it fits the expected-return model, computes AR, CAR, AAR and CAAR for every firm and window, and returns the test statistics alongside.
Run it free in ARC →Frequently asked questions
What is the abnormal return formula?
AR = actual return minus expected return, per firm and day. The expected return comes from a benchmark model such as the market model, estimated on a window before the event.
What is the difference between CAR and CAAR?
CAR cumulates one firm's abnormal returns over the event window. CAAR first averages abnormal returns across all firms per day (AAR) and then cumulates those averages, so it describes the average effect of the event type rather than a single case.
Which event window should I use?
Match the window to the question: [−1, +1] isolates the announcement itself, wider windows such as [−5, +5] or [−10, +10] capture leakage and drift but add noise. Report the main window plus at least one alternative as a robustness check.
Can a cumulative abnormal return be negative?
Yes. A negative CAR means the stock underperformed its benchmark over the window, which is the expected direction for value-destroying news. The sign carries the economics; the significance test says whether it is distinguishable from zero.
Do I need special software to calculate abnormal returns?
No. The arithmetic is subtraction and summation, and the worked table above can be reproduced in any spreadsheet. What software adds is the expected-return estimation, many firms at once, and the test statistics: the free ARC calculator does all three from a CSV upload.