Both ends of the retention stack: the engine that watches and decides, and the surfaces your customers actually see. Checkout in early access closes the loop.
So you wire up four vendors, skip the fifth because it doesn't exist at any price, and your customers are gone by day three anyway.
No service worker means no install prompt, no offline, no push. Chrome blocks Add to Home Screen silently if it's missing.
VAPID keys, subscription churn, payload encryption, token rotation, iOS quirks. It sends what you tell it, and assumes you know what to send.
Shows you the curve dying, in beautiful detail. Does nothing about it.
Built for marketing departments. Needs staff to operate. Won't return your email.
Which segment of your customers actually sticks, and should you go buy more of them? No tool answers this.
Don't design a habit loop. Pick one that already works.
Every business that installs Retain teaches the network which play saves which kind of user in which kind of business. Business number 1,001 inherits all of it on day zero, with no data of its own.
Finished components, not a design task: the hook card, the streak badge, the progress mirror. One accent colour makes it yours. A polished card says "real product", a homemade toast says "side project".
Plus the mountable widgets, streak badge and progress card, in the same look. The styling is remote-configurable: restyle every card your customers see without releasing an update.
Every play is a starting point, not a cage. Tune it without touching code, and every change is measured against the holdout, so you find out whether your edit actually helped or you just liked it better.
When a customer's variant outperforms the standard template across enough businesses, it graduates into the library, credited, never containing a single one of your customers.
That's the difference between a preset and a platform: the library improves through use rather than through release cycles.
Coming: publish your own plays. If a growth consultant builds a template that works, they should be able to sell it, and we take a cut, not the credit.
Each play carries the difference it actually made across every business of your type, and the number is proof, not coincidence, because a random slice of users always gets nothing at all. That's how you know it actually worked.
You can't build this alone: you have one business's worth of data. Competitors can't copy it: they have no network. Every customer makes it better for every other customer.
There is no global users table. A user exists only as (app_id, uid). The same human in two Retain apps is two unrelated rows with no key to join on.
Cross-app identity isn't disallowed by our policy, it's unrepresentable in our schema. The network learns from behavioural shapes. Never from people.
Learn what drives growth with remotely configurable experiments and full-funnel analytics, and unlike anyone else's A/B tool, every play here ships with its own control group, so every number you see is proof, not coincidence.
Change the copy, the timing, the thresholds, the taper, no code, no app update. Fork a template and run it head-to-head against the original.
Your customers aren't one crowd. Retain segments them by behaviour, and each segment gets the play that works for people like them.
Each event any app sends sharpens the templates for every other business, which play, for which segment, in which kind of business, proven against a holdout. You join with one business's worth of data and inherit a thousand businesses' worth of lessons. That's what your free tier buys the community, and what the community pays you back.
Every event is yours. Export the raw table as CSV or JSON from the dashboard at any time, or read it straight from the HTTP API. No lock-in, no export fee, and one call erases everything we hold. The API docs are public.
Standard churn prediction answers "who is likely to leave". That is the wrong question, because it includes users who were leaving no matter what you did, and users who would have stayed if you had said nothing. Acting on that list wastes money in both directions.
The right question is who changes behaviour when reached. Answering it requires comparing users who received a play against users who did not, on the same play, at the same time. We collect that comparison by default, permanently, on every business running Retain.
When you only reach the group that responds, message volume falls sharply and retention improves at the same time. Those two usually move in opposite directions.
Some users leave because they were contacted. Left alone they would have stayed. No tool that lacks a control group can identify them, which is why over-messaging is the most common self-inflicted retention wound.
The same logic applied to acquisition: buy more of the segment that responds and pays, stop buying the segment that does neither.
Resolution improves with volume. With a new business this reads at segment level using patterns learned across businesses of its type; with sustained data it sharpens toward the individual. The dashboard states which regime it is in.
A dashboard nobody opens is worth nothing, which is the quiet way most analytics tools fail. So the main surface is a report that arrives. Half of it looks back at what your plays actually caused. The other half looks forward, because the same mathematics that measures a difference can predict one.
Each play with its measured difference against the group left alone. Plays that produced nothing are listed as producing nothing, because that is the finding you can act on fastest.
Which behavioural segments moved and which ignored it entirely. Over a few reports this stops being interesting and starts being an acquisition strategy.
Named customers whose trajectory points out, ranked by value, while they are still recoverable. Alongside them, the ones whose behaviour matches your past buyers with the window still open.
The play with the highest expected difference for that segment, the segments to leave alone, and the revenue sitting in the drifting group.
Of the customers we said would leave last month, we tell you how many left. Of those we said would buy, how many bought. Of the difference we expected from a play, how much arrived. Almost no one grades their own predictions, because grading them requires holding a group back and comparing, and we already do that on every play. Where our accuracy is poor, the report says so and downgrades the recommendation rather than quietly repeating it.
Reports also state what the data cannot yet answer. Where volume is too thin for a conclusion it says so, rather than dressing a weak signal as a result.
Analytics tells you what happened. Compass reads your customers' behaviour and tells you which way to go. Every reading comes from events the SDK already collects; nothing extra to instrument.
Your customers split into behavioural segments, and usually only one of them flattens into a durable base. Compass names that segment, so acquisition spend goes toward the people who stay, and stops going toward the people who never will.
The activation signature: what users who stayed did in their first session that the leavers didn't. That is the single change most likely to move your curve, read from behaviour rather than guessed.
Your curve's shape, fitted against businesses like yours, gives a predicted floor at day 14 instead of day 90. If the honest answer is that the product is not holding yet, it says so.
One limit, stated plainly: Compass reads what people do, not what they say they want. We collect no content and run no surveys. Revealed preference is the more reliable signal, and it is the only one we sell.
Web push is the only channel that survives a closed tab, and setting it up is genuinely miserable. It is not "register a service worker and you're done."
Installed-PWA push open rates against email, per send, the most effective re-engagement channel there is.
But only if you have a service worker, a valid manifest, HTTPS, and a user who installed. Miss any one and Chrome silently blocks the install prompt, and you never find out why.
That is the gap that quietly kills most businesses, and it closes when you install Retain.
Evaluating it does not cost you a development week. The integration details are handled.