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.

PythonCleaningEnrichment NormalizationSalesforcePower BIDynamics-friendly

TL;DR — What you’ll see

  1. Raw intake from a newly acquired, pen-and-paper site.
  2. Python pipeline that cleans, enriches, normalizes the data.
  3. Salesforce-shaped tables ready for Service/Field Ops.
  4. Protector KPIs update with no dashboard rebuild.
Run the pipeline See normalized outputs View quality report

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)
Download quality_report.csv

This file explains what changed between raw input and normalized output.

Normalized, Salesforce-shaped outputs

These shapes drop into Salesforce (or serve as a staging export) and are already wired into the Protector model.

Why this matters now

Time-boxed 3–4 min walkthrough CIO-friendly scroll