Focus: what improved vs what needs attention (current week vs prior week)
Current period: 10 Jul – 16 Jul 2026 · Comparison: 03 Jul – 09 Jul 2026
Report generated: 17 July 2026 · Source: PostHog live queries · Production (106150) · https://eu.posthog.com
Active users rose from 461 to 668 (+44.9%). New users: 279 → 394 (+41.2%). Returning users: 182 → 274 (+50.5%). Lowest day this period: 2026-07-12 with 159 daily actives (prior low: 68 on 2026-07-04).
| Segment | This week | Prior week | Change |
|---|---|---|---|
| New users (first active in range) | 394 | 279 | +41.2% |
| Returning users | 274 | 182 | +50.5% |
First-time onboarders only: SplashAnimationStarted with empty event user_id, and no prior PageFeed in the 180 days before that splash. OTP verified = LoginOtpSucceeded. Path window: 1 day from splash.
Finished (Let's go) 236 → 381 (+61.4%) — same count as funnel step 14 below. First-time splash starts: 425 → 580. Installs: 514 → 598.
57.9% of completers opened the app again (was 67.7%). Weakest day: 2026-07-15 — only 42.1% of completers that day came back (38 completers). Average return after 9.1h (was 13.7h) — faster return is good even when coverage fell.
Onboarding v2 funnel — this week vs prior week
First-time onboarders only: empty splash user_id + no prior PageFeed in 180 days. OTP = LoginOtpSucceeded. Each bar = users who reached that step and every prior step (within 1 day of splash).
Stage 1 (splash → OTP): 580 → 406 (70.0% conversion, 174 dropped). Biggest leak: SMS sent → OTP verified (78 users, 16.1%). Prior week conversion was 68.9% (biggest leak then: SMS sent → OTP verified, 70 / 19.3%).
| Transition | From | To | Dropped | Drop % |
|---|---|---|---|---|
| Splash started → Splash finished | 580 | 544 | 36 | 6.2% |
| Splash finished → Login screen | 544 | 537 | 7 | 1.3% |
| Login screen → SMS sent | 537 | 484 | 53 | 9.9% |
| SMS sent → OTP verified | 484 | 406 | 78 | 16.1% |
Stage 2 (OTP → Finished): 406 → 381 (93.8% conversion, 25 dropped). Biggest leak: Privacy policy → Name screen (17 users, 4.2%). OTP → Privacy this week: 406 → 406 (0 dropped). Prior week Stage 2 conversion was 80.5%; OTP → Privacy was 293 → 244 (−49). br/> Slowest median step this week: Login → OTP (0.35 min).
| Transition | From | To | Dropped | Drop % |
|---|---|---|---|---|
| OTP verified → Privacy policy | 406 | 406 | 0 | 0.0% |
| Privacy policy → Name screen | 406 | 389 | 17 | 4.2% |
| Name screen → Birthdate screen | 389 | 386 | 3 | 0.8% |
| Birthdate screen → Gender screen | 386 | 386 | 0 | 0.0% |
| Gender screen → Sports screen | 386 | 386 | 0 | 0.0% |
| Sports screen → Survey screen | 386 | 382 | 4 | 1.0% |
| Survey screen → Notifications screen | 382 | 381 | 1 | 0.3% |
| Notifications screen → Welcome screen | 381 | 381 | 0 | 0.0% |
| Welcome screen → Finished (Let's go) | 381 | 381 | 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.03 | 0.03 | 0.0% |
| Login → OTP | 0.35 | 0.43 | -18.6% |
| OTP → Privacy | 0.02 | 0.02 | 0.0% |
| Privacy → Name | 0.10 | 0.10 | 0.0% |
| Name → Birthdate | 0.20 | 0.20 | 0.0% |
| Birthdate → Gender | 0.23 | 0.22 | +4.5% |
| Gender → Sports | 0.03 | 0.03 | 0.0% |
| Sports → Survey | 0.33 | 0.35 | -5.7% |
| Survey → Notifications | 0.22 | 0.20 | +10.0% |
| Notifications → Welcome | 0.07 | 0.07 | 0.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 | 580 | 425 | +36.5% |
| 03 — Login screen | 537 | 411 | +30.7% |
| 05 — OTP verified | 406 | 293 | +38.6% |
| 14 — Finished (Let's go) | 381 | 236 | +61.4% |
Stage 1 — SMS sent → OTP verified (−78, 16.1%):
Of 484 users who got an SMS, only
406 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 (−53, 9.9%).
Stage 2 — Privacy → Name (−17, 4.2%): OTP → Privacy is 0 drop this week (406 → 406): once a first-time user accepts OTP, they land on Privacy. The next real leak is continuing past Privacy into Name (406 → 389). After Name, the rest of Stage 2 is tight through Finished (381). Prior week Stage 2 was weaker (80.5%), including OTP → Privacy 293 → 244 (−49).
Bottom line: first-time funnel volume grew (splash 425 → 580; finished 236 → 381). The main problem is still getting the OTP accepted; post-OTP onboarding conversion is strong this week (93.8%). Watch re-open coverage separately (67.7% → 57.9%).
Core engagement surface. KPIs match the Production Feed dashboard. Posts published = feed_post_create_post (confirm/publish button — post done), with field_filled for photo / video / location. App publishes may later be deleted, so totals can differ from the DB.
Visitors 464 → 678 (+46.1%); engaged users 150 → 249 (+66.0%); engagement rate 32.3% → 36.7%.
Likes: 1,796 → 4,342 events (96 → 166 users). Comments: 200 → 492 events (62 → 104 users). Post opens: 178 → 444 (66 → 116 users). Shares 24→19; reposts 62→87; follow-from-feed 10→23.
Publish confirms (feed_post_create_post): 149 → 278 (+86.6%) from
69 → 114 unique creators.
Negative actions (hide/report/unfollow): 2 → 2.
Composition (share of published posts with each field_filled attachment — a post can count in more than one):
photo 95 → 217 (63.8% → 78.1%);
video 51 → 90 (34.2% → 32.4%);
location 8 → 41 (5.4% → 14.7%);
no media 16 → 8 (10.7% → 2.9%).
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 | 4,342 | 1,796 | +141.8% | 166 | 96 | +72.9% |
| Comment | 492 | 200 | +146.0% | 104 | 62 | +67.7% |
| Open post | 444 | 178 | +149.4% | 116 | 66 | +75.8% |
| Create post | 278 | 149 | +86.6% | 114 | 69 | +65.2% |
| Repost | 87 | 62 | +40.3% | 28 | 17 | +64.7% |
| Follow user | 23 | 10 | +130.0% | 13 | 9 | +44.4% |
| Share | 19 | 24 | -20.8% | 13 | 10 | +30.0% |
Joins 188 → 263; leaves 1 → 2; net 187 → 261. Tab visitors 240 → 387; engaged inside groups 82 → 125; creates 2 → 5.
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 168 → 274; visitor-action users 83 → 138. Follows from profile 88 → 145 (visitor Follow taps in mix: 88 → 145). Messages 7 → 20.
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 | 128 | 117 | +9.4% |
| Repost | 98 | 28 | +250.0% |
| Feed | 63 | 14 | +350.0% |
| Add awards | 56 | 31 | +80.6% |
| Share | 33 | 15 | +120.0% |
| QR code | 32 | 19 | +68.4% |
| Click service | 32 | 28 | +14.3% |
| Schedule | 13 | 15 | -13.3% |
| Add first service | 9 | 10 | -10.0% |
| Add certifications | 6 | 5 | +20.0% |
Visitor actions on others’ profiles
| Action | This week | Prior | Change |
|---|---|---|---|
| Gallery | 173 | 69 | +150.7% |
| Follow | 145 | 88 | +64.8% |
| Repost | 86 | 22 | +290.9% |
| Feed | 45 | 18 | +150.0% |
| Service | 24 | 34 | -29.4% |
| Message | 20 | 7 | +185.7% |
| Schedule | 7 | 3 | +133.3% |
| Location | 5 | 5 | 0.0% |
| Work experience | 3 | 1 | +200.0% |
| Certifications | 1 | 1 | 0.0% |
Created 14 → 8; give-ups 4 → 8; success rate 73.3% → 50.0%; joins 7 → 2.
Created vs give-up by day
Created 14 → 8; give-ups 0 → 0; success 100.0% → 100.0%; starts 18 → 19.
Created vs give-up by day
34 opens (+30.8%) from 34 people (was 26 / 26).
Shares and opens by content type
One row per type of link (post, group, workout, …). Shares = how many of that type were sent. Opens = how many times someone opened that type. 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 | 12 | 9 | 5 | 9 | 5 | 3 | 1 | 6 | 4 | 0 | 0 |
| unknown | 68 | 31 | 7 | 1 | 7 | 1 | 3 | 0 | 4 | 1 | 0 | 0 |
| post | 38 | 29 | 6 | 9 | 6 | 9 | 0 | 0 | 6 | 9 | 0 | 0 |
| group | 16 | 21 | 5 | 3 | 5 | 3 | 1 | 1 | 4 | 2 | 0 | 0 |
| workout | 3 | 6 | 4 | 2 | 4 | 2 | 1 | 0 | 3 | 2 | 0 | 0 |
| service | 1 | — | 1 | — | 1 | — | 0 | — | 1 | — | 0 | — |
| profile | 5 | 7 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 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.”
The last finished weekly group (w2, 373 people who first opened the app that week) came back at 31.1% one week later. That matches the headline number for week ending 2026-07-06: 31.1%. Vs the week before (w3 at 42.9%), that is down (-11.8 points). The newest group (w1, 183 people) still shows 0% — that is normal: not enough time has passed for a “came back after 1 week” number.
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-06 (d1 20.0%, d7 6.7%). Across this chart, day 1 ran about 10.0%–37.1% and day 7 about 6.7%–20.0%.
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: w2 at 31.1%).
| Cohort | Users | After 1 wk | After 2 wk | After 4 wk | After 8 wk | After 12 wk |
|---|---|---|---|---|---|---|
| w1 | 183 | 0.0% | 0.0% | 0.0% | 0.0% | 0.0% |
| w2 | 373 | 31.1% | 0.0% | 0.0% | 0.0% | 0.0% |
| w3 | 91 | 42.9% | 22.0% | 0.0% | 0.0% | 0.0% |
| w4 | 172 | 37.2% | 26.2% | 0.0% | 0.0% | 0.0% |
| w5 | 59 | 20.3% | 23.7% | 10.2% | 0.0% | 0.0% |
| w6 | 54 | 50.0% | 27.8% | 25.9% | 0.0% | 0.0% |
| w7 | 38 | 34.2% | 28.9% | 13.2% | 0.0% | 0.0% |
| w8 | 38 | 52.6% | 34.2% | 31.6% | 0.0% | 0.0% |