stats: add Android rating + crash-rate charts#63
Conversation
Render android-rating.png (Play Store rating over time, 2019+) and android-crash-rate.png (user-perceived crash rate, 2025-06+) from the now-auto-collected data in ActivityWatch/stats. Update the Android section note — it's auto-updated daily, not manual.
Greptile SummaryThis PR adds two Android stats charts to the stats page. The main changes are:
Confidence Score: 5/5This looks safe to merge after a small wording cleanup.
stats.pug Important Files Changed
Reviews (1): Last reviewed commit: "stats: add Android rating + crash-rate c..." | Re-trigger Greptile |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0b4b7a7b09
ℹ️ 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".
| cd stats && poetry run python analyze_stats.py --since 2019-01-01 --column 'Android Play Store rating' --title 'Android Play Store Rating' --save ../img/stats/android-rating.png | ||
| cd stats && poetry run python analyze_stats.py --since 2025-06-01 --column 'Android crash rate (%)' --title 'Android Crash Rate (user-perceived, %)' --save ../img/stats/android-crash-rate.png |
There was a problem hiding this comment.
Avoid unsupported Android stat columns
On a clean CI build this target clones ActivityWatch/stats from its current default branch, and that repo's analyze_stats.py currently only merges the Android installed-devices CSV, so --column 'Android Play Store rating' exits with No such column before Jekyll can deploy. This needs to wait for/pin the stats repo version that actually exposes these columns, or the scheduled/master build will fail as soon as it reaches this new command.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Already resolved: the stats-repo loaders (_load_android_crash_rate / _load_android_rating, merged into _load_data) landed on ActivityWatch/stats master in ActivityWatch/stats#22 before this PR's build ran. The branch build here passed end-to-end — the build log shows both --column 'Android Play Store rating' and --column 'Android crash rate (%)' render steps completing. So a clean master/scheduled build clones a stats repo that does expose these columns.
| div.small.dim (Updated manually on an irregular basis) | ||
| img.width-500(src="/img/stats/android-rating.png") | ||
| img.width-500(src="/img/stats/android-crash-rate.png") | ||
| div.small.dim (Auto-updated daily from the Play Console) |
There was a problem hiding this comment.
Update Cadence Overstates Source
The page is rebuilt daily from the checked-out ActivityWatch/stats data, but this text says the Android charts are updated daily from the Play Console. If the upstream Play Console collection lags or fails while this site still rebuilds, /stats/ can show stale Android charts with a stronger freshness claim than the build path guarantees.
| div.small.dim (Auto-updated daily from the Play Console) | |
| div.small.dim (Auto-updated daily when Play Console data is available) |
Context Used: README.md file (source)
There was a problem hiding this comment.
Done — reworded to 'Auto-updated daily when Play Console data is available; ratings lag ~1 month' so it doesn't overstate freshness.
The site rebuilds from checked-out data; Play Console collection can lag (ratings are monthly). Reword to not overstate freshness.
Adds two charts to the Android section of /stats/, from the now-auto-collected data in ActivityWatch/stats:
Also fixes the stale 'updated manually' note (the whole Android section is auto-updated daily now).