Demand Hidden by Design

Product strategy from user data · August 2026

Demand Hidden by Design

What 74,613 accounts reveal about reachability, friction, and the next AstroMatrix product.

Three findings that change the roadmap

Executive summary

0Relationship is reachable and never offered

Synastry is 23% of chart views and relationship material ~17% of all interpretation reading. 22.9% of accounts find the screen — a Home button and the Matrix switch. But it has zero contextual links: nothing in the app ever offers it at a moment of intent, which is why 63% open it once or twice and stop.

15,205Large collections are an unserved operator workflow

Accounts holding 8+ charts read 0.1–0.5 interpretations per chart. They are not content customers who lapsed — 97.9% were seen inside three months. They are running a workspace the product does not provide.

2.7%New users reach Home, not astrology

In their first three visits, 37.8% of a newcomer's activity is the home screen and 2.7% is an actual interpretation. 29.2% of those who stall never see a second screen.

AstroMatrix's biggest opportunities are not primarily missing features. They are places where demonstrated demand is obscured by navigation, operational friction, or surfaces that fail to deliver the value already inside the product.

The strongest examples are relationship astrology, chart management, first-session personalisation, and several finished features users can barely reach.

The governing principle

Usage measures our design, not their appetite. A low number tells us a feature went unused; it cannot tell us whether it was unwanted or simply unreachable — and in this product it has repeatedly turned out to be the second.

Progressed charts sit under 0.4% of reading with no route of their own and ninth position in a ten-item selector. Relocation is behind a disabled flag. The weekly timeline and the synastry wheel have no entry point at all. None of these has ever had a fair test. Treat every low number as a hypothesis about the interface until it has been given one.

Friction fingerprints

Movement is not engagement

Four patterns in the data indicate confusion rather than disinterest. The first is the largest single problem found in this review; the last corrects an assumption made earlier in it.

Some of what looks like disengagement is repeated task failure.

5,090 accounts opened six or more screens and never read a single interpretation, averaging fifteen visits. A further 11,112 opened six or more and read three or fewer — 16,202 in total who explored broadly and consumed almost nothing.

People who return fifteen times and open six screens are not uninterested. They are trying to accomplish something and failing to reach it. Read alongside where support contact concentrates, that reframes a share of our engagement problem as an operational one: usage being consumed by tasks that do not complete.

Movement is not engagement

Opening six screens across fifteen visits scores as high engagement on any conventional measure. In this cohort it means the opposite: repeated unsuccessful search. Any metric counting screens or sessions without checking whether the primary value was reached will read this population as thriving.

It is the behavioural counterpart of the governing principle. Usage measures our design; movement measures our navigation. Neither measures satisfaction.

Support contact is caused by chart management, not by content. Comparing accounts that reached the support screen against everyone else, the lift is entirely on the people-and-data screens:

ScreenSupport usersEveryone elseLift
edituser19.7%4.6%4.33
login5.9%1.9%3.17
chartpickuser82.6%38.7%2.13
profiles (add person)22.6%11.2%2.01
component72.2%61.0%1.18
matrix43.8%37.9%1.16

And they are not struggling beginners. Support users average 60 visits, 9.3 screens and 7.7 charts against 27, 5.6 and 5.1 for everyone else. The people writing in are the engaged ones with collections to manage — which is the operator workflow again, arriving through the support inbox.

The same pattern shows in birth-data churn: 355 accounts have opened the edit screen three or more times, they hold 7.3 charts against a fleet average of 5.1, and 12.1% of them contacted support — 5.8× the base rate. Repeatedly correcting birth data is a reliable precursor to writing in.

A metric worth naming: the gateway ratio. Opens of an index divided by opens of the thing behind it. Above 1 the screen is a corridor; below 1 it is handing off. It is comparable across screens and before and after a change, which makes it the natural measure for any of the navigation work here.

Gateway → destinationGateway ratioAccounts above 2×Reads as
tarot → reading2.6755.2%Corridor
journal → report2.0044.8%Corridor
home → component1.0015.6%Even
chartpickuser → chartview0.674.5%Converts
facets → component0.505.5%Converts
matrix → component0.441.6%Converts
SurfaceDiagnosis
MatrixFundamentally working — leave the hierarchy alone
RelationshipUnder-surfaced
Chart managementHigh-friction
Tarot / JournalUnnecessary hallway before value
HomeWeak first-value delivery, not bad navigation

