Logan's Analytics Bootcamp

Practice data: PEO Fictional Systems

Generated with Python (fixed seed 20261014), internally consistent: every foreign key resolves, EVM is coherent (cumulative BCWP ≀ BAC, contractor EAC ≀ independent EAC when CPI < 1), and contract obligations stay under ceiling. Reporting window: Oct 2023 – Sep 2026 (data as of 2026-09-30).

⬇ Downloads

⬇ Practice data for this module
D1 programsProgram dimension (12 rows)CSVXLSX
D2 milestonesMilestones (~150 rows)CSVXLSX
D3 evm_monthlyMonthly EVM by control account (~2,000 rows)CSVXLSX
D4 contractsContracts (30 rows)CSVXLSX
D5 budget_executionBudget execution by appropriation (1,296 rows)CSVXLSX
D6 schedule_tasksIMS task export (1,500 rows)CSVXLSX
D7 risksRisk register (80 rows)CSVXLSX
D8 status_drops/36 messy monthly status workbooksZIPBrowse files
ALL PEO-FS_all_datasets.xlsxD1–D7 as sheets in one workbookXLSX
KEY answer_key_evm_cumulative_2026-09Golden answers: cumulative CPI/SPI/EAC/VAC/TCPI per program. Check your Excel, DAX and pandas against it.CSV
SRC gen_data.pyThe generator script (a Phase 4 stretch: read it, then extend it)PY

D8 status_drops/ files

One workbook per program per month (2026-07, 2026-08, 2026-09). Deliberately messy: merged titles, blank rows, header variants, text dates (TBD, Q3 FY26, 03/15/26), text money ($1.2M, 450K), month columns to unpivot, trailing spaces and inconsistent RAG.

All exercises use one fully fictional portfolio: Program Executive Office for Fictional Systems (PEO-FS). It has 12 programs across 3 portfolios. Names, contract numbers, vendors, and dollar amounts are invented. Vendor names reuse Microsoft's standard fictional companies (Contoso, Fabrikam, Northwind, etc.).

Note: Each dataset should be generated as a downloadable CSV/XLSX. A Python generator script is a good Phase 4 stretch task. Row counts are suggestions.

Programs (12)

ProgramID ProgramName Portfolio ACAT
PRG-001 KESTREL Sensor Upgrade C4ISR II
PRG-002 IRONWOOD Tactical Network C4ISR I
PRG-003 HARBOR Logistics Modernization Sustainment III
PRG-004 SENTINEL Training Simulator Training Systems III
PRG-005 BLUE HERON Unmanned Surface Vessel C4ISR II
PRG-006 ANVIL Depot Tooling Refresh Sustainment III
PRG-007 ORION Mission Planning Software C4ISR III
PRG-008 GRANITE Shelter Systems Sustainment III
PRG-009 FALCONER Aircrew Trainer Training Systems II
PRG-010 TIDEWATER Port Security Radar C4ISR II
PRG-011 SUMMIT Spare Parts Analytics Sustainment III
PRG-012 LANTERN Night Vision Retrofit Training Systems III

Core Datasets (Data Dictionary)

D1. programs (dimension, 12 rows) CSV XLSX

Column Type Example Notes
ProgramID Text PRG-002 Primary key
ProgramName Text IRONWOOD Tactical Network
Portfolio Text C4ISR C4ISR / Sustainment / Training Systems
ACAT Text I Acquisition category
Phase Text EMD MSA, TMRR, EMD, P&D, O&S
ProgramManager Text J. Rivera Fictional
BaselineStart Date 2023-10-01
BaselineEnd Date 2029-09-30
ActiveFlag Boolean TRUE

D2. milestones (~150 rows) CSV XLSX

Column Type Example Notes
MilestoneID Text MS-002-07 Primary key
ProgramID Text PRG-002 FK to programs
MilestoneName Text Critical Design Review PDR, CDR, MS B, MS C, IOC, FOC, TRR, etc.
MilestoneType Text Technical Review Decision Point / Technical Review / Test Event / Delivery
BaselineDate Date 2026-03-15 APB or contract baseline
ForecastDate Date 2026-05-02 Current estimate
ActualDate Date (blank) Blank until complete
Owner Text IPT Lead – Systems
Comments Text "Awaiting vendor drawings" Free text

Derived later: SlipDays = ForecastDate βˆ’ BaselineDate, Status (Complete / On Track / At Risk / Late).

D3. evm_monthly (~12 programs Γ— 36 months Γ— ~5 control accounts β‰ˆ 2,000 rows) CSV XLSX

Column Type Example Notes
ProgramID Text PRG-005 FK
ContractNumber Text XX0001-24-C-0107 Fictional format, FK to contracts
WBS Text 1.3.2 Work Breakdown Structure element
ControlAccount Text CA-1.3.2-HULL
PeriodEnd Date 2026-08-31 Month-end reporting period
BCWS Currency 412,000 Current-period planned value
BCWP Currency 380,500 Current-period earned value
ACWP Currency 455,200 Current-period actual cost
BAC Currency 18,500,000 Budget at Completion (control account)
EAC_Contractor Currency 20,100,000 Contractor-reported EAC

Derived later: cumulative BCWS/BCWP/ACWP, CV, SV, CPI, SPI, independent EAC, VAC, TCPI (see Appendix A).

D4. contracts (~30 rows) CSV XLSX

Column Type Example Notes
ContractNumber Text XX0001-24-C-0107 Primary key (fictional)
ProgramID Text PRG-005 FK
Vendor Text Fabrikam Federal LLC Fictional
ContractType Text CPIF FFP, CPFF, CPIF, CPAF, T&M
AwardDate Date 2024-02-12
PoPStart Date 2024-03-01 Period of performance
PoPEnd Date 2027-02-28
CeilingValue Currency 42,000,000
ObligatedToDate Currency 27,350,000
ContractingOfficer Text M. Chen Fictional
CLINCount Integer 6

D5. budget_execution (~12 programs Γ— 3 appropriations Γ— 36 months) CSV XLSX

Column Type Example Notes
ProgramID Text PRG-001 FK
FiscalYear Integer 2026 Federal FY (Oct 1 to Sep 30)
FYMonth Integer 1 1 = October … 12 = September
CalendarMonth Date 2025-10-01 First of month
Appropriation Text RDT&E RDT&E / Procurement / O&M
PlannedObligation Currency 1,200,000 Spend plan
ActualObligation Currency 950,000
PlannedExpenditure Currency 800,000
ActualExpenditure Currency 610,000

D6. schedule_tasks (IMS export, ~1,500 rows) CSV XLSX

Column Type Example Notes
TaskID Integer 10423 Unique per program
ProgramID Text PRG-002 FK
WBS Text 1.2.4.1
TaskName Text Integrate radio firmware v2
BaselineStart / BaselineFinish Date 2026-01-05 / 2026-02-27
ForecastStart / ForecastFinish Date 2026-01-19 / 2026-03-20
ActualFinish Date (blank)
PercentComplete Decimal 0.65
TotalFloat_Days Integer -12 Negative float means behind the critical path
Predecessors Text "10418FS+5d,10420" Raw IMS syntax
CriticalFlag Text Y Y/N

D7. risks (~80 rows) CSV XLSX

Column Type Example Notes
RiskID Text R-007-03
ProgramID Text PRG-007 FK
Title Text Key software developer attrition
Category Text Schedule Cost / Schedule / Performance
Likelihood Integer 4 1–5
Consequence Integer 3 1–5
Status Text Open Open / Mitigating / Closed / Realized
Owner Text Software IPT
MitigationDueDate Date 2026-11-30

D8. status_drops/ (messy raw files, the realistic part)

A folder of monthly Excel files, one per program team per month (e.g., PRG-003_Status_2026-08.xlsx). The mess is on purpose:

  • Header names vary (Forecast Date vs Fcst Dt vs Est. Completion)
  • Merged title cells and blank rows above the header
  • Dates entered as text ("TBD", "Q3 FY26", "03/15/26")
  • Dollar values as text ("$1.2M", "450K", "1,250,000")
  • Month-across-columns layout (Oct, Nov, Dec …) that needs unpivoting
  • Trailing spaces, inconsistent RAG values (G, Green, grn)