An end-to-end Earned Value Management pipeline for a defense/aerospace avionics development program — simulating the type of program performance analysis used by Boeing, Lockheed Martin, and other major defense contractors on U.S. government contracts. Implements the full EVM metric suite, four EAC forecasting scenarios, and automated anomaly detection.
- Is the program on budget and on schedule?
- How much will this program cost when it's done?
- Which Work Breakdown Structure elements are driving cost overruns?
- Is the recovery plan realistic, or do we need a budget increase?
- Where are the early warning signs before variances become crises?
evm_analysis/
├── outputs/ # Charts, CSVs, executive summary
├── src/
│ ├── data_prep.py # 18-month avionics program simulation (12 WBS elements)
│ ├── evm_metrics.py # Full EVM metric suite (CPI, SPI, CV, SV, TCPI, PC)
│ ├── forecasting.py # EAC scenarios, VAC, TCPI, schedule forecasting
│ ├── anomaly_detection.py # Threshold, SPC, and z-score anomaly detection
│ └── visualizations.py # 8 charts + executive dashboard
├── main.py # Run the full pipeline
├── requirements.txt
└── README.md
| Value | Symbol | Definition |
|---|---|---|
| Planned Value | PV | Budgeted cost of work scheduled — "What did we plan to spend by now?" |
| Earned Value | EV | Budgeted cost of work performed — "What is the work we've done actually worth?" |
| Actual Cost | AC | Actual cost incurred — "What did we actually spend?" |
| Metric | Formula | Interpretation |
|---|---|---|
| Cost Variance (CV) | EV − AC | Negative = over budget |
| Schedule Variance (SV) | EV − PV | Negative = behind schedule |
| Cost Performance Index (CPI) | EV / AC | <1.0 = over budget per $ spent |
| Schedule Performance Index (SPI) | EV / PV | <1.0 = behind schedule |
| Percent Complete | EV / BAC | Official completion % (not cost-based) |
| TCPI | (BAC−EV) / (BAC−AC) | CPI needed on remaining work to finish at budget |
| Method | Formula | Assumption |
|---|---|---|
| EAC (CPI) | BAC / CPI | Past performance continues — most likely |
| EAC (Composite) | AC + (BAC−EV)/(CPI×SPI) | Both cost AND schedule inefficiency continue |
| EAC (Replan) | AC + (BAC−EV) | Future work at budget rate — best case |
| EAC (Custom) | AC + (BAC−EV)/0.95 | Analyst assumes slight improvement |
- Threshold-based: CPI < 0.85 (critical), SPI < 0.85, rapid month-over-month CPI drop
- Statistical Process Control (SPC): Rolling mean ± 2σ control limits
- Rolling Z-Score: Flag periods where CPI deviates >2σ from recent trend
Avionics Systems Development Program (fictional Boeing-style defense contract)
| Parameter | Value |
|---|---|
| Budget At Completion (BAC) | $50,000,000 |
| Duration | 18 months |
| WBS Elements | 12 (Systems Engineering, Avionics Hardware, Software, Radar, Navigation, etc.) |
| Pattern | Realistic cost growth: early optimism → mid-program turbulence → cost overrun |
| Final CPI | ~0.84 (16% cost overrun trajectory) |
| Schedule Slip | ~2-3 months |
| File | Description |
|---|---|
01_scurve.png |
Classic EVM S-curve (PV, EV, AC) with variance shading |
02_performance_indices.png |
CPI and SPI trend with SPC control limits |
03_variance_analysis.png |
Cost and Schedule Variance over time |
04_eac_scenarios.png |
Four completion cost forecast scenarios |
05_wbs_heatmap.png |
CPI and CV% by WBS element |
06_anomaly_timeline.png |
Severity timeline and z-score chart |
07_tcpi_analysis.png |
TCPI vs CPI — recovery plan realism check |
08_summary_dashboard.png |
Full executive dashboard |
evm_metrics.csv |
Monthly EVM metrics time series |
wbs_performance.csv |
WBS-level performance at program completion |
anomaly_flags.csv |
Monthly anomaly detection flags |
evm_executive_summary.txt |
DoD-style program performance narrative |
EVM is contractually required by the U.S. Department of Defense on all contracts over $20M under DFARS 252.234-7002. Boeing submits monthly Integrated Program Management Reports (IPMR) to DCMA (Defense Contract Management Agency) containing these exact metrics.
Key thresholds used in this analysis mirror real DoD standards:
- CPI < 0.85 → Triggers formal Corrective Action Request (CAR)
- TCPI > 1.10 → Indicates budget increase likely needed
- EAC deviation > 10% of BAC → Requires formal EAC rebaseline notification
git clone https://github.com/yourusername/evm_analysis.git
cd evm_analysis
pip install -r requirements.txt
python main.pyNo data download required — program data is generated synthetically with realistic defense program performance patterns.
- Python 3.14+
pandas/numpy— EVM calculation and data processingmatplotlib— S-curves, heatmaps, and dashboardscipy— Statistical process control
- Earned Value Management (EVM) — full metric suite
- S-curve generation and analysis
- Multiple EAC forecasting methodologies
- TCPI analysis and recovery plan assessment
- Statistical Process Control (SPC) for performance monitoring
- Automated anomaly detection (threshold + statistical)
- WBS-level performance diagnostics
- Defense program financial reporting (IPMR context)
Built as part of a data science / finance analytics portfolio project.
Background: 15+ years in Marketing Analytics | SQL | Python | Statistical Modeling | Finance Analytics