Focus: what improved vs what needs attention (current week vs prior week)
Current period: 27 Jul – 02 Aug 2026 · Comparison: 20 Jul – 26 Jul 2026
Report generated: 04 August 2026 · Source: PostHog live queries · Production (106150) · https://eu.posthog.com
Active users rose from 560 to 855 (+52.7%). New users: 227 → 505 (+122.5%). Returning users: 333 → 350 (+5.1%). Lowest day this period: 2026-07-27 with 194 daily actives (prior low: 148 on 2026-07-25).
| Segment | This week | Prior week | Change |
|---|---|---|---|
| New users (first active in range) | 505 | 227 | +122.5% |
| Returning users | 350 | 333 | +5.1% |
Matches dashboard Funnel - Onboarding v2 complete flow: SplashAnimationStarted with empty event user_id (test accounts excluded), login = LoginPhoneSubmitted, ordered path. Includes people who never become signups — those are Stage 1 drop-offs. OTP verified = LoginOtpSucceeded. Privacy step in the live funnel is Privacy accepted (Continue) (separate privacy screen step may be absent).
Finished (Let's go) 227 → 510 (+124.7%) — same count as the final funnel step below. Splash starts: 381 → 706. Installs: 21 → 14.
Only 14 app installs vs 510 finished onboardings (706 splash starts). Install events are not a reliable acquisition proxy this week — treat Finished / splash as the real volume signal. Funnel still includes returning re-logins.
57.1% of completers opened the app again (was 62.3%). Weakest day: 2026-07-27 — only 45.0% of completers that day came back (40 completers). Average return after 14.5h (was 25.5h) — faster return is good even when coverage fell.
Onboarding v2 funnel — this week vs prior week
Same definition as dashboard Funnel - Onboarding v2 complete flow: ordered aggregate_funnel, empty splash user_id, login = LoginPhoneSubmitted, OTP = LoginOtpSucceeded, Privacy = Continue accept. Early droppers who never reach signup are included (no signup_completed cohort gate). A few already-onboarded returners may still appear. Each bar = users who reached that step and every prior step in sequence.
Stage 1 (splash → OTP): 706 → 541 (76.6% conversion, 165 dropped). Biggest leak: Splash finished → Login screen (95 users, 13.8%). Prior week conversion was 69.3% (biggest leak then: Splash finished → Login screen, 80 / 22.1%).
| Transition | From | To | Dropped | Drop % |
|---|---|---|---|---|
| Splash started → Splash finished | 706 | 687 | 19 | 2.7% |
| Splash finished → Login screen | 687 | 592 | 95 | 13.8% |
| Login screen → SMS sent | 592 | 586 | 6 | 1.0% |
| SMS sent → OTP verified | 586 | 541 | 45 | 7.7% |
Stage 2 (OTP → Finished): 541 → 510 (94.3% conversion, 31 dropped). Biggest leak: OTP verified → Privacy accepted (Continue) (21 users, 3.9%). OTP → Privacy this week: 541 → 520 (21 dropped). Prior week Stage 2 conversion was 86.0%; OTP → Privacy was 264 → 238 (−26).
Slowest median step this week: Sports → Survey
(0.32 min).
| Transition | From | To | Dropped | Drop % |
|---|---|---|---|---|
| OTP verified → Privacy accepted (Continue) | 541 | 520 | 21 | 3.9% |
| Privacy accepted (Continue) → Name screen | 520 | 520 | 0 | 0.0% |
| Name screen → Birthdate screen | 520 | 513 | 7 | 1.3% |
| Birthdate screen → Gender screen | 513 | 512 | 1 | 0.2% |
| Gender screen → Sports screen | 512 | 511 | 1 | 0.2% |
| Sports screen → Survey screen | 511 | 510 | 1 | 0.2% |
| Survey screen → Notifications screen | 510 | 510 | 0 | 0.0% |
| Notifications screen → Welcome screen | 510 | 510 | 0 | 0.0% |
| Welcome screen → Finished (Let's go) | 510 | 510 | 0 | 0.0% |
Median minutes between steps (this week vs prior)
One metric only — median time. High “upper” outliers are intentionally omitted.
| Step transition | Median this week (min) | Median prior week (min) | Change |
|---|---|---|---|
| Splash → Login | 0.25 | 0.25 | 0.0% |
| Login → OTP | 0.20 | 0.22 | -9.1% |
| OTP → Privacy | 0.02 | 0.02 | 0.0% |
| Privacy → Name | 0.10 | 0.10 | 0.0% |
| Name → Birthdate | 0.22 | 0.20 | +10.0% |
| Birthdate → Gender | 0.22 | 0.20 | +10.0% |
| Gender → Sports | 0.03 | 0.03 | 0.0% |
| Sports → Survey | 0.32 | 0.32 | 0.0% |
| Survey → Notifications | 0.20 | 0.20 | 0.0% |
| Notifications → Welcome | 0.07 | 0.05 | +40.0% |
| Welcome → Finished | 0.03 | 0.03 | 0.0% |
App installs by day of period
Re-open coverage by day of period
Hours until next app open by day of period
| Funnel checkpoint | This week | Prior week | Change |
|---|---|---|---|
| 01 — Splash started | 706 | 381 | +85.3% |
| 03 — Login screen | 592 | 282 | +109.9% |
| 05 — OTP verified | 541 | 264 | +104.9% |
| Privacy accepted (Continue) | 520 | 238 | +118.5% |
| Finished (Let's go) | 510 | 227 | +124.7% |
Stage 1 — SMS sent → OTP verified (−45, 7.7%):
Of 586 users who got an SMS, only
541 accepted the code.
The rest reach the OTP screen and mostly leave (typical next event: app backgrounded) without
LoginOtpSucceeded. Secondary Stage 1 leak:
Login → SMS (−6, 1.0%).
Biggest Stage 1 leak overall: Splash finished → Login (95 users).
Stage 2 — after OTP: OTP → Privacy accepted is 21 drop (541 → 520). Continue → Name: 0 (520 → 520). After Name, Stage 2 is tight through Finished (510). Prior week OTP → Privacy was 264 → 238 (−26).
Bottom line: funnel volume (splash 381 → 706; finished 227 → 510). Biggest Stage 1 leak is Splash finished → Login; OTP accept and SMS send failures still matter. Post-OTP conversion is 94.3% this week. Watch re-open coverage separately (62.3% → 57.1%).
Core engagement surface. KPIs match the Production Feed dashboard. Feed visitors = Feed pageview: custom PageFeed or $screen with $screen_name = 'PageFeed' (tab open / refresh / return). All-time onboarded = distinct people with person.properties.user_id who finished Onboarding v2 (onboarding_v2_welcome_continue) or the old Onboarding last screen (PageOnboardingLocation). Avg feed triggers / user ≈ scrolls/refreshes (each pageview loads a post page). Posts published = feed_post_create_post.
All-time onboarded (v2 Finished or old Location, with user_id): 2,331.
This week 867 distinct people hit Feed
(37.2% of that stock; prior week 557 / 23.9%).
Avg Feed pageview triggers per visitor: 4.56
(was 7.03) from 3,953 pageview events
— a proxy for how many Feed loads / “scrolls” each visitor did.
Visitors 557 → 867 (+55.7%); engaged users 238 → 345 (+45.0%); engagement rate 42.7% → 39.8% (-6.9%).
Likes: 5,721 → 6,368 events (166 → 209 users). Comments: 486 → 435 events (103 → 131 users). Post opens: 579 → 649 (117 → 144 users). Shares 70→19; reposts 33→17; follow-from-feed 3→1.
Publish confirms (feed_post_create_post): 316 → 359 (+13.6%) from
123 → 150 unique creators.
Negative actions (hide/report/unfollow): 5 → 6.
Composition (share of published posts with each field_filled attachment — a post can count in more than one):
photo 206 → 266 (65.2% → 74.1%);
video 95 → 97 (30.1% → 27.0%);
location 29 → 29 (9.2% → 8.1%);
no media 50 → 28 (15.8% → 7.8%).
Feed visitors by day of period
Posts published by day
Count of feed_post_create_post — user confirmed/published a post on Feed.
Post composition — photo / video / location by day
Daily published posts vs how many included each field_filled attachment (overlaps allowed).
What drove engagement — events and unique users
| Action | Events this wk | Events prior | Δ events | Users this wk | Users prior | Δ users |
|---|---|---|---|---|---|---|
| Like | 6,368 | 5,721 | +11.3% | 209 | 166 | +25.9% |
| Open post | 649 | 579 | +12.1% | 144 | 117 | +23.1% |
| Comment | 435 | 486 | -10.5% | 131 | 103 | +27.2% |
| Create post | 359 | 316 | +13.6% | 150 | 123 | +22.0% |
| Share | 19 | 70 | -72.9% | 13 | 16 | -18.8% |
| Repost | 17 | 33 | -48.5% | 7 | 15 | -53.3% |
| Follow group | 2 | — | n/a | 2 | — | n/a |
| Follow user | 1 | 3 | -66.7% | 1 | 3 | -66.7% |
Joins 141 → 320; leaves 2 → 6; net 139 → 314. Tab visitors 288 → 463; engaged inside groups 123 → 154; creates 14 → 16.
Community tab visitors by day
Joins vs leaves by day
Own-profile clicks vs visitor actions on someone else’s profile — same triggers as the Production dashboard.
Own-profile viewers 239 → 366; visitor-action users 127 → 155. Follows from profile 146 → 156 (visitor Follow taps in mix: 146 → 156). Messages 27 → 11.
Most clicked on own profile this week: Web card. Most clicked as a visitor: Gallery.
Own-profile clicks (top actions)
| Action | This week | Prior | Change |
|---|---|---|---|
| Web card | 185 | 151 | +22.5% |
| Repost | 92 | 64 | +43.8% |
| Add awards | 68 | 61 | +11.5% |
| Share | 61 | 63 | -3.2% |
| QR code | 51 | 43 | +18.6% |
| Feed | 44 | 35 | +25.7% |
| Add first service | 12 | 8 | +50.0% |
| Add service | 12 | 1 | +1100.0% |
| Click service | 11 | 18 | -38.9% |
| Become coach | 8 | 3 | +166.7% |
Visitor actions on others’ profiles
| Action | This week | Prior | Change |
|---|---|---|---|
| Gallery | 179 | 169 | +5.9% |
| Follow | 156 | 146 | +6.8% |
| Repost | 52 | 51 | +2.0% |
| Feed | 30 | 30 | 0.0% |
| Service | 12 | 13 | -7.7% |
| Message | 11 | 27 | -59.3% |
| Schedule | 2 | 6 | -66.7% |
| Location | 1 | — | n/a |
Created 3 → 8; give-ups 9 → 13; success rate 25.0% → 38.1%; joins 1 → 0.
Created vs give-up by day
Created 6 → 17; give-ups 0 → 0; success 100.0% → 100.0%; starts 9 → 25.
Created vs give-up by day
65 opens (+8.3%) from 65 people (was 60 / 60).
Shares and opens by content type
One row per type of link (post, group, workout, profile, …).
Shares = how many of that type were sent.
Opens = how many times someone opened that type.
Own-profile invites (profile_owner_share_profile) count as profile (not unknown) when they also create a share link.
Openers = how many people opened it.
New / Existing = were those people new to the app or already users.
Registered = new openers who finished signup within 7 days.
| Type | Shares wk | Shares prior | Opens wk | Opens prior | Openers wk | Openers prior | New wk | New prior | Existing wk | Existing prior | Registered wk | Registered prior |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| group_event | 19 | 13 | 32 | 8 | 32 | 8 | 15 | 3 | 17 | 5 | 1 | 0 |
| group | 32 | 28 | 13 | 7 | 13 | 7 | 9 | 4 | 4 | 3 | 0 | 0 |
| profile_owner_share | 66 | 71 | 8 | 11 | 8 | 11 | 7 | 7 | 1 | 4 | 1 | 1 |
| post | 22 | 66 | 3 | 11 | 3 | 11 | 1 | 0 | 2 | 11 | 0 | 0 |
| profile | 49 | 63 | 3 | 8 | 3 | 8 | 1 | 5 | 2 | 3 | 0 | 1 |
| service | — | 3 | — | 0 | — | 0 | — | 0 | — | 0 | — | 0 |
| workout | 1 | — | 0 | — | 0 | — | 0 | — | 0 | — | 0 | — |
In plain English: we put people into a group by the week (or day) they first opened the app. Then we ask: what % of that group came back later? Higher % = better. A 0% on a very new group usually means “too early to measure,” not “everyone left.”
That matches the headline number for week ending 2026-07-27: 10.4%.
Daily chart — how to read it
Each date = people who first opened that day. Green (day 1) = % who came back the next day. Red (day 7) = % who came back a week later. Recent days can look low on day 7 until a full week has passed — prefer finished days like 2026-07-23 (d1 29.3%, d7 12.2%). Across this chart, day 1 ran about 13.3%–31.9% and day 7 about 2.9%–14.7%.
Weekly table — how to read it
w1 (top row) = newest week of first opens. Rows go older as the number goes up (w2, w3, …). Columns w1 / w2 / w4… = “came back after 1 / 2 / 4 weeks.” 0% on the right usually means that week has not happened yet for that group. Focus on the first finished row with a real week-1 number (right now: — at —%).
| Cohort | Users | After 1 wk | After 2 wk | After 4 wk | After 8 wk | After 12 wk |
|---|