Skip to content

feat: switch installed.csv to Active Device Installs + automate in CI#19

Merged
ErikBjare merged 1 commit into
masterfrom
feat/installed-active-devices
Jul 12, 2026
Merged

feat: switch installed.csv to Active Device Installs + automate in CI#19
ErikBjare merged 1 commit into
masterfrom
feat/installed-active-devices

Conversation

@ErikBjare

Copy link
Copy Markdown
Member

Resolves the metric decision in #17. 'Installed audience' (users) has no API/bulk source, so it can't be automated; 'Active Device Installs' (devices) is in the bulk reports, the SA can now read them, so installed.csv becomes fully automated via collect-play.yml.

  • Rebuilt installed.csv from the reports (2018-12→2026-07, device-based, notes preserved); header → Active Device Installs. ~10% higher than the old user series, matches the chart's 'Installed Devices' label.
  • Skip Play's not-yet-finalized recent days (reported as 0).
  • Re-enabled the installs step in CI; update is idempotent with the committed rebuild.
  • Verified analyze_stats._load_android loads it (6,258 latest).

…17)

The Play Console 'Installed audience' (unique users) metric isn't available
in any bulk report, so it can't be automated. Switch installed.csv to
'Active Device Installs' (devices), which the bulk reports do provide and the
SA can now read — enabling full daily CI collection via collect-play.yml.

- Rebuild installed.csv from the reports (2018-12..2026-07, device-based),
  preserving the manual Notes; header now 'Active Device Installs'. Values
  run ~10% above the old user-based series and match the chart's
  'Installed Devices' label.
- Skip Play's not-yet-finalized recent days (reported as 0) to avoid dips.
- Re-enable the android_installs update step in collect-play.yml.
@ErikBjare ErikBjare merged commit 7bdeb3c into master Jul 12, 2026
@ErikBjare ErikBjare deleted the feat/installed-active-devices branch July 12, 2026 17:13

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7d06d9b08e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread android_installs.py
Comment on lines +115 to 116
if date and value and value != "0":
out[date] = value

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restrict zero filtering to the unfinalized tail

When a report contains an internal zero, this predicate removes that date entirely instead of only suppressing Play's unfinalized trailing days; the committed rebuild already shows this by omitting 2026-07-06 while keeping 2026-07-07 and 2026-07-08. That makes the daily series consumed by analyze_stats._load_data() sparse and interpolated, so the chart/CSV no longer reflects the reported install base for the missing day; please trim only the trailing zero suffix or otherwise retain an explicit value.

Useful? React with 👍 / 👎.

@ErikBjare

Copy link
Copy Markdown
Member Author

@TimeToBuildBob Is #19 (comment) right here? Make a PR if so since this merged

@TimeToBuildBob

Copy link
Copy Markdown
Contributor

Yes, the bot's analysis was correct. was filtering all zeros, not just the trailing unfinalized tail. Filed fix: #23

ErikBjare pushed a commit that referenced this pull request Jul 12, 2026
…23)

Internal zeros in the install series are valid data (e.g. a mid-series
reporting gap). The previous predicate dropped *any* zero row, which was
only correct for the unfinalized-days case at the tail.

Fix: collect all rows, then strip the trailing-zero suffix in a second
pass. Matches the intent in the original comment and the Codex bot
finding on PR #19 (discussion_r3566750142).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants