A simple Flask web app for process capability analysis.
This tool lets you upload measurement data from a CSV file, enter USL and LSL, and instantly calculate:
CpCPUCPLCpk
It also shows a histogram, capability interpretation, sample datasets, and practical next-step guidance for manufacturing and quality teams.
👉 Live demo: tools.ryo-aihub.com
Process capability checks are often done in spreadsheets, which makes quick reviews harder than they need to be.
This app gives you a lightweight browser-based workflow for:
- checking whether a process is capable
- seeing whether the process is off-center
- comparing sample scenarios before using real data
- reviewing results in a way that is easier to explain to teammates
If you just want to answer "Is this process actually healthy?" without building an Excel sheet first, this tool is for you.
This project is designed for people who want to quickly check whether a process is capable and whether it is centered within specification limits.
Cptells you how much process spread fits inside the spec width.Cpktells you how capable the process actually is after considering centering.
A process can have a high Cp but still a poor Cpk if the mean is shifted toward one limit. That is why Cpk is often the more practical number when reviewing process risk.
- Upload a CSV file and use the first column as measurement data
- Use built-in sample datasets for quick testing
- Calculate
Cp,CPU,CPL, andCpk - Visualize the distribution with spec limits and mean
- Get a plain-language capability interpretation
- Review recommended next checks based on the result
- Run everything locally with Python and Flask
- Input: sample data or your own CSV
- Required values:
USLandLSL - Output: capability metrics, histogram, interpretation, and suggested next checks
- Best for: manufacturing, quality, process engineering, and teaching basic capability analysis
- Open the live tool or run the app locally.
- Choose sample data or upload a CSV file.
- Enter
USLandLSL. - Click
Calculate capability. - Review the metrics, chart, and interpretation.
The app reads the first column of the CSV as numeric measurement values.
Example:
value
9.8
10.1
9.9
10.0
10.2Cp = (USL - LSL) / (6 x sigma)
CPU = (USL - Mean) / (3 x sigma)
CPL = (Mean - LSL) / (3 x sigma)
Cpk = min(CPU, CPL)
def calc_cp_cpk(mean, std, lsl, usl):
cp = (usl - lsl) / (6 * std)
cpu = (usl - mean) / (3 * std)
cpl = (mean - lsl) / (3 * std)
cpk = min(cpu, cpl)
return cp, cpk
mean, std, lsl, usl = 10, 1, 8, 12
cp, cpk = calc_cp_cpk(mean, std, lsl, usl)
print(f"Cp: {cp:.2f}, Cpk: {cpk:.2f}")Python 3.11 is recommended for local development and deployment.
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
./.venv/bin/python app.pyThen open http://127.0.0.1:8000.
- High
Cpand highCpk: the process is tight and well-centered - High
Cpand lowCpk: variation may be acceptable, but the process is shifted - Low
Cpand lowCpk: the process spread itself is too wide for the spec
This side-by-side view is one of the main reasons engineers review Cp and Cpk together instead of looking at only one metric.
Cp looks at spread only. Cpk looks at spread plus centering.
Many teams use 1.33 as a practical target, but the right threshold depends on customer requirements, product risk, and process stability.
Any CSV where the first column contains numeric measurement values. Non-numeric values are ignored.
app.py Flask entry point
web/routes.py Routes and page rendering
services/analysis.py Capability calculations and chart helpers
services/calculator.py Form handling and calculator flow
data/sample_catalog.py Built-in sample datasets
templates/ HTML templates
static/ CSS assets
- Manufacturing engineers
- Quality engineers
- Six Sigma practitioners
- Process engineers
- Students learning process capability
Issues and pull requests are welcome. If you find a bug, want to improve the UX, or want to expand the capability analysis content, feel free to open a discussion.
MIT License. See LICENSE.
