A Python-based data analysis project demonstrating a complete product-engineering workflow for semiconductor wafer-sort yield improvement — from root-cause investigation through experiment design to statistical verification.
Integrated circuits are manufactured on semiconductor wafers, where each die undergoes electrical tests (wafer sort) to determine if it passes for shipment. This project analyzes a synthetic wafer-sort dataset to:
- Identify yield-loss drivers using yield heatmaps, Pareto analysis, and spatial wafer maps
- Investigate root causes through parametric distributions, box plots, and correlation analysis
- Design and evaluate a process-improvement experiment with multiple process splits
- Statistically verify improvements using Welch's two-sample t-test
| Analysis Step | Tools |
|---|---|
| Data generation & wrangling | numpy, pandas (groupby, pivot, melt, conditional logic) |
| Yield-loss breakdown | Per-test pass/fail computation, aggregation by wafer/category |
| Failure-bin Pareto | First-fail identification, sorted frequency analysis |
| Box plots with spec limits | matplotlib boxplot, limit-line overlays |
| Wafer-map spatial analysis | 2D scatter plots with colormapped parametric values |
| Parametric correlation | Pearson correlation matrix, seaborn heatmap |
| Multi-process comparison | Color-coded grouped visualizations |
| Hypothesis testing | scipy.stats.ttest_ind (Welch's t-test, α = 0.05) |
- Root cause: T01_RES (resistance) failures concentrated at wafer edges due to center-to-edge process non-uniformity; T03_IOFF (leakage) failures randomly distributed
- Best process: A1 (higher temperature) reduced radial non-uniformity, improving yield from ~57% to ~79%
- Statistical verification: Welch's t-test confirmed significant improvement in T01_RES and overall yield (p < 0.001) with no degradation of other parameters
numpy
pandas
matplotlib
seaborn
scipy
pip install numpy pandas matplotlib seaborn scipy
jupyter notebook semiconductor_yield_analysis.ipynb├── semiconductor_yield_analysis.ipynb # Main analysis notebook
├── README.md
└── requirements.txt
Inspired by Seshadri Kolluri's R-based semiconductor data analysis example, reimplemented in Python with additional parametric correlation analysis and enhanced visualizations.