Industrial Batch Polymerization

Description
55 batches, each aligned to 100 equal time intervals (K = 100) for J=10 process variables measured throughout each batch. The batches are stacked vertically (rows 1-100 = batch 1, rows 101-200 = batch 2, etc). Values are scaled/normalized (dimensionless, roughly 0-1.8).
  • Variables 1, 2, 3: reactor temperatures
  • variables 6 and 7 are heating/cooling-medium temperatures
  • variables 4, 8, and 9 are pressures
  • variables 5 and 10 are flowrates of materials added to the reactor.
Known abnormal batches (from the paper)
  • Batches 50-55 stand out clearly in the score (t) plot.
  • Batch 49 stands out in the residual (Q) statistic; its quality was barely acceptable.
  • Batches 40, 41, 42, 50, 51, 53, 54, 55 had the final quality measurement well outside the acceptable limit;
  • Batches 38, 45, 46, 49, 52 were above or very close to the limit.
  • Batch 45 is independently known to have given bad product. The paper builds its normal-operation reference model from 36 batches after excluding problematic ones.

Process A two-stage batch polymerization. Stage 1: ingredients are loaded; reactor-heating-medium flows are adjusted to control pressure and the rate of temperature change; the solvent used to convey ingredients is vaporized and removed. Vaporization is vigorous enough that the contents need no stirring. Stage 2: the ingredients complete their reaction to yield the final polymer, again under controlled vessel pressure and temperature ramp. The batch finishes by pumping the polymer product out of the vessel.
Data source
The data were supplied by the DuPont Company from an industrial batch polymerization reactor and are the worked example in several publications. For example Nomikos and MacGregor: "Multivariate SPC charts for monitoring batch processes", Technometrics, 37, 41-59, 1995. https://dx.doi.org/10.2307/1269152
Data shape
None rows and None columns
Usage restrictions
Unknown
Contact person
Kevin Dunn
Contact details
[email protected]
Added here on
15 May 2026 20:24
Last updated
15 May 2026 20:39

Load this dataset in Python

import pandas as pd

df = pd.read_csv("https://openmv.net/file/polymerization.csv")
df.describe()

Preview (first 10 rows)

batch_idtimeTempR-1TempR-2TempR-3Press-1Flow-1TempH-1TempC-1Press-2Press-3Flow-2
110.570390.8872470.5466550.984170.52020.9891120.9331390.9547230.7279971.387073
120.5763840.8622270.5529750.9793430.72480.9891990.933370.9561710.726321.44286
130.5821710.8238410.5597980.9752970.78370.9897190.9336010.9563440.7284161.487092
140.5891630.7957930.5666550.9768230.81860.9898340.9338040.954810.7348421.511825
150.5970860.7798920.5734790.9759010.78540.9885920.9344980.9547810.7400111.523741
160.6058350.7709380.5812770.9759010.80640.9884770.9355110.9557070.7390331.538545
170.6146190.765670.5893450.9772850.81390.9895740.9365240.9562570.7400111.537281
180.6227140.7615550.5970760.9755810.78110.9902390.937160.9570390.745181.515797
190.6306710.7594150.6048070.9749420.79090.9905560.9375360.9590080.7489521.490522
1100.6394540.7586250.6125380.9761490.79790.9908740.9379120.9602520.7517461.462719