Insights: show the user what the app has learned #20
Labels
No Label
P0
P1
P2
release-blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: null/Privacy-Period-Tracker#20
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The Insights tab is a placeholder. Its purpose, from PRODUCT_PLAN.md §27, is one sentence: show the user what the app has learned. It is the screen that earns trust, and §16 calls the accuracy part a powerful retention feature.
What it shows: average cycle, typical range, average period length, recent cycles as a list, and prediction accuracy — last error, average error, and how many of the last N were within a day.
PredictionAccuracyalready computes all of it on-device and already refuses to report anything below three scored predictions. Respect that: §27 says do not overstate accuracy, and one lucky forecast reading "average error: 0 days" is exactly the overstatement.Before there is enough data, show the learning state (§27): "Learning your cycle", "Getting to know your pattern", "Personalized to your cycle" — the honest one for how much history exists.
Nothing here leaves the device. §46 lists
prediction_error=among the analytics values that must never be sent.Verify: with fewer than three scored predictions Insights shows a learning state and no accuracy figures; with more it shows last error, average error and the within-one-day count; and the numbers match what
PredictionAccuracycomputes in its unit tests.