Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Series length and where sigma comes from

The design report ends its structure section with one line about series length:

  Structure: Complete structure
  Series length: T=4. Sigma for X/mR rests on 3 moving ranges.

It names where the sigma behind the natural process limits comes from at the observed structure and series length. It is a fact placed beside the design state, not a judgment on it. Nothing about it changes which charts are valid, which is recommended, or which analyses are offered, and no threshold, label, or warning is attached. The analyst weighs it.

This page explains why the line reads the way it does, what the numbers behind it look like, and what a short series can and cannot tell you.

The position

The Variation Analysis System was built for analytic studies broadly. Statistical process control, where data arrive quickly and action follows each point, is a special case. VAS rests on the scientific method and the nontrivial replication of results, not on prescribed tests or rules for how many points a chart needs. Judgment about what the data are saying belongs to the analyst.

Small samples and few time periods raise uncertainty. The analysis still usually gives real insight into the causes of variation. So the library does not refuse a short series, does not grade it, and does not withhold capability or loss-function analysis from it. It says where sigma comes from and how many values carry it, and leaves the reading to the person who knows what the study is for.

Where sigma comes from, by design state

The same numbers appear in code as study.series_length, a frozen record with T, n_moving_ranges, within_cell_df (the sum over cells of N_kt − 1), sigma_from_time, mr_interval_80, and description. study.series_length_description is the sentence alone.

How precise a moving-range sigma is

For a stable normal process, the moving-range estimate of sigma (MR̄/d₂, 10-12 manual Eq 12-4) scatters around the truth by an amount that depends only on how many points there are. The table gives the 10th, 50th and 90th percentiles of the estimate relative to the true sigma, and the ratio of the 90th to the 10th, for every series length from 3 to 30. It was generated by validation/short_series_bands.py (100,000 replicates per length, an independent random stream per length, seed 20260903), contributed by @rabujamra in #114 and #119. The p10 and p90 columns are carried in the library as MR_SIGMA_INTERVAL_80 and ride on study.series_length for anyone who wants them in code; the design report prints only the sentence.

np10p50p90p90 / p10
30.3370.8951.8105.37
40.4300.9281.6763.90
50.4880.9481.5933.27
60.5280.9511.5262.89
70.5650.9611.4842.63
80.5950.9701.4532.44
90.6180.9741.4182.30
100.6370.9741.3962.19
110.6560.9771.3752.10
120.6700.9811.3592.03
130.6800.9831.3441.98
140.6940.9831.3291.92
150.7030.9831.3151.87
160.7140.9871.3101.83
170.7210.9861.3001.80
180.7300.9861.2881.77
190.7390.9871.2801.73
200.7450.9881.2741.71
210.7490.9891.2661.69
220.7560.9891.2581.67
230.7610.9881.2531.65
240.7660.9901.2491.63
250.7710.9911.2431.61
260.7740.9911.2381.60
270.7800.9911.2341.58
280.7840.9921.2291.57
290.7870.9911.2231.55
300.7900.9921.2201.54

Read a row as: at four points, the middle 80% of moving-range sigma estimates fall between 0.43 and 1.68 times the true sigma. Most of the improvement is spent by eight to ten points; after that the spread narrows slowly. Nothing in the library is cut from this table. It is here so an analyst can see what T − 1 moving ranges mean.

validation/short_series_sampling.py, from the same contributor, reproduces the single-process illustration that opened the discussion: the limits from the first T points of one stable series, and the fraction of the true limit span they cover.

Two cautions a short series cannot raise for you

A trending series inflates its own moving range. When successive values rise, the differences between them carry the slope as well as the noise. The limits widen to absorb the very pattern an analyst is looking for, and nothing inside the moving range can tell the two apart. A test for monotone drift does not rescue this: with three differences, an independent series is monotone with probability 2/4! = 1/12, above 5%, so no four-point series can reach significance. The chart shows the climb; the limits cannot.

Four figures are not always four observations of one process. Benchmark figures constructed under different rules in different years, restated or risk-adjusted separately, are not draws from one process. No statement about series length can catch that. Only the analyst who knows how the numbers were made can.

The formulation matters more than the length

The question that started this page was about 476 organizations with four annual figures each, run as 476 separate four-point studies, each read from its summary line. Formulated as one study with the organization as a factor and the year as time, all of them sit on one chart at one scale, lane by lane, and the same rising pattern reproduces in nearly every lane. That agreement across independent subgroups is replication of a result in the scientific sense, and it is the finding. Hardly any single point falls outside its limits, and that is expected. The picture carries what the limits cannot.

study = pb.formulate(df, response="PER CAPITA EXPENDITURE", factors=["ACO"], time="YEAR")
print(study.design())                              # ADS 2 ... Series length: T=4. Sigma for X/mR rests on 3 moving ranges.
result = study.execute(chart="X", by=[], companion=True)
result.plot(chart="X")                             # every organisation as a lane, one scale

Before reading any limit, ask what decision the analysis serves. If action will be taken on the historical record, the limits describe what happened. If the aim is to predict next year and act on the prediction, the uncertainty that dominates is the extrapolation into a future the data has not seen, not the precision of the sigma behind the limits.

Two audiences, one position

In an analytic study the analyst sees every chart, and the judgment is theirs. The run rules are optional and off unless asked for; see WECO rules.

In automated monitoring of a device or a telemetry stream, nobody sees every chart, and the Western Electric rules are how the system notices on the analyst’s behalf. They stay in the library for that use. That is also why the signal summary reports a partial evaluation honestly: an automated check that says “no signals” on a series it could not examine is worse than one that says nothing. Points beyond the limits are always computed; rules 2 through 8 and the chart zones are opt-in.