That distinction is worth holding onto: without it, months could go into simplifying a hierarchy that is already doing its job.

The Matrix hierarchy works, and an earlier draft of this review implied otherwise. People open the Matrix and its facets roughly half as often as they open the interpretation behind them — the index is doing its job and handing off. The same is true of the chart picker. Whatever is wrong with the newcomer experience, it is not that the Matrix fails to convert.

Tarot and journal are the genuine corridors: 2.67 and 2.00 openings per thing reached, with more than half and nearly half of accounts respectively above a 2× ratio.

One anomaly worth a look: the password-reset screen appears for exactly one account in the entire tracked base, while the change-password screen appears for 65. A genuinely unused recovery flow is implausible at this scale — far likelier that it is unreachable, untracked, or handled outside the app. Worth confirming, since a broken reset path produces churn that is invisible in every metric here.

Meaning, relevance, application

Design rule

Every astrology experience needs to answer three questions, and the product currently answers one and a half of them.

Orientation
What does this mean?Explanation, in plain language, for someone without the vocabulary.
Navigation
What matters to me?Relevance and ranking — not more material, less of it, better chosen.
Integration
What do I do with it?Somewhere to put what was read: practice, reflection, a record, a person to send it to.
Saturn conjunct MoonWhat the product should say
OrientationSaturn meeting your Moon can intensify emotional responsibility.
NavigationThis is one of your strongest transits this month.
IntegrationReflect on where you are carrying emotional responsibility that no longer belongs to you.

The integration layer is already half-built.

Every interpretation carries three fields — concept, opportunity and pattern — and the component screen already renders all three. “Opportunity” is the application field. What this document has been calling a missing layer largely exists in the content model; it is presented as a third block of prose beside the other two, so it reads as filler rather than as the thing to do about this.

That makes integration far cheaper than it first appears — a presentation change, not a writing project — and it resolves into a UI rule:

ConceptUnderstand
PatternRecognise
OpportunityAct

The three needs map onto who has them. Orientation serves the 40.8% who visit less than monthly and the newcomers. Navigation serves the 46.8% in the middle. Integration serves the 12.4% who come weekly or more — which is why interest in practice tracks frequency (9.0% and 7.1% among frequent users against 2.9% and 2.7% among rare) rather than any particular mode.

Expectation against behaviour

Where each gap sits

The quickest way to locate a gap: ask what someone of that type would naturally go looking for, then set it against what they actually do. The difference tells you which of the three is missing.

ModeWould normally look upWhat the numbers showGap
Newcomer“What does my chart say about me?”37.8% of first-visit activity on home, 2.7% on an interpretationOrientation
Self-explorerPlacements and aspects — then what's comingInterpretations 88%, but progressed under 0.4%Navigation
Chart operatorA client's chart, their transits, what was said last timeChart views 100%, 0.1–0.5 readings per chart, no notes existIntegration
RelationshipThe two charts overlaid, the composite, the frictionSynastry 23% of chart views — wheel has no routeNavigation
TimingWhat's active, is the moon void, which hour suits thisDaily 95%, but moon and calendars bounce inside ten seconds half the timeOrientation Integration
TarotA draw, and somewhere to put what it stirredThe reading holds 71 seconds; the entry loses 43% inside tenNavigation

There is no row where the thing does not exist. The failures cluster by mode rather than by feature — which is exactly why sectionalising is the right instrument and a bigger menu is not.

Relationship is already the second product

Priority one

Relationship is found, used, and never offered.

Synastry is 23% of chart views and relationship material ~17% of interpretation reading, with Synastry Aspects the fourth-largest content category. 22.9% of accounts have opened the relationship screen — those figures agree, and an earlier draft here wrongly set the 23% against a 3% “dominant mode” figure to claim a six-fold gap. The real finding is narrower and more actionable: the screen has two links in and neither carries any state. Nothing that happens in the app produces the thought look at this relationship now.

The first experiments are cheap, because adding a person is the strongest predictor in the dataset: accounts that reach the add-person screen go on to do a relationship reading at 59.7% against 18.1%, and reach peaks at exactly two charts.

