Your discussion join is quietly multiplying launch votes
Description and use
Enabling discussion data should not multiply a launch's votes in the dashboard. When includeComments and includeReviews are enabled, downstream joins can inflate engagement metrics. The fix is to keep reporting branches independent at their intended grain: launch metrics at launch grain, comments aggregated by launch, reviews aggregated by launch.
Problem
Turning on discussion data shouldn't multiply a launch's votes in the dashboard; enabling includeComments and includeReviews can inflate engagement metrics through downstream joins.
Outcome
Downstream joins that pair comments with reviews multiply launch-level metrics, inflating engagement counts. The fix is to keep reporting branches independent at their intended grain rather than flattening them into a single launch-grain report.
Workflow
- Enable includeComments and includeReviews for the report due Friday
- Export a record per launch with discussion and reviews attached as arrays
- Run naive flatMap join pairing every comment with every review, producing duplicate rows carrying the full launch vote count
- Recognize that SUM(DISTINCT votesCount) doesn't fix the problem because different launches legitimately share a vote total
- Keep the branches independent until each has the intended reporting grain: launch metrics at launch grain, comments aggregated by launch, reviews aggregated by launch
- Validate the envelope, preserve opaque children, and retain request settings alongside the retrieved batch
Evidence
Source deduplication does not prevent a downstream join from multiplying launch-level metrics.
Every comment pairs with every review. Each resulting row carries the launch's entire vote count.
SUM(DISTINCT votesCount) doesn't repair this. Different launches can legitimately share a vote total. That expression deduplicates a measurement when you need to preserve an identity.
Keep the branches independent until each has the intended reporting grain: launch metrics, comments → replies → aggregate by launch, attached reviews → aggregate by launch.
Empty values are omitted, including empty arrays. Missing comments therefore isn't a reliable statement that nobody commented.
- Record date: 2026-11-01T21:13:59.535Z