You built the model.
Then what?
Fitting a regression, a response surface, or a CatBoost model in Minitab, Excel, or Python is the middle of the job, not the end. A model is a mathematical stand-in for your process — it only earns its keep when you use it to decide or act. This lesson walks the menu of what comes next, in the order you'll actually reach for it.
A model is a means, not a deliverable
Nobody ships a model. They ship a decision: a mill reduction schedule, a dryer operating window, a soft-sensor readout, a control-plan setpoint. The model is the tool that lets you answer a question cheaply — in silico — instead of running another 30 heats.
So the honest way to ask "then what?" is to ask what question are you trying to answer. Each question routes you to a different next step. Here's the whole menu on one plate; the rest of the lesson takes each item in turn.
Predict — and pick the right interval
The simplest use: plug new settings into the fitted equation and read off \(\hat{Y}\). For a yield-strength model that's predict(reduction=18%, C=0.06, Nb=0.035, coil_temp=560). The number itself is the easy part. The part people get wrong — and the part that changes decisions — is how much to trust it.
Confidence interval (CI) = uncertainty about the average Y at those settings. Prediction interval (PI) = uncertainty about a single next observation. The PI is always wider because it carries both the model's uncertainty and the process's own scatter.
Decision rule: if you're setting policy about the process on average ("does grade X70 clear 355 MPa on average?"), the CI is your tool. If you're making a call about the next pipe or next heat ("will this heat pass?"), you owe the customer a PI. Quoting a CI where a PI belongs is how a process that looks capable on paper ships nonconforming product.
That lone +1 under the root is the entire difference between the two intervals. Drop it and you have a CI; keep it and you have a PI. As sample size grows the CI term shrinks toward zero, but the +1 never does — the PI can't get narrower than the process's own noise. The widget below lets you feel that.
Connection between them
Strip away the regression machinery and the same logic shows up in the simplest possible case — a plain sample mean, no model at all. For a mean \(\bar{X}\) with sample standard deviation \(S\) and \(t = t_{\alpha/2,\,n-1}\):
Confidence interval — for the process average
Prediction interval — for a single next observation
Notice the prediction interval carries \(\sqrt{1 + \frac{1}{n}}\) where the confidence interval only has \(\sqrt{\frac{1}{n}}\). Since \(1 + \frac{1}{n} > \frac{1}{n}\) for every sample size, the prediction interval is always wider. And as \(n\) grows the \(\frac{1}{n}\) term melts toward zero — the CI can shrink to a point, but the PI can't drop below \(\bar{X} \pm tS\), because that leading 1 is the process's own scatter. It is the exact same role the +1 plays inside the regression formula above.
Never extrapolate. A model is only honest inside the region you sampled. Predicting yield strength at 30% reduction when your DOE only spanned 10–20% is guessing dressed up as math — the equation will happily return a number, and it may be nonsense. Minitab flags this with an X hidden-extrapolation warning; in Python you have to guard the ranges yourself.
Optimize — find the best settings
Prediction answers "what if I set X here." Optimization inverts it: where should X be so Y is best? Three flavors depending on the goal — maximize (throughput), minimize (defect rate, energy), or hit a target (yield strength inside a spec band, not just as high as possible).
Single response is the easy case
With one Y, walk the response surface to its peak/valley: contour and surface plots to see the landscape, then the optimizer to pin the coordinates. In Excel that's Solver on the fitted equation; in Python, scipy.optimize.minimize (negate to maximize); in Minitab, the Response Optimizer.
Real problems have competing responses
You almost never optimize one thing in isolation. On a roughing-mill reduction schedule you want strength up, toughness held, roll load and energy down, all at once — and the setting that maxes one degrades another. Two standard ways to handle it:
- Desirability functions (Derringer–Suich). Convert each response to a 0–1 desirability \(d_i\) (0 = unacceptable, 1 = ideal), then combine into one composite \(D=(d_1 d_2 \cdots d_k)^{1/k}\), optionally weighted by importance. The optimizer maximizes \(D\). Because it's a geometric mean, any \(d_i = 0\) forces \(D=0\) — one violated response kills the whole setting. That's the behavior you want.
- Overlaid contour plots. Draw each response's spec contour on the same factor axes; the region where all of them are simultaneously satisfied is your operating window. This is precisely the deliverable behind an "operating-window optimization" — you're not handing over a single point, you're handing over the feasible zone plus a recommended center.
Slide to the far right: strength desirability is near 1, but toughness has cratered, so D collapses. The optimum isn't where either curve peaks — it's the reduction that keeps both acceptable. That's the whole argument for a composite objective instead of tuning one KPI and hoping the others survive.
Rank drivers · robustify · simulate
Which knobs actually move Y
Before optimizing, know your leverage. From a designed experiment: the Pareto of standardized effects and the normal/half-normal plot separate the vital few from the trivial many. From a fitted regression: standardized coefficients. From a tree model like your CatBoost yield-strength work: SHAP values and partial-dependence plots, which show not just how much a factor matters but which direction and where it bites.
Why bother before optimizing? Because it tells you where to spend control effort. A factor with huge leverage needs tight tolerances at the setpoint; a factor with near-zero effect is free real estate — loosen its tolerance and buy back cost or throughput.
The best mean can be a fragile place to sit
The peak of a response surface is often on a steep slope — great average, but a small drift in a noisy input sends Y tumbling. Robust design asks a different question: where is the surface flat? A slightly lower mean on a plateau beats a higher mean on a cliff, because the plateau transmits less variation from the noise you can't control.
- Taguchi robust parameter design — deliberately separates control factors from noise factors and finds settings that minimize the noise's effect.
- Dual-response surface — model the mean and the variance, then optimize for on-target mean with minimum variance.
- Propagation of error — use the model's slopes to predict how much input scatter shows up in output scatter; steep slope = high transmitted variation.
A point estimate hides the risk; a distribution shows it
Your optimizer hands back a single setpoint and a predicted mean. But every input has real variation — tundish weight drifts, chemistry ranges, coil temperature swings. Monte Carlo pushes those input distributions through the model thousands of times to produce the distribution of Y. From that you read the predicted defect rate and predicted Cpk — capability, estimated before you commit a single trial heat.
This is the natural bridge from "the model says the mean will be 372 MPa" to "the model says 98.6% of heats clear 355 MPa with the current input tolerances." One is a number; the other is a business decision.
When a model or its inputs span several test orientations or test types per sample (LPA vs TWA, longitudinal vs transverse), analyze and predict on the pivoted shape so orientations sit side by side per sample. In pandas:
df.groupby(['sample_no','heat_no','test_orientation_code']).first().unstack('test_orientation_code')One row per sample_no + heat_no, one column block per orientation — so you can difference or join orientations cleanly instead of double-counting them as independent rows.
Confirm — reality gets a vote
The model is a hypothesis about the process. Before you roll a new schedule to production, you test the hypothesis: run confirmation trials at the predicted optimum and compare what actually happens to what the model promised.
Actual results land inside the prediction interval from item 1. The model generalizes; you've earned the right to deploy. Note that "inside the PI" is the right bar — not "exactly equal to the point prediction," which never happens.
Results fall outside the PI. Don't tune the setpoint and try again — that's fitting to noise. Loop back: check for a missing term or interaction, a curvature you didn't model, extrapolation, or a lurking variable that shifted between the design runs and now.
Skipping confirmation. A response surface optimized on 20 runs will always report an impressive optimum — that's what optimizers do. Whether that optimum survives contact with the real process is a separate, empirical question. In DMAIC this is a gate, not a formality: no confirmed result, no Control phase.
Deploy & monitor — hold the gains
A confirmed optimum that isn't held drifts back to baseline within a quarter. Deployment is what turns a one-time improvement into a permanent one, and it's where the model often gets a second life as an operational asset.
- Lock the setpoints into the control plan. The optimized settings become documented operating parameters with tolerances — tightest on the high-leverage factors from item 3, loosest where you have slack.
- Put SPC on the vital few. Control charts on the key X's and the Y catch drift before it becomes scrap. This is the "hold" mechanism — signal vs noise, tampering vs missed shifts.
- Run the model as a soft sensor. If Y is slow, expensive, or destructive to measure (Charpy, tensile) and the X's are cheap and fast, the model predicts Y in near-real-time from routine inputs — an inferential measurement between physical tests.
- Score new data in a pipeline. Batch or streaming, the fitted model becomes a step in production: new heat → predict → flag if predicted Y approaches spec.
- Monitor for drift. Models decay as equipment wears, feedstock shifts, seasons change. Track the residuals (actual − predicted) on a control chart of their own; a trend or a widening spread is the model telling you it's going stale and needs a refit.
"Set and forget." A model deployed with no drift monitoring is a liability with a shelf life — it keeps returning confident predictions long after the process has moved out from under it. Budget for periodic revalidation the same way you budget for gauge R&R.
The menu, mapped to DMAIC
None of this is new machinery — it's the back half of the roadmap you already run. Model-building closes out Analyze; everything after it lives in Improve and Control.
- Build & validate the model
- Rank drivers (item 3)
- Confirm which X's are real
- Predict at candidate settings (1)
- Optimize / operating window (2)
- Robust design (4) · simulate (5)
- Confirmation runs (6)
- Lock setpoints in control plan (7)
- SPC on vital few
- Soft sensor · scoring pipeline
- Drift monitoring & refit
In Minitab
Stat ▸ Regression / DOEOnce you've run Fit Regression Model (or a DOE analysis), Minitab stores the equation and every option below operates on it. The three you'll reach for after fitting map straight onto the menu you already know — Predict, Factorial Plots, and Response Optimizer — and they cover items 1, 3, and 2 of the menu above.
A model can post a healthy R-sq and still be useless for prediction. Check R-sq(pred) in the model summary first: an R-sq of 76% next to an R-sq(pred) of 0.00% means the model explains the data you already have and predicts nothing new — every Predict output from it would be fiction. R-sq(pred) is the gatekeeper for this whole section.
Score new settings, with CI and PI in one table
Enter the factor levels you're considering; Minitab returns the fitted value plus both intervals side by side. This is the CI/PI distinction from earlier, delivered as a table instead of a band. Real problem: "If we run the roughing schedule at 18% reduction with 0.06% C, what yield strength should we expect, and can I promise a single heat clears 355 MPa?"
Notice the PI is always the wider pair — that's the interval you quote for a single heat. Push either input past the design-space edge and Minitab (and this console) flags extrapolation: the number still prints, but it's unsupported.
Main effects & interactions, read at a glance
Factorial Plots draw two things: main-effects plots (how the mean response moves as each factor goes low→high) and interaction plots (whether one factor's effect depends on another's level). The reading rule is simple and the widget below drills it in: parallel lines = no interaction; the more they cross, the stronger the interaction. Real problem: does the strength gain from more reduction hold at every carbon level, or does high carbon flip the story?
When lines cross, you can't state "more reduction raises strength" without naming the carbon level — the interaction term belongs in the model, and the optimizer must consider both factors together.
Multiple responses, one desirability, draggable setpoints
The Response Optimizer is Minitab's desirability engine (the composite D from the optimize widget, run for real). You state a goal and importance for each response; it returns the factor settings that maximize composite desirability and an optimization plot with red vertical lines you can drag to explore trade-offs live. Real problem: set the roughing schedule so strength hits target, toughness stays acceptable, and roll load stays under the mill's limit.
Response Goal Lower Target Upper Weight Import Strength Maximize 355 420 — 1 1 Toughness Target 80 120 160 1 1 Roll load Minimize — — 9.5 1 1 Solution Reduction = 16.4% Carbon = 0.058% Composite Desirability D = 0.87 Predicted: Strength 401 MPa Toughness 118 J Roll load 9.1 MN
D = 0.87 (not 1.0) is honest: no single setting is perfect for all three, and the geometric mean would have collapsed to 0 if any response were out of bounds. Drag a setpoint in the real optimization plot and every predicted response — and D — recomputes instantly.
Those three need two or more continuous predictors in the fitted model to have a surface to draw. Add a second factor and they wake up — and Overlaid Contour Plot becomes your operating-window deliverable: every response's spec contour on one pair of axes, with the feasible region shaded where they all overlap.
In Excel
Data ▸ What-If Analysis · SolverExcel does the same four jobs without a stats package — the trick is that your model has to live in a cell as a formula so these tools can push values through it. Once your fitted equation is in a cell referencing input cells, all four What-If tools are just different ways to interrogate it. Solver (a separate add-in in the Analyze group) is the heavy one.
"Hit this number — what input gets me there?"
Goal Seek inverts a formula: you fix the output you want and it changes one input cell until the formula lands there. Real problem: the customer needs 380 MPa minimum. Your strength formula is =290+4.6*Reduction. What reduction hits exactly 380?
- Put the model in a cell:
B3 =290+4.6*B1(B1 = reduction). - Data ▸ What-If Analysis ▸ Goal Seek.
- Set cell
B3To value380By changing cellB1. - Excel iterates and writes the answer back into B1.
One input, one target, one answer. It can't honor constraints, can't change two cells, and will happily return a physically impossible reduction if that's what the math needs. The moment you have more than one lever or any constraint, you've outgrown Goal Seek — that's Solver's job.
Best case / base case / worst case, side by side
Scenario Manager saves whole sets of input values under names and swaps between them, then prints a summary comparing the outputs. Real problem: three roughing strategies — conservative, nominal, aggressive — each a bundle of reduction + carbon settings. Which balances strength against roll load?
| Input or output | Conservative | Nominal | Aggressive |
|---|---|---|---|
| Reduction (%) | 13.0 | 16.4 | 19.5 |
| Carbon (%) | 0.050 | 0.058 | 0.065 |
| Strength (MPa) | 366 | 401 | 432 |
| Roll load (MN) | 7.9 | 9.1 | 10.4 |
| Energy ($/t) | 18.2 | 21.0 | 24.6 |
Green cells are the changing inputs each scenario stores; blue are formula outputs. The summary makes the trade obvious: aggressive clears strength easily but blows past the 9.5 MN roll-load limit — nominal is the only one that's both strong enough and inside the mill's envelope.
Excel's Response Optimizer: many levers, real constraints
Solver minimizes or maximizes an objective cell by changing several input cells, subject to constraints — the piece Goal Seek can't do. Real problem: minimize energy cost while keeping strength ≥ 355, toughness ≥ 100, and roll load ≤ 9.5.
- Set Objective: energy-cost cell → Min.
- By Changing Variable Cells: reduction + carbon cells.
- Subject to Constraints:
Strength ≥ 355,Toughness ≥ 100,RollLoad ≤ 9.5, plus range bounds likeReduction ≤ 20. - Pick GRG Nonlinear for smooth models (or Evolutionary if it's bumpy), then Solve.
Objective (Energy $/t) Min → 19.4 Variable Reduction = 15.1% Variable Carbon = 0.056% Constraints Strength 401 MPa ≥ 355 ✓ satisfied Toughness 121 J ≥ 100 ✓ satisfied Roll load 8.8 MN ≤ 9.5 ✓ satisfied
Same problem as the Minitab Response Optimizer, expressed as objective + constraints instead of goals + desirabilities. Both land in the same neighborhood — pick the tool your data already lives in.
Sweep two inputs, see the whole surface as a table
A two-variable Data Table recomputes your formula across a grid of two inputs at once — the spreadsheet version of a contour/operating-window. Real problem: map predicted strength across every reduction × carbon combination, and shade where it clears spec. That shaded region is your operating window.
Corner cell holds the formula; the top row and left column are the input values Excel substitutes. Read it like a heat map: the outlined block is where you can operate and still pass — exactly the deliverable an Overlaid Contour Plot gives you in Minitab.
Which tool is which, across platforms
| The job | Minitab | Excel | Python |
|---|---|---|---|
| Predict Y at new X (+ interval) | Regression ▸ Predict | formula + TREND/FORECAST | get_prediction().conf_int() |
| See main effects / interactions | Factorial Plots | chart of Data Table rows | partial dependence / SHAP |
| Back-solve one input to a target | — | Goal Seek | scipy.optimize.brentq |
| Compare discrete scenarios | Predict on a settings grid | Scenario Manager | DataFrame of cases |
| Constrained multi-var optimize | Response Optimizer | Solver | scipy.optimize.minimize |
| Two-factor sensitivity surface | Contour / Overlaid Contour | 2-variable Data Table | meshgrid + contourf |
Statistics Implementation
The interactive consoles above are teaching models. When you sit down with real output, you drive the same four jobs — predict, bound, optimize, and check capability — through actual Excel functions and Minitab menus. This section is the lookup table. The worked numbers use the lesson's toy model, strength = 290 + 4.6·R + 320·(C−0.05), with residual spread s ≈ 11 MPa.
Excel functions
| Function | Syntax | Purpose | When to use it |
|---|---|---|---|
| TREND | =TREND(known_ys, known_xs, new_xs) | Fit a linear least-squares model and return the fitted Y at one or more new X values. | Fast point predictions straight from historical X/Y columns, no separate model object. |
| FORECAST.LINEAR | =FORECAST.LINEAR(x, known_ys, known_xs) | Predict Y at a single new X on the fitted line. | A one-off point prediction with a single predictor (successor to the legacy FORECAST). |
| LINEST | =LINEST(known_ys, known_xs, TRUE, TRUE) | Array result: coefficients, their standard errors, R², F, residual df, and s. | When you need the coefficients and s to build confidence / prediction intervals by hand or for several predictors. |
| SLOPE / INTERCEPT | =SLOPE(ys, xs) · =INTERCEPT(ys, xs) | Return b₁ and b₀ of a simple linear fit. | Rebuild the prediction equation in a cell so Goal Seek, Solver, or a Data Table can push values through it. |
| STEYX | =STEYX(known_ys, known_xs) | Standard error of the estimate, s. | The process-spread term that sets prediction-interval width. |
| T.INV.2T | =T.INV.2T(alpha, df) | Two-tailed Student-t critical value. | The multiplier for a CI or PI at confidence 1−alpha (e.g. alpha = 0.05 for 95%). |
| NORM.DIST | =NORM.DIST(x, mean, sd, TRUE) | Cumulative normal probability up to x. | Fraction of heats below an LSL (yield loss) or above a USL; feeds DPMO. |
| NORM.S.INV | =NORM.S.INV(probability) | Inverse standard normal (z-score). | Convert a target yield to a z, or build z-based capability estimates. |
| Cpk (manual) | =(mean−LSL)/(3*sd) | One-sided lower capability index. | Turn a simulated mean and sd into predicted capability before committing to runs. |
Array note: modern Excel spills LINEST automatically; in older versions enter it as an array with Ctrl+Shift+Enter. The optimisation and What-If tools (Solver, Goal Seek, two-variable Data Table) are covered in the In Excel section above.
Excel use cases
- Point prediction: put the fitted equation
=290+4.6*B1+320*(B2-0.05)in a cell with reduction inB1and carbon inB2. AtR = 16.4%,C = 0.058%it returns about 368 MPa. - Prediction interval: with
sfromSTEYX(≈ 11) andt = T.INV.2T(0.05, n−2), a single-heat 95% PI is roughlyfit ± t·√(s² + SE_fit²). Quote the lower bound when you promise a heat clears 355 MPa. - Confidence interval: same
tbut onlySE_fit(drop thes²term) — the narrower band for the average heat, not a single one. - Predicted capability: after a Monte-Carlo Data Table, compute
=(mean−355)/(3*sd)for Cpk and=1−NORM.DIST(355, mean, sd, TRUE)for the fraction clearing spec.
Minitab navigation
- Fit the model:
Stat → Regression → Regression → Fit Regression Model. From a designed experiment useStat → DOE → Factorial → Analyze Factorial DesignorStat → DOE → Response Surface → Analyze Response Surface Design. - Predict with CI & PI (item 1):
Stat → Regression → Regression → Predict. Enter the factor settings; the table returns Fit, SE Fit, 95% CI, and 95% PI side by side. DOE alternative:Stat → DOE → Response Surface → Predict. Choose Predict (not a fitted-line plot) when you need the numeric interval table for specific settings. - Optimize (item 2):
Stat → DOE → Response Surface → Response Optimizer(or the Factorial equivalent) for multi-response desirability. For a feasible operating window rather than one point, useStat → DOE → Response Surface → Overlaid Contour Plot. - Rank drivers & interactions (item 3):
Stat → DOE → Factorial → Factorial Plots(Main Effects and Interaction) and the Pareto of standardized effects from the analysis dialog. - Capability from the prediction (item 5):
Stat → Quality Tools → Capability Analysis → Normal. - Monitor residuals (item 7):
Stat → Control Charts → Variables Charts for Individuals → I-MRon the actual−predicted residuals.
CI vs PI is a classic trap. On the ASQ CSSBB and CQE exams, remember the prediction interval is always wider because it adds the individual-observation spread; a question that asks about a single future unit wants the PI. The confidence interval is for the mean response.
Improve-phase content. Response-surface optimization and desirability sit in the CSSBB Improve body of knowledge; capability indices (Cpk / Ppk) and control-chart monitoring map to CSSBB Control and to the CQE statistics and SPC sections. Expect items on choosing the Response Optimizer vs an overlaid contour plot.
Real-world discipline. Never extrapolate beyond the design space, confirm at the predicted optimum before deploying, and watch residuals for drift — the same sequence the consoles above rehearse.
Traps between "model built" and "value delivered"
| Trap | What it costs you |
|---|---|
| Extrapolating past the design space | The equation returns confident numbers that may be physically meaningless. Guard your input ranges. |
| Quoting a CI where a PI belongs | Process looks capable on average while individual units fail. Use PI for any per-unit decision. |
| Optimizing one Y, breaking another | Strength up, toughness gone. Use a composite objective or overlaid contours across all responses. |
| Optimizing the mean, ignoring variance | You land on a cliff. A flatter, slightly-lower setpoint transmits less noise and holds better. |
| Skipping confirmation runs | An in-silico optimum that never touched the real process. No confirmation, no rollout. |
| Chasing R² instead of prediction error | A model that fits the training data and predicts poorly. Judge on hold-out RMSE / MAE. |
| Deploy and forget | Silent decay. Chart the residuals; refit when they trend or spread. |
| Treating hierarchical rows as independent | Pseudoreplication inflates significance. Aggregate to the right level (slab / heat) before you model or predict. |
The one-screen recap
- A model is a surrogate for a decision — building it is the middle of the job.
- Predict with the right interval: CI for the mean, PI for the next unit. Never extrapolate.
- Optimize across all responses at once — desirability or overlaid contours give an operating window, not a fragile point.
- Rank, robustify, simulate — know your leverage, sit on a plateau not a cliff, and predict the spread and Cpk before committing.
- Confirm against reality; land inside the PI or loop back.
- Deploy & monitor — control plan, SPC, soft sensor, and watch the residuals for drift.