Partner added → offer the comparison immediately → persistent “You + Sarah” context → synastry, composite, and current transits to the relationship. That is a redesign of the second-person flow rather than a new feature, and 1,846 two-chart accounts have added someone and never read anything.

Relationship Explorer

The larger opportunity

7,041 accounts hold eight or more charts and have never once compared any of them — and comparison gets rarer as collections grow, from 77% never at four charts to 86% never above fifty.

Sixteen charts is a hundred and twenty possible pairings. Asking someone to pick one is not a navigation problem, it is a discovery problem, and the answer is for the product to do the choosing:

“Three relationships stand out in your charts.”

For a first version, four rankings the engine can defend: strongest overall synastry · most supportive · most challenging · most currently activated. Richer framings — karmic, attraction, communication — imply scoring methodology we have not built; add them once people use the first four.

One engineering constraint to scope early: ranking pairings is O(n²) in chart count — 120 pairs at sixteen charts, but 79,800 at four hundred. The feature almost certainly needs a cheap pre-filter (a handful of cross-aspect orbs) before any full synastry computation, and a cap on collection size for the first version.

Two jobs, not two user types

Meaning & management

The chart-count paradox resolves once you stop assuming everyone opened the app for the same reason. These are jobs, not identities — a practitioner reads deeply sometimes, a self-explorer accumulates ten family charts. The same account moves between them, which is why the product should adapt to the job in front of it rather than classify the person permanently.

The meaning jobThe management job
“Help me understand this chart.”“Help me manage these people, and tell me when something matters.”
2–3 charts, 5.61 interpretations per chart, returns weekly or daily8.4 charts, 0.1–0.5 per chart, returns about 0.6 times a month
Matrix, facets, journal, reportsSearchable people list, pinning, last viewed, notes, session history, transit alerts, upcoming dates, export, sharing

Fifteen thousand accounts are doing the management job with only the meaning job's tools. The content gate makes the mismatch concrete: five interpretations per session is one client reading.

The move that changes the economics is transit alerts across saved people. Today forty stored charts are forty items buried in a picker. With alerts they could become forty recurring reasons to open the app — “Mars squares Emma's natal Moon tomorrow.”

Separating the evidence from the bet. The data supports: large collections correlate with lower return frequency, and those accounts have mostly not churned. It does not support the claim that alerts will reverse that relationship.

The honest formulation: transit alerts are the most credible mechanism identified for making a larger chart collection create more reasons to return rather than more management burden. Whether that changes return frequency remains an experiment.

Home already holds the answer, in the wrong order

Newcomers · 44% of the base

Two explanations are ruled out. Not the paywall — the median account views four interpretations in its life and the gate fires at five in a session. Not setup burden — accounts that stalled hold 5.2 charts against 6.3 for engaged ones. They entered birth data, added people, and did not come back.

And not an empty screen. Home renders eight panels of real astrological content, each tapping through to an interpretation. Three of its four groupings are time-based — what is moving today, the current journey, important events. But the fourth, Core Themes, is natal: the birth chart's most significant placements, drawn from a different filter, cached separately, and ordered last.

So the screen already contains something that answers “what does my chart say about me?” — it is simply placed fourth, behind three panels about a sky the newcomer has no reason to care about yet.

Lead with identity for the first three sessions. Lead with the sky after that.

A newcomer sees Core Themes first: what is constant in your chart. From the fourth session on, the current map returns to the top and identity drops back down. Same screen, same panels, same content pipeline — a reorder, not a redesign.

The session counter already exists and is already banded at 1 / 4 / 10 by the content gate, so there is no new state to introduce. And because the natal panel is cached independently of the daily forecast, it can paint before the current map resolves — making a newcomer's first screen faster as well as more relevant.

This also settles where a long-form personal synthesis belongs. Not here: Home's median dwell is 20 seconds, and a 200-word essay is the same failure as a wall of category labels, just better written. It belongs as the interpretation behind the top Core Theme, where dwell is 44 seconds and the surface supports a real read.

Two supporting fixes: the onboarding wizard exists and reaches 1.4% of the people who stall — a defect to investigate before it is a feature to design. And nothing should promote tarot, reports, calendars or moon at this stage; appetite for all four sits at 0.10–0.33 of baseline.

Still unanswered: we cannot say why they leave. The analytics hold counts and averages with no ordering or exit events, so “bounced in ten seconds” and “read for four minutes and never returned” are indistinguishable. An ordered first-session trail, or asking twenty of them, settles it cheaply. We have never asked.

What this means in the app we already have

Screen level

Nothing here proposes rebuilding. Reading the current screens against the findings, most of what is needed is presentation of things that already exist. Graded by size of change across eight screens:

ChangeCountExamples
Copy only5Panel titles that say why rather than what; chart-type labels; naming the picker's mode
New content in an existing slot5A lead statement above Home's panels; a generate action in the Reports tab; tarot → chart link
Reorder or change a default8Facet sort by significance; picker recency; the chart-type selector; component bottom bar
Contextual hint1One line explaining what a life area covers
Genuinely new screen1The per-person workspace for operators — notes, last seen, session history

The integration layer is already half-built.

Every interpretation in the product carries three fields: concept, opportunity and pattern — and the component screen already renders all three. “Opportunity” is the application field. The layer we have described as missing largely exists in the content model; it is presented as a third block of prose beside the other two, so it reads as filler rather than as the thing to do about this.

That makes integration substantially cheaper than this document has been implying. For interpretation content it is a presentation change, not a writing project.

Two corrections that came from reading the screens rather than the data:

Home is not a menu, and it is not purely a current map. It renders eight panels of real content, and its fourth grouping — Core Themes — is drawn from natal rather than transit data. An earlier draft here recommended “put content on Home,” written without opening the file. The content is there, including the identity content; it is ordered last. That is a reorder, not a redesign.

The astrology-linked tarot is not a feature to build — it is a feature to surface. Component-to-spread matching is implemented, the reading opens pre-loaded with the placement as its question, and the content library holds 130 spreads, all active, around 117 of them named for specific transits. Yet of 20,000 sampled readings, only 1.9% ask an astrological question at all. The most common questions in the product are “How does my lover feel today?” and “What does my lover think about me?” — generic fortune-telling that any tarot app can answer. The one genuinely defensible thing here is built, populated, and almost nobody arrives through it. The link is one of seven equal actions on a bottom bar, and the tarot page opens with a free-text box that invites exactly the generic question people type.

Three of Home's six buttons pass context; three pass nothing. Birth Report, Weekly and Monthly arrive at the Matrix already filtered by category. Tarot Reading, Love Match and Reflections pass no parameters at all — and those are precisely the three features with usage problems. Love Match arrives at a relationship screen with no pair chosen; Reflections at a meditation configuration screen; Tarot at an empty question box. This is the smallest, most repeatable change in the review.

Screen-by-screen detail — what each of the eight screens renders today, what the data says happens on it, and the specific change — is in docs/product/screen-interventions.md in the server repository.

What each mode gets

Ship · learn · avoid

The roadmap above ordered by value across the product. This is the same work arranged by who it serves, with the friction findings folded in. Ship is backed by evidence in hand. Learn is where a decision is blocked on a measurement. Avoid is where the data argues against an intuitive move.

Relationship ~17% of content read · 23% of chart views · 3% of accounts by screen

The widest gap between demand and design in the product.

Ship

One contextual link at the moment of intent

Reaching the add-person screen predicts a relationship reading at 59.7% against 18.1% — and there is no link there. profiles has four contextual links pointing in and none pointing out. Highest demand-to-effort ratio in the review.

Ship

Prompt the moment a partner is saved

Reaching the add-person screen predicts a reading at 59.7% against 18.1%. 1,846 two-chart accounts added someone and read nothing.

Ship

Give composite its own surface

~7% of interpretation reading and absent from the old data entirely. It currently rides behind synastry with no entry of its own.

Learn

Which pairing, out of a hundred and twenty

7,041 accounts hold 8+ charts and have never compared any. Prototype “three relationships stand out” before committing to the full explorer — and cap collection size, since ranking is O(n²).

Avoid

Designing only for two charts

Reach peaks at exactly two and falls away above eleven. That shape is the feature's limit, not the audience's.

Chart operator 15,205 accounts · 8.4 charts · ~0.6 visits a month

Not lapsed — 97.9% seen within three months. And now identified as the source of most support contact.

Ship

Transit alerts across saved people

The only re-entry reason that scales with collection size. Forecast data runs to end of 2026; delivery already works.

Ship

Fix chart management before anything else

Support contact lifts 4.33× on the edit screen, 3.17× on login and 2.13× on the picker — while content screens sit at 1.16–1.18. The friction generating support tickets is entirely here. Recency, pinning, search, and a birth-data entry flow that does not need three attempts.

Learn

Do they want interpretations at all?

0.10 readings per chart above fifty charts. They may want calculation and storage, in which case the content model and its per-session gate are the wrong product for them. Ask twenty before building either way.

Avoid

Pushing Matrix, journal or tarot

All three below their own baseline. And five interpretations per session is one client reading.

Newcomer 33,159 accounts · 44% of the base

Ruled out: the paywall (median four interpretations a lifetime, gate at five per session) and setup burden (stalled accounts hold 5.2 charts against 6.3 for engaged ones).

Ship

Home answers “what does my chart say about me?”

Not a link — the interpretation itself. 37.8% of first-visit activity is home; 2.7% is content. This replaces a menu with what the menu points at.

Ship

Rescue the 5,090 tourists

Five thousand accounts opened six or more screens and read nothing, at fifteen visits each. They are searching. Any screen they land on repeatedly should offer content, not another set of choices.

Learn

Check the pre-auth funnel in Grafana

Stats only write once a profile resolves, so login, register and password-reset are invisible here — the 1,447 login accounts are survivors. Grafana counters fire regardless: compare usage_login_total_count against what 1,447 accounts should produce. A loop would show there and nowhere else.

Learn

Record the first session in order, and ask twenty people

“Bounced in ten seconds” and “read for four minutes and never returned” are opposite problems and currently indistinguishable. We have never asked.

Avoid

Adding steps, or promoting breadth

They already hold 5.2 charts. Appetite for tarot, reports, calendars and moon sits at 0.10–0.33 of baseline. Breadth is what maturity looks like, not what causes it.

Self-explorer 10,831 accounts · 5.61 interpretations per chart

The deepest readers, and 95.9% of everyone who has viewed a report. The Matrix hierarchy already converts for them — index-to-content ratios of 0.44 and 0.50.

Ship

Offer the report from inside the Matrix

They are the report audience, and reports are generated in four screens but retrievable only through the journal — which is itself a corridor, opened twice for every report reached.

Ship

Seed the journal from what was just read

Journal separates this mode's thriving quarter from its struggling one, 39% against 71%. A prompt carrying the interpretation across, not a blank page.

Ship

Give progressed and draconic their fair test here

Progressed is under 0.4% of reading with no route of its own and ninth place in a ten-item selector. Draconic outperforms it sixfold with no surfacing at all. Test with the audience that reads most deeply before concluding anything about demand.

Learn

Put a mode label on the content counter

We know relationship material is ~17% of reading; we cannot say who reads it. One label on component_category joins the content axis to the user axis.

Avoid

More charts, or tarot

People-management sits below fleet average for this mode and it reaches tarot least of any group. They hold 3.2 charts by choice.

Timing 8,946 accounts · transit is the largest content family at 40%

Wants to know when. The answer is currently spread across screens they have to go and find.

Ship

Move void-of-course and planetary hours onto the daily screen

Both already built inside Calendars; void-of-course already sits on the daily panel as a link out. 77.8% of the addressable audience is already on that screen, and it is where notifications land.

Ship

Practice attached to the moment

“Full moon tonight — three-minute reset.” Interest in practice tracks frequency (9.0% and 7.1% against 2.9% and 2.7%), and this is the most frequent mode.

Learn

Which calendar tab carries the interest

Six tabs collapsed into one key until this month. Now instrumented; a fortnight settles it.

Avoid

Driving traffic to moon and calendars

47% and 53% of visits end inside ten seconds. Reach doubled last quarter with no gain in depth. Move the content out; do not push more people in.

Tarot 4,317 accounts · the most engaged group in the app

Owns 59% of the tarot audience and 72% of readings. The entry screen is the worst corridor in the product.

Ship

Shorten the corridor

The tarot entry is opened 2.67 times for every reading reached — 55.2% of accounts are above a 2× ratio, the worst in the product. The reading itself holds people for 71 seconds. The room works; the hallway is too long.

Ship

Read the draw against their chart

“This card echoes the Uranus opposition currently active in your chart.” Their thriving quarter differs from their struggling one on facets (36% to 79%) and chart views (47% to 82%). The join is the thing a generic tarot app cannot copy.

Avoid

Bundling tarot with timing

Within engagement bands tarot and moon co-occur at 0.60 — below chance. Cards and calendars are different people.

The order I would build in

By certainty, not rank

Fix measurable failure before optimising engagement

Support contact lifts 4.33× on the edit screen, 3.17× on login and 2.13× on the picker, while content screens sit at 1.16–1.18. Before trying to move operator accounts from 0.6 visits a month to three, birth-data editing, login recovery, chart selection and adding people all have to reliably succeed.

Otherwise successful re-engagement simply exposes people to the same operational failures more often. The two navigation defects on that path are already written up as engineering issues.

Now

Demonstrated demand or measurable failure. Mostly already built.

  • One contextual link: add-person → the reading 59.7% vs 18.1%
  • Give Love Match, Tarot and Reflections a query, like their three neighbours 3 lines
  • Home leads with a personal statement 44% of the base
  • Chart-management friction: editing, login recovery, picker scale where support comes from
  • Shorten the tarot corridor gateway ratio 2.67
  • Show the matched spread on arrival instead of an empty box context passed, then discarded

Bet

Well-argued, mechanism unproven. Ship as experiments with a measure attached.

  • Transit alerts across saved people mechanism, not outcome
  • Relationship Explorer for collections 7,041 accounts · O(n²) to scope
  • Contextual practices replacing standalone meditation 0 of 2,103 ever returned six times

What I would not do yet is a large navigation redesign. The Matrix hierarchy converts at a gateway ratio of 0.44; once the product surfaces the right thing for the right job, much of the menu structure stops carrying weight. Fix the surfacing first, then re-measure what the menu is still doing.

Underneath all of it the strategic order is simply:

  1. Remove failure. Tasks that do not complete are consuming usage that would otherwise look like engagement.
  2. Surface demonstrated demand. Relationship above all — people are already trying to reach it.
  3. Deliver meaning faster. Lead with the statement, not the taxonomy.
  4. Build recurring reasons to return. Alerts tied to the sky, not to us.
  5. Test genuinely new surfaces. Explorer, linked tarot, contextual practice.

The evidence underneath

Supporting data

The finding that framed earlier drafts of this review, now supporting rather than leading: engagement runs backwards against investment. Chart count falls monotonically as return frequency rises.

Return rateShare of baseAccountsCharts
< 1 / monthdormant25,0888.0
1–4 / monthmonthly18,7906.0
4–12 / monthweekly9,9413.3
12–30 / month2–3× a week5,1082.1
30+ / monthdaily2,5352.0

They have not churned. Splitting the large-collection accounts by last-seen date, 97.9% opened the app within three months and only 87 accounts have been away longer than ninety days. This is a once-a-month rhythm, not an exodus — which is why the answer is a product change rather than a win-back campaign.

Chart views by type

Birth 29% Synastry 23% Transit 21% 11%
Current Planets 11% Lunar Return 5% Solar Return, Composite, Draconic, Progressed, Relocation — ~11%

Interpretations read, by family

Transit 40% Natal 31% Relationship 17% Other
Draconic 2.5%Progressed under 0.4%Planetary Hours excluded — a home-screen widget, it counts page loads not choices
Link map — not visible vs not clickedlinkscontextualreach
chartpickuser11539.6%
tarot7215.7%
chartdaily6053.3%
facets4248.2%
profiles (add person)4411.5%
moon3015.2%
relationshipfacets2022.9%
guide201.4%
harmonizer102.8%
messages000.0%

Reach tracks contextual links, not total links. chartdaily has the most ways in of any screen and not one of them carries a reason — consistent with 40% never returning to it. profiles has four links, all contextual. relationshipfacets sits in the healthy band on reach with zero context.

Genuinely not visible: harmonizer (one link) and messages (none). Everything else is linked and under-contextualised.

iv>