Pen-and-paper acquisition → Python → Salesforce-shape → KPIs
A 3-minute, scrollable preview for busy execs. The dashboard is the periphery; the pipeline is the star.
TL;DR — What you’ll see
- Raw intake from a newly acquired, pen-and-paper site.
- Python pipeline that cleans, enriches, normalizes the data.
- Salesforce-shaped tables ready for Service/Field Ops.
- Protector KPIs update with no dashboard rebuild.
Protector snapshot (periphery)
On-time compliance
94%
Open deficiencies (A/B/C)
3 / 11 / 18
WO intake due ≤ 7 days
5
Illustrative only; source = Salesforce-shaped feed produced by the pipeline.
Pipeline overview
Same dashboard, no rebuild. The pipeline feeds a standard Salesforce shape that Service/Field Ops already use.
Run the pipeline (time-boxed demo)
Copy these four commands, paste into Terminal, and hit Enter after each.
python3 -m pip install pandas pyyaml
python3 synth_data.py --spec spec.pen_and_paper.clean.yml
python3 make_bad_pen_paper.py clean_base.csv raw_pen_paper_intake.csv
python3 normalize_pen_paper.py raw_pen_paper_intake.csv mapping_config.yml normalized_out/
~1–2 min first run (installs)
Mac: use
python3
Windows: use python
Quality report (auditable fixes & flags)
- Invalid date → flagged (e.g., 02-31-2025)
- Typos → corrected (Hamilt0n → Hamilton)
- Abbreviations → normalized (rt. → Route)
This file explains what changed between raw input and normalized output.
Normalized, Salesforce-shaped outputs
Core tables
Field service & compliance
These shapes drop into Salesforce (or serve as a staging export) and are already wired into the Protector model.
Why this matters now
- Zero disruption: No dashboard rebuild; feeds a standard Salesforce shape.
- Faster onboarding: New acquisitions move from paper → action with quality traceability.
- ERP-friendly: The same normalized tables can hand off to Dynamics for billing/inventory.
Time-boxed 3–4 min walkthrough CIO-friendly scroll