A production-grade data pipeline and interactive dashboard for the Association for Decentralised Energy (ADE) Flexibility Dashboard project.
FlexDash processes flexibility data from UK energy sector participants to produce anonymised, publication-ready statistics and visualisations. The system implements robust data governance to protect commercially sensitive information while enabling transparency in the flexibility market.
FlexDash/
|-- src/ # Python data pipeline
| |-- ingestion/ # Data loading and validation
| |-- governance/ # Anonymisation and disclosure control
| |-- analysis/ # Aggregation and metrics
| `-- export/ # Dashboard data generation
|-- dashboard/ # Interactive HTML dashboard
|-- config/ # Configuration files
|-- docs/ # Documentation
|-- tests/ # Unit tests
`-- scripts/ # Orchestration scripts
# Clone the repository
git clone https://github.com/ADEData-Lab/FlexDash.git
cd FlexDash
# Install dependencies
pip install -r requirements.txt
# Process data and generate dashboard
python scripts/run_pipeline.py
FlexDash produces two public-friendly entrypoints:
dashboard/index.html (multi-page dashboard; loads the latest pipeline output via dashboard/js/data.js)dashboard/public_dashboard_standalone.html (single-file build for offline sharing)dashboard/public_dashboard_standalone_release_safe.html (single-file build for steering-group sharing; safe splits only, no ranges or k-signals)dashboard/public_dashboard_standalone_steering_safe.html (single-file build for steering-group circulation; aggregates only, no breakdowns)Open either file in a web browser. No server is required.
Recommendation:
dashboard/public_dashboard_standalone_release_safe.html when you want limited disclosure-safe splits (no ranges and no per-cell coverage counts).dashboard/public_dashboard_standalone_steering_safe.html when you need aggregates only.By default, the pipeline reads contributor returns from the folder next to the repo:
../02 DATA RECEIVED (relative to FlexDash/)When new returns arrive:
.xlsx files into 02 DATA RECEIVEDpython scripts/run_pipeline.pyThe pipeline regenerates the data outputs under dashboard/ and refreshes the standalone HTML.
Note: If a return arrives in a non-template TOU or implicit flexibility layout, the pipeline will try to generate a *_NORMALISED_V1.2.xlsx sidecar workbook and will prefer it over the raw file to prevent double-counting.
The pipeline also generates admin-only QA artefacts to help spot parsing gaps and missing sections:
reports/admin/ingestion_coverage_latest.md (per-file checklist)reports/admin/validation_report_latest.md (annotated report)reports/admin/dashboard/admin_validation_dashboard.html (single-file admin dashboard)These outputs may include contributor-level values and must not be circulated outside the authorised team.
This project implements strict data governance to protect contributor confidentiality:
See docs/DATA_GOVERNANCE.md for full governance policy.
This dashboard aggregates data from energy sector participants including:
Individual contributor data is never disclosed.
pytest tests/
src/ingestion/: Parse V1.2 Excel templates and custom formatssrc/governance/: Apply disclosure controls and anonymisationsrc/analysis/: Calculate metrics and aggregationssrc/export/: Generate JSON for dashboard consumptionCopyright (c) 2025 Association for Decentralised Energy. All rights reserved.
For questions about this project, contact the ADE Data Lab team.