SenSight is loading…
Use a read-only database account. Only SELECT statements are allowed here, but that check is a safety net against a mistyped query — not a security boundary.
Paste the link to a Google Sheet holding your survey responses. In Google Forms open Responses → Link to Sheets, then copy the address of the sheet that opens. Any platform that can publish a CSV link works the same way.
The file must be shared as "Anyone with the link can view" — otherwise the server cannot read it.

Click or drag a file here
CSV · Excel · TXT · Word · PDF

Preview (first 10 rows)

Drag image or click to browse

JPG, PNG, WEBP â€" phone photos work too
preview
🌡
Govee H5074 — Temperature & Humidity Demo
X: temperature, humidity → Y: dew_point · mold_risk · comfort_index · hvac_load
Waiting for device connection…
Model Engine
Saved Scenarios
The Govee device must be active under /devices/. "Start Govee Live" prepares a 6-column table and appends a row every 5 seconds. Once enough data is collected, go to the Variables tab, pick Y and run the regression.
LIVE Steel Annealing Furnace — Live Sensors 0
Variables

Load data first.

Which variables should I use?
Compares candidate models and suggests a shortlist
Best subsets fits every possible combination of your predictors and ranks them; stepwise adds or removes one variable at a time. Both answer "which predictors earn their place?" — a model with fewer variables that explains almost as much is usually the better one.
Automatic selection produces a hypothesis, not proof. Choosing the model and reading its p-values from the same data invalidates those p-values. Confirm the shortlist against process knowledge, or on fresh data.

No results yet

Load your data, select variables, then run the regression.
Predict

Enter new measurement values below — the trained model estimates the result (with a confidence interval) without running a new experiment. Values can also be auto-filled from connected live devices.

No model yet

Complete a regression first, then come here to predict.
Prediction Results
Saved

Loading…

Loading…

SPC — Control Charts
I-MR control chart + process capability (Cp/Cpk)
The I-chart plots each measurement against control limits (mean ± 3σ). Points inside the limits = normal process variation; red points = something unusual happened (click them to attach an evidence note). Enter your specification limits (LSL/USL) to get Cp/Cpk: ≥1.33 means the process comfortably fits the spec. The chart runs automatically when you open this tab with data loaded.
The measurement column above must hold a count: how many defective parts (p, np) or how many defects (c, u) were found in each sample.
λ = 0.2 is the usual choice: small enough to catch a slow drift, large enough not to react to every point.
k = half the shift you want to detect (0.5σ), h = the alarm threshold (5σ). These are the standard values.
Uses the dataset in the Data tab. LSL/USL are your specification limits — enter them to get Cp/Cpk.
Process Capability
Cp/Cpk (short-term) + Pp/Ppk (long-term), with a normality check
Cp/Cpk use the short-term (within-subgroup) spread — what the process could do. Pp/Ppk use the total spread — what it actually did. A big gap between them means the process drifts over time. All four assume the data is roughly normal; the panel tests that first and, if it is not, gives you the percentile-based figures instead.

Pareto Analysis
Which few causes create most of the problems? (80/20)
The bars show how often each cause occurs (most frequent first); the red line is the cumulative percentage. Causes to the left of where the line crosses 80% are your "vital few" — fixing them removes most of the problem. Sources: evidence-note reasons you attach to rows, or any category column in your data.

Distribution Fit (Weibull / Reliability)
Which distribution fits your data? Weibull shape reveals the failure pattern.
Fits several distributions (Weibull, Normal, Lognormal, Exponential, Gamma) and ranks them by AIC (lower = better) and the KS goodness-of-fit test. For life/failure data the Weibull shape (β) tells the story: β<1 = early failures (infant mortality), β≈1 = random, β>1 = wear-out. B10 = the age by which 10% have failed.

Multicollinearity (VIF)
Are your predictors redundant with each other?
VIF measures how much each predictor is explained by the others. VIF < 5 = fine, 5–10 = moderate, > 10 = severe multicollinearity (predictors overlap → unstable coefficients; consider dropping one). Pick 2+ numeric columns.

Decision Tools
Sampling plans, tolerance intervals, equivalence
Three decisions that are usually made by habit rather than by arithmetic. How many parts should I inspect from this lot, and at how many defects do I reject it? What range do the individual parts fall in — not the average, the parts? And is the new supplier really the same as the old one, or did the test simply fail to show the difference? Each has a right answer, and each is quietly got wrong when it is estimated by eye.
AQL is the quality you are willing to accept; RQL is the quality that must be rejected. The plan is computed from those two risks rather than looked up from a table, and the risks it actually achieves are reported so you can check them.
A confidence interval says where the average is. A tolerance interval says where the individual parts are, and it is much wider. Quoting a confidence interval to a customer as "99% of parts fall in here" understates the real spread, often several times over.
A large p-value in an ordinary difference test does not mean the two are the same — it means the test could not show a difference, which is also what happens when there is simply too little data. Claiming equivalence needs its own test, and it needs you to say how much difference is small enough to ignore.
Chart Builder
Build any chart from your dataset

Pick a chart type and press Generate

Rendering…
One-Way ANOVA
Compare means across multiple groups
Enter values for each group. Min 2 groups, min 2 values per group. Paste multiple values (one per line) into any group.
Build groups directly from the loaded dataset: pick a category column to split by, and a numeric column for the values.
🔢 No category column? Turn a numeric column into groups (binning)
Two-Way ANOVA: pick two category columns (factors) and one numeric value column. Needs replicates per cell. Tests each factor's effect plus their interaction.
Chi-Square test of independence: pick two category columns to see whether they are related (e.g. shift × defect type). Builds a contingency table from the dataset.
Logistic regression: predict a YES/NO (binary) outcome from numeric predictors. Pick a binary target column and one or more numeric predictors. Odds ratio > 1 raises the odds of the positive class.
Poisson regression: for counts — how many defects, faults or events occurred. A straight line would predict negative counts and assume constant spread; this does not. Coefficients read as rates: 1.5 means "50% more events per unit of X".
Curve fitting: is a straight line the right model? Fits the common industrial shapes — exponential, power, logarithmic, saturation, S-curve — and ranks them against the straight line by AIC.
Group Statistics
GroupNMeanStd Dev
ANOVA Table
SourceSSdfMSFp-value
Assumption Tests
Shapiro-Wilk Normality
Levene Homogeneity
Group Visualization
Tukey Post-Hoc Analysis
Measurement System Analysis (MSA)
Is your measurement process trustworthy?
Crossed Gage R&R — AIAG Average & Range
Gage R&R measures how much of your total variation comes from the MEASUREMENT system rather than the parts themselves. It needs the same parts measured by several operators, several times each. Pick a Part column, an Operator column and the Measurement column from your data. Rule: %GRR < 10% = good, 10–30% = marginal, > 30% = the gauge/method needs work. NDC ≥ 5 means the system can tell parts apart.
Uses the loaded dataset. Needs ≥2 operators, ≥2 parts, ≥2 repeated trials per part/operator.
Bias — is the gauge off from a known reference?
Take ONE part whose true value you know (a certified master/standard), measure it repeatedly with one operator, and SenSight checks whether the gauge systematically reads high or low. Bias = average reading − reference. If the 95% confidence interval for bias contains 0, the gauge shows no significant bias. AIAG recommends ≥10 readings. Enter the tolerance (or process sigma) to see the bias as a percentage of what you actually care about.
One known part, one operator, ≥5 repeat readings (10+ recommended). Tolerance takes priority over process sigma for the %bias figure.
Linearity — does the bias change across the range?
A gauge can be spot-on in the middle of its range and drift at the extremes. Take ≥5 parts with known reference values spanning the whole operating range, measure each several times, and SenSight regresses bias against reference. A significant SLOPE means the error grows across the range (a linearity problem). A significant INTERCEPT means a constant offset on top. Needs a Reference column and a Measurement column in your data.
Needs ≥3 distinct reference values (5 recommended) spanning the range, ≥6 readings total.
Attribute Agreement — pass/fail judgement
For go/no-go decisions there is nothing to measure — the "gauge" is a person's judgement. Have several appraisers rate the same parts more than once, and SenSight checks: does each appraiser repeat their own call (within), do appraisers agree with each other (between), and — if you supply a reference/standard column with the correct answer — does everyone match the truth. Kappa > 0.90 is good, 0.70–0.90 marginal. For pass/fail data you also get the miss rate (bad parts passed) and false alarm rate (good parts rejected).
Needs ≥2 parts and repeated trials per appraiser. Without a reference column you still get within/between agreement, but not accuracy against the truth.

ANOVA Gage R&R (incl. destructive)
Separates the operator×part interaction — and handles tests that destroy the sample
The average-range method cannot separate an operator×part interaction — one appraiser reading certain parts differently gets absorbed into repeatability, hiding what you would need to fix. ANOVA separates it. More importantly, this panel handles destructive measurement: a tensile test, a hardness indent or a chemical analysis consumes the part, so two operators can never measure the same one. Then the parts sit inside the operators (a nested design), and analysing that data as if it were crossed counts genuine part-to-part differences as measurement error.
The design is read from your data, not assumed: if every part code appears under more than one operator the study is crossed; if each part belongs to exactly one operator it is nested (destructive). Either way you need at least two measurements per part to see repeatability at all.
FMEA — Failure Mode and Effects Analysis
Which failure deserves attention first?
S = severity, O = occurrence, D = detection.
Step Failure mode Effect S Cause O Control D RPN AP Action Owner After action
High-priority row? Go straight to: · ·
Control Plan
What is checked, how often, and what happens when it fails?
A control plan says what is checked and what happens when it fails.
Process step Characteristic Specification Method Sample Frequency Control method Reaction plan Owner Gaps
Root Cause — Fishbone and 5 Whys
Why did it really happen?
Fishbone spreads causes; 5 Whys drills one chain down.
5 Whys
Fishbone diagram
Project Frame
What are we fixing, for whom?
The Define phase on one page.
Project charter
SIPOC
CTQ tree
DOE — Factorial Effects
Which factors move the result the most?
When you ran an experiment varying several 2-level factors (e.g. Temp low/high, Pressure low/high), DOE tells you the EFFECT of each factor on the response — how much the result changes going from the low to the high level — plus interactions (when two factors together matter more than separately). Bars are sorted by impact: the longest bars are what to control. Pick your response column and the factor columns (each must have exactly 2 distinct levels).
Uses the loaded dataset. Each factor column must have exactly 2 distinct levels (e.g. low/high, -1/1, A/B).

Response Surface (RSM)
Finds the peak, not just the direction
A two-level factorial can only fit a straight line through each factor — it tells you which way to move, never where to stop. Response surface designs add centre points (is there curvature at all?) and axial points (a third and fourth level per factor), which is what makes the squared terms estimable. Then the fitted surface is solved for its peak.

Multi-Response Optimisation
One setting that satisfies every requirement at once
Real processes have several requirements at once — raise the yield AND cut the scrap — and the setting that maximises one usually worsens the other. Each response is converted to a desirability score between 0 (unacceptable) and 1 (target reached), and the settings that maximise the weighted geometric mean of those scores are found. The geometric mean matters: if any single response is completely unacceptable, the combined score is zero, so a setting that produces out-of-spec product can never be presented as a good compromise.
Uses the loaded dataset. Each response is fitted with its own quadratic model, so the data should come from a response surface design.

Taguchi — Robust Design
Not just the best average — the least sensitive setting
Ordinary DOE asks where the average response is best. Taguchi asks a different and often more useful question: where is the response least affected by the things you cannot control — raw material batch, humidity, operator, ambient temperature. A setting with a good average that is sensitive to noise will not hold in production. Orthogonal arrays let you study many factors in few runs, and the signal-to-noise ratio scores each setting on mean and variation together.

Mixture Design (Formulations)
When the ingredients must add up to 100%
Alloys, concrete, paint, feed, detergent: the components are proportions and they must sum to 1. That constraint changes everything. You cannot increase one component on its own — raising one necessarily lowers the others — so the ordinary idea of a main effect does not apply. The model also cannot carry an intercept, because the components already sum to a constant. Fitting a formulation with a factorial or response surface model is a silent error: the design matrix is singular, the coefficients come out arbitrary, and R² still looks fine.
Multivariate — Many Columns at Once
Reduce, group, and classify when everything is correlated
Process data usually has twenty or thirty measurements side by side, and most of them move together. Looking at them one at a time is both tiring and misleading: if two columns measure the same thing, that thing gets counted twice. Principal components collapse the crowd into a few independent axes. Clustering asks whether the rows fall into natural groups. Discriminant analysis goes the other way — you already know the groups, and you want to know which measurements actually separate them.
Leave standardising on unless every column is in the same unit. Without it, a column measured in hundreds (temperature) will dominate a column measured in fractions (a ratio), and the first component becomes a copy of that one column — the result still looks perfectly reasonable.
k-means always returns exactly k clusters — even when the data is pure noise. The silhouette score below is what tells you whether the grouping is real, so read it before you believe the clusters.
Cross-Tab — Categories Compared
Which group differs from which — with significance letters
A cross-tab counts how two label columns intersect — defect type by shift, reject reason by supplier, answer by department. Each column gets a letter (A, B, C…). A cell carries the letters of every column it is significantly HIGHER than, so you can read "shift B has significantly more surface scratches than shifts A and C" straight off the table. The base (n) under each column heading is how many rows that column is built on: below 30 the test is weak and the column is flagged.
Uses the loaded dataset. Both columns must be label columns (2–20 repeating values). Numeric columns can be turned into categories first with Data → Create Category (Binning).

Scale / Likert Summary
Top-2-box, averages, reverse coding and NPS
Rating questions are usually read as "top-2-box": the share of people who picked one of the two best answers. This panel gives that share, the bottom-2-box, the average and the spread for every scale column at once. Reverse coding flips a negatively worded item so it points the same way as the rest. NPS (promoters minus detractors) is produced only for a 0–10 scale — computing it on a 1–5 scale is a common mistake, so it is left blank there.
Tick a column to include it; tick R to reverse-code it. Label columns are supported when their wording matches a known rating scale — otherwise convert them to numbers first.

Open-Ended Coding (AI)
Turn free-text answers into a category column
Free-text answers and complaint records cannot be counted until they are grouped. This panel asks the AI to sort them into a short list of categories (a "code frame") and writes the result back as a normal column — so Pareto and the cross-tab above pick it up straight away. Leave the frame empty to let the AI propose one; paste an existing frame to code a second dataset the same way, which is what keeps two reports comparable.
The answers you select are sent to your chosen AI provider. Open-ended answers often contain names, phone numbers or other personal data — remove them first, or use your own API key so the text never passes through our free trial key.
Time Series Analysis
Trend, moving average, forecast & autocorrelation
Paste or enter your time series data below (one value per row, or two columns: index/date + value). Optionally use a column from your current regression dataset.
N
Mean
Std Dev
Trend R²
Slope/step
Trend:
Stationarity:
Run analysis to see stats

Forecast
What happens next — with an honest range
Exponential smoothing (Holt-Winters) tracks the level, the trend and a repeating seasonal pattern, and is hard to beat on short business series. ARIMA models what is left after differencing and can capture more complex dependence. Every forecast comes with an interval that widens as you look further ahead — that widening is the truth, not a defect. A single number would sell you a certainty that does not exist.
Season length is how many rows make one full cycle: 12 for monthly data with a yearly cycle, 7 for daily data with a weekly cycle, 24 for hourly data with a daily cycle.
Session Report
Every analysis you ran this session, in one file0 recorded
Each analysis writes its result here the moment you run it — control charts, capability, Gage R&R, DOE, response surfaces, clustering, forecasts, the lot. When you are done, take everything out as one Excel workbook (a sheet per analysis, charts included) or as one printable HTML report. What lands here is exactly what you saw on screen, warnings and all.
Saved on this device — your analyses survive closing and reloading the app. Nothing is uploaded. Use Clear if you are on a shared device.
Formula Simulator
Variable Ranges (min / max)
Output
Model Notifications
SenSight AI
Root Cause Analysis
Analyzing…