Arccos Edge · product telemetry · 4 Jun – 27 Jul 2026

What people find, what they use, and what nobody has ever seen

Every Edge surface fires an impression event when it scrolls into view, so three states are computable per user: never seen, seen but not used, and used. Across all 13 surfaces the shape is the same: discovery, not interest, is the constraint — though on the full history the cliff is much shallower than the first 3-day snapshot implied. Six-view marketing dashboard ↗

Edge users in window
108,028
Full history: Statsig recovery (4 Jun on) completed through 27 Jul
Instrumented events
183
From source; 171 seen live, 4 have never fired once
Reach, front door
99.3%
Player home — nearly everyone passes the front door eventually
Reach, one level in
22.0%
Ever opened a course page, where the AI insights live — 2.9% in the first 3-day snapshot, so window length was most of the cliff

The discovery map

Blue is how many reached a surface at all; orange is the subset who acted on it — so orange always sits inside blue. The gap between them is a persuasion problem; the gap out to the rim is a navigation problem, and it is far larger. Click any spoke to open the individual events inside it, or switch to a canary account to see one person's map.

View
Discovered Used

Select a surface

Click a spoke on the radar to open its own chart of the sub-facets inside it.

How it is evolving

Daily users reached per surface, 7-day rolling mean — the smoothing matters, because a golf app has strong weekend seasonality that otherwise swamps the trend. Indexed from 21 June, the first point clear of the rollout ramp. Recovered from Statsig for the window Snowplow dropped.

reached acted sorted by change · 21 Jun → 22 Jul

Player Home is a lower bound before 23 July: Statsig captures ~78% of its entry impressions (verified against Snowplow on the overlap days). The bias is constant across the series, so the shape holds even though the level is understated.

The front door is growing

Player Home +24%, Round Story +11%. More people are arriving and reaching the first screen than a month ago.

Depth is being abandoned

Practice AI −54%, Club Compare AI −52%, Goals −52%, Course Insights −38%. Every AI surface is shrinking while the audience grows.

Net: flat, and hollowing

Summed across surfaces the total moved +2% — so this is not a traffic problem. The same-sized audience is going less deep.

The discovery cliff is steepening, which makes the re-engagement case more urgent than a static snapshot suggests.

Three failure modes, three different fixes

Discovery rate and use-once-discovered are independent. Which quadrant a feature sits in decides whether email can help it at all.

Dark · zero discovery

Tour Fitting — fully built and instrumented, not one event in three days. Round Replay — 6 users.

Check the Statsig gate before writing any copy. This is a release question, not a marketing one.

Hidden · buried but wanted

Course detail and its AI insights — only 2.9% get there, but essentially everyone who opens a course sees the insights card and 32% press Generate, waiting ~18s.

Email works here. Deep-link past the navigation, straight to a course.

Seen and skipped

Player home — 84.9% reach it, 9.4% act. The stats get read, not tapped.

Email won't fix this. It is a value-proposition problem in the UI.

Healthy

Round Story — 30.0% reach it, 24.6% act: an 82% conversion once found.

Protect it, and copy its entry point for everything else.

Every surface, ranked by reach

Act rate = share of those who reached a surface and went on to act on it. Reached counts anyone who fired any event there, so acted is always a subset.

SurfaceReachedActedReachAct rateState

Why only three days exist

Not retention, and not the bridge going live. Seven weeks of Edge telemetry were emitted and thrown away — and the backup source cannot recover it.

3 Jun → 23 Jul · dropped

The iOS bridge shipped 3 June and emitted edge_event from day one. No Iglu registry existed for com.arccosgolf, so enrichment could not resolve the schema and failed every event.

The registry PR says it outright: "Prod iOS already fires edge_event ~280k/day; all are dropped."

Not recoverable from Snowplow

Failed events go to a Kinesis stream with 24-hour retention and no consumer — write is granted, nothing reads. Roughly 14M events aged out.

Give that stream a sink or a longer window so the next schema mistake is replayable.

Not recoverable from Statsig · tested

Every event also goes to Statsig, so this looked like the backfill route. It isn't. /console/v1/events returns a ~300-event live tail, time filters are ignored, and there is no export endpoint.

Only Statsig support could retrieve it server-side. Worth one email; don't plan around it.

What to do instead

Volume is at steady state, ~52k users/day. The window grows on its own: a full 30-day rolling view by late August.

Define adoption on a rolling window now; treat lifetime "never used" as unavailable until then.

First rows land 23 Jul at 15:00 UTC — zero at 14:00, 30,452 at 15:00 — a clean switch-flip when the enricher was redeployed against the new resolver, two weeks after the registry was created on 9 Jul.

Email flows that follow from this

Each flow triggers on a per-user state in the adoption model, not a blast. The states are the same three the radar uses, so the audience is computable the day the model ships.

  1. The unopened door

    Eligible for a surface — has the rounds, has the course history — and its impression event has never fired. One feature per send, deep-linked past the navigation.

    eligible = true · discovered = false · deep link → the specific course or club
  2. Saw it, didn't bite

    Impression fired, no action. Don't reintroduce the feature — show the payoff, using the person's own data in the subject line: their worst hole, their gap wedge.

    discovered = true · used = false · cooldown ≥ 14d after impression
  3. Your map is 3 of 13

    A personal version of this radar, mailed monthly. It exploits completionism and makes the hidden surfaces legible without naming each one.

    monthly · rendered from the per-user feature-state matrix
  4. New since you last looked

    Ship-date aware. Someone active before a feature shipped, who has never seen it, gets a genuine "new" claim. Everyone else gets the discovery flow, so the claim stays honest.

    first_seen_app < feature_ship_date · discovered = false
  5. Depth ladder

    Used the summary, never went deeper. 55.8k see Player home; 3.9k reach a facet page. The largest addressable pool on the map.

    player_main discovered · facet pages never discovered

How the feature registry is derived

Reproducible, and it survives the web team shipping features without an app release.

1. Source is the registry. ANALYTICS_EVENT_NAMES in statsig.client.ts is the authoritative list — 183 events. This matters: a feature with zero usage produces zero warehouse rows, so a warehouse-only inventory can never see the dark ones. Tour Fitting is invisible in Snowflake and obvious in source.

2. The suffix convention splits the ladder — with one exception. _viewed is an IntersectionObserver impression at 50% visibility. _tapped, _applied, _generated, _shared, _feedback are deliberate acts. _load_time is normally telemetry — except on a click-gated feature, where it is the only evidence a user asked for something. Classify by whether the surface auto-loads or waits for a press.

3. Feature stems group the events. Strip the action suffix and course_detail_insights_viewed and …_regenerate_tapped collapse to one feature with two states.

4. Eligibility masks the denominator. Someone with no rounds cannot discover Round Story. Until eligibility is modelled, every number here understates reach among people who could actually get there.

Source: DATA_LAKE.SNOWPLOW.EVENTS, Iglu schema com.arccosgolf/edge_event/1-0-0, 4 Jun – 27 Jul 2026, authenticated users only; pre-23 Jul recovered from Statsig Logs Explorer (within ~1% of Snowplow on overlap days, except three Player Home entry impressions captured at ~78–80%, so Player Home is a slight lower bound).