EP-MEL-14 — Analytics Pipeline (Events → BigQuery → Dashboards → AI Signals)
Companion: Backlog README ·
EPICS.md· canonical:07-epics-and-user-stories.md§16
Summary
| Wave | R2 |
| Priority | P1 |
| Primary owner | analytics-service |
| Participating services | every event publisher; ai-orchestrator-service (consumer of derived signals) |
| Journeys realised | J-12 (Reporting), J-21 (AI HITL) |
| Workflows | WF-12 |
| Frontend surfaces | Control Plane (dashboards) |
| Story count | 5 |
Outcome
Domain events flow into BigQuery, are conformed into marts (occupancy, revenue, channel), exposed via a query API, defined as cohorts and funnels, and surfaced as input signals to ai-orchestrator-service for forecasting and anomaly detection.
Cross-cutting AC for this epic
- Schema-on-write contracts for every event consumed; breaking changes require ADR + dual-write window.
- Tenant isolation preserved in marts via
tenant_idpartitioning + RLS in query API. - PII never leaves the operational tier; analytics uses pseudonymised IDs.
- AI-input signals are versioned; a model retraining is tied to a signal version.
Stories
| ID | Title |
|---|---|
| US-MEL-0111 | Event ingestion to BigQuery |
| US-MEL-0112 | Conformed marts (occupancy, revenue, channel) |
| US-MEL-0113 | Query API for dashboards |
| US-MEL-0114 | Cohort & funnel definitions |
| US-MEL-0115 | AI input signals from analytics |
Full AC in
../07-epics-and-user-stories.md§16.
Cross-references
- Event-driven architecture:
../04-event-driven-architecture.md - AI architecture:
../08-ai-architecture.md - Definition of Done:
../standards/DEFINITION_OF_DONE.md