Commit 8fe863c
committed
perf(db): fast-path conversions with 1 event-property breakdown
Extends buildArrayPatternSql to accept an optional breakdown param and
emits a split-scan variant (user_installs + user_finishes CTEs joined by
resolved profile). Grouping a single-scan by (user, breakdown) pins
finishes to the install's breakdown bucket and under-counts (measured
6-10% for apps.instagram.com vs. correct 22-93%). Split scans preserve
the "convert on the user, not on the utm-tagged finish" semantic.
Prod-measured on shortreels 30-day installReferrer→deepLinkCaptured
with ref_utm_source breakdown: 35.6s (ASOF path) → 20.1s (this fast
path) = 1.77x. Bytes read halves too (77 GiB → 38 GiB) because each
split scan filters to one event name.
Gate: only fires when breakdown is a simple event-level property (not
profile.*, not cohort, not custom event). All other paths (holds,
cohorts, custom events, session group, TTC, multi-breakdown) unchanged.1 parent 09ff2c6 commit 8fe863c
2 files changed
Lines changed: 696 additions & 5 deletions
0 commit comments