For Statisticians, QA & Reviewers

Methodology

Last updated: August 8, 2026

BioDOE's interface is written in plain language on purpose — "Confidence Score" instead of p-value, "Experimental Dial" instead of factor — because most of the scientists using it aren't statisticians, and shouldn't need to be. This page is for the people who need the version underneath: what's actually being computed, which methods are used where, and why. Nothing here is simplified.

The short version: BioDOE runs on statsmodels and SciPy — the same open-source, peer-reviewed Python statistics stack used across academic and industry research — not a proprietary black box. Every design is built from standard factorial/response-surface construction, every model is fit by ordinary least squares or REML, and every "recommended setting" comes from optimizing that fitted model, not a heuristic guess.

1. How the app's intents map to real designs

Panel 1 asks "what are you trying to do?" instead of "pick a design class." Underneath, that choice selects a specific, standard DOE construction:

In-app choiceWhat it actually generates
Find what matters (Screening) A Resolution IV (or higher) two-level fractional factorial — main effects are unconfounded with each other and with two-factor interactions, at the smallest run count that supports it.
Map the shape (Characterization) A full two-level factorial plus center points, so the design can support per-factor pure-quadratic (curvature) terms in addition to main effects and two-way interactions — not just detect that curvature exists, but locate it.
Find the peak (Optimization) A response-surface design (center points plus, where applicable, augmented runs) built to support a full second-order model for direct optimization.

2. Model fitting

Each response is fit independently by ordinary least squares against the richest model the design's degrees of freedom actually support, in this priority order: main effects + two-way interactions + per-factor quadratic terms, falling back to main effects + two-way interactions, falling back to main effects only. Significance is reported per term via standard t-tests on the fitted coefficients (what the UI shows as "Confidence Score" is the model's p-value for that term; anything below the conventional 0.05 threshold is flagged significant).

An unreplicated, fully-saturated screening design (e.g. 8 runs testing 7 two-level factors) has zero residual degrees of freedom, so no p-values can be computed in the usual sense — this is expected, standard practice for these designs, not a limitation of BioDOE. In that case, effects are ranked by magnitude using Lenth's pseudo standard error (PSE) method, shown as the Half-Normal Plot.

Curvature and quadratic terms

A factor only gets a pure-quadratic term (I(F² ) in the fitted formula) if the design actually visited a third distinct level for it (e.g. a center point) — otherwise there's nothing to estimate curvature from, and the term is correctly omitted rather than silently fabricated.

3. Hard-to-change factors and Plate/Plot Capacity

When one or more factors are flagged Hard-to-Change, BioDOE doesn't just group the run order — it fits a genuine split-plot mixed-effects model via statsmodels.MixedLM, with REML estimation, treating the whole-plot grouping (the hard-to-change combination) as a random effect. This correctly separates whole-plot error (variation between hard-to-change settings) from subplot error (variation between easy-to-change runs within a setting), rather than understating the standard error of the hard-to-change factors the way a naive OLS fit on the same data would.

If a whole plot's run count exceeds what physically fits in one container (a 96-well plate, a single bioreactor run), Plate/Plot Capacity adds a second, nested random-effect level — Plate within Whole Plot (vc_formula={'Plate': '0 + C(Plate_Global)'}) — so plate-to-plate noise is absorbed into its own variance component instead of contaminating the hard-to-change factor's effect estimate.

If the REML fit doesn't converge to a stable solution (most often too few whole-plot groups for the number of terms being estimated), BioDOE falls back to a standard independent-runs model and says so explicitly in the results — it never silently substitutes a less appropriate model without telling you.

4. Multi-response optimization ("Sweet Spot")

When more than one response has a stated goal (Maximize / Minimize), BioDOE combines them into a single desirability function per response — scaled 0 to 1 across each response's observed range in the direction of its goal — and searches a grid across the design space for the point that maximizes the combined (geometric-mean-style) desirability across all goals simultaneously. This is the same overall approach as classical desirability-function optimization (Derringer & Suich), not a black-box "AI recommendation." The contour plot shows that desirability surface directly; the star marks the grid optimum.

What "Sweet Spot" doesn't claim: the recommended settings are the optimum of the fitted model, evaluated within the bounds of the factors you entered. They're only as good as the design and the data behind them — the same caveat that applies to any DOE software, and no different in BioDOE.

5. What BioDOE doesn't do

6. Questions

If you're evaluating BioDOE for a regulated or validated workflow and want more detail than this page covers — specific formulas, a worked example, or anything else — email info@biodoe.com.