Reporting
Overview
Section titled “Overview”The Reporting module consolidates Energy Copilot’s automated and on-demand reporting capabilities. From daily AI-generated market summaries to pipeline health dashboards and regulatory submission packs, the Reporting module reduces manual reporting effort and ensures consistent output quality.
Daily Market Summary Report
Section titled “Daily Market Summary Report”The Daily Market Summary is an extended version of the NEM Market Brief, enhanced with Middle Office and Back Office data:
- Market section: yesterday’s prices, generation, interconnectors, FCAS
- Portfolio section: MtM change, any limit breaches, significant trade activity
- Settlement section: any PRELIM/FINAL run publications, true-up movements
- Compliance section: obligations due in the next 7 days
- Outlook: weather forecast and risk indicators for the next 48 hours
Generated by Claude Sonnet 4.5 at 07:00 AEST daily, stored in gold.daily_market_summary, and distributed via email (configurable recipients).
# Retrieve today's reportGET /api/reporting/daily-summary?date=2025-03-21
# Generate report on-demand for a specific datePOST /api/reporting/daily-summary/generate{ "date": "2025-03-20", "include_portfolio": true, "include_settlement": true}Dashboard Snapshot Exports
Section titled “Dashboard Snapshot Exports”Users can export any dashboard as a static snapshot:
- PNG image: full dashboard screenshot (for email or presentations)
- PDF report: formatted multi-page report with branding
- CSV data: underlying data tables in the dashboard
- JSON: raw API data for integration with other systems
The snapshot export is available via the download icon on any dashboard page or via the API:
POST /api/reporting/snapshots{ "dashboard_path": "/front-office/live-market", "format": "pdf", "date_range": {"start": "2025-03-14", "end": "2025-03-21"}}Data Quality Report
Section titled “Data Quality Report”The Data Quality Report (/back-office/reporting/data-quality) monitors the health of all 30 pipeline jobs and the completeness of Gold tables:
| Metric | Description | Target |
|---|---|---|
| Pipeline success rate | % of pipeline runs completing without error | >99% |
| Data freshness | Age of latest record in each Gold table | <15 min (prices), <2h (others) |
| Row completeness | % of expected rows present (vs AEMO reference) | >99.5% |
| Null rate | % of null values in key columns | <0.1% |
| Duplicate rate | % duplicate rows after deduplication | <0.01% |
Generated by pipelines/08_data_quality_report.py and stored in gold.data_quality_metrics.
-- Latest data quality reportSELECT pipeline_name, table_name, latest_record_timestamp, DATEDIFF_MINUTE(latest_record_timestamp, CURRENT_TIMESTAMP()) AS minutes_stale, expected_rows_24h, actual_rows_24h, completeness_pct, null_rate_pct, statusFROM energy_copilot.gold.data_quality_metricsWHERE report_date = CURRENT_DATE()ORDER BY status DESC, minutes_stale DESC;Regulatory Submission Packs
Section titled “Regulatory Submission Packs”The DNSP Intelligence module generates AER RIN submission packs — see DNSP → DAPR Assembly for details. For non-DNSP participants, the Back Office provides:
- AER Retail Report: formatted data extract for the annual AER retail market report
- Market Fee Declaration: AEMO annual market fee participation declaration
- RET Compliance Report: LGC surrender evidence for Clean Energy Regulator
Scheduled Report Distribution
Section titled “Scheduled Report Distribution”Reports can be scheduled for automatic distribution:
POST /api/reporting/schedules{ "report_type": "daily_summary", "schedule": "0 7 * * 1-5", // 7am AEST, Monday-Friday "recipients": ["trading@mycompany.com", "risk@mycompany.com"], "format": "pdf", "include_sections": ["market", "portfolio", "compliance"]}API Endpoints
Section titled “API Endpoints”# List available reportsGET /api/reporting/types
# Get scheduled reportsGET /api/reporting/schedules
# Data quality metricsGET /api/reporting/data-quality?date=2025-03-21
# Pipeline run historyGET /api/reporting/pipeline-runs?pipeline=nemweb_ingest&days=7
# Export reportPOST /api/reporting/export{ "report_id": "daily_summary_2025-03-21", "format": "pdf"}