FrequentlyAsked Question / Exact Problem
- “KPI report sales values don’t match what I see in the store-wise analysis screen.”
- “Journey Builder shows 76,963 targeted but Campaign Analytics shows different numbers.”
- “Mufti journey analytics shows incorrect failed count.”
- “Pepe KPI report shows data twice when I select a Business Unit.”
- “Journey analytics shows higher click count than view count.”
Affected Tenant / Context
Pepe Jeans (KPI Report duplication + data mismatch), Otto (Campaign Analytics), Mufti
(JourneyAnalytics failed count), general across all tenants.
Root Cause
- KPI report vs dashboard: different bill filtering logic — The KPI report was only counting invoice-type bills, while the store-wise analysis and transaction report count all bill types. After a POS data re-upload (which included returns), the KPI report showed lower values.
- Duplicate rows in bill upload (no timestamp = deduplication failure) — Pepe’s CSV upload data didn’t include timestamps. ClickHouse uses timestamps to determine which row to keep during deduplication. Without timestamps, duplicate rows were all inserted, inflating sales figures.
- JourneyAnalytics vs Campaign Analytics: different unique keys — JourneyAnalytics
uses unique passed_rule_id ; Campaign Analytics uses unique contact_mobile . For
customers with duplicate passed_rule_id entries, this causes visible count differences. - KPI report duplication when BU is selected — When a user selects a Business Unit in the KPI report, data appears at both tenant level and BU level — causing every metric to appear twice. Expected behaviour for multi-BU tenants, but confusing for single-BU tenants.
- Mufti targeted count vs failed count logic disagreement — Targeted metric was using unique customer count while Failed , Delivered , Clicked used total (including
retarget) count. This made the math appear wrong.
Common Debugging Steps (For CS Team)
- For KPI mismatch: confirm which date range and BU the customer is selecting. For singleBU tenants, do not select a BU when downloading the KPI report — download at tenant level instead.
- For journey analytics discrepancy: explain that Journey Builder shows all targeted
(including waits/retargets) while Campaign Analytics shows unique delivered contacts. A difference is expected. - For sales value mismatch post-upload: ask “Was any data re-uploaded or deduplicated
recently?” — Check with dev if timestamps were included in the upload file. - Check if the mismatch is consistent (same every time) or dynamic (changes on refresh) — consistent = data issue, dynamic = query/cache issue.
- For Mufti failed count: the targeted count shows unique customers; failed/delivered/clicked show total attempts (including retargets). This is by design.
Fix Made & Developer Conclusion
- Pepe KPI/dashboard mismatch: Code change to make KPI report count all bill types (same as transaction report and store analysis). Cohort and Gap Analysis still use invoice-only bills.
- Pepe data mismatch (May bills): Full data wasn’t shared by the client initially. After receiving it, deduplication was done manually by Suriya. Shriram identified 22 missing live bills worth ~₹1.08 lakh.
- Journey vs Campaign count: Duplicate passed_rule_id investigation ongoing. Enhancement raised to add a description tooltip in the analytics screen.
- KPI duplication: Documented as expected behaviour for multi-BU. Enhancement raised: auto-hide BU selector for single-BU tenants.
- Muftifailed count: Dharshini reverted a hasty fix. Correct logic to be discussed and reimplemented.
Exact Dev to Reach Out To
Suganth — KPI report logic, bill type filtering
Shriram — Pepe data reconciliation, store analysis queries, bill deduplication
Suriya — Overall data correctness, ClickHouse deduplication
Dharshini — Journey analytics, targeted/failed count logic, CH queries