Most analytics tools tell you that conversation volume dropped 18% last week. Few tell you which users are about to leave. Almost none tell you why.
Today we're shipping Cohorts in Moda: behavioral groups built from the signals already in your conversation data. The cohort that matters most on most days is "at risk of churn", and we built it so you can answer the question every PM and founder eventually asks themselves at 11pm: who's about to leave, and what do I do about it?
What we shipped
Open Moda, click into Users. Your users are now grouped not by plan or signup date, but by behavior:
- At risk of churn. Frustration trending up, tool failures unresolved, sessions declining.
- Power users. Consistent return, broad feature use, low friction.
- Stuck early. Abandoned a workflow within the first three sessions.
- Quiet decliners. Once-active users who fell off without complaining.
These aren't heuristics on top of usage frequency. Each cohort is derived from the signals Moda already produces per conversation: per-message embeddings, topic segmentation, frustration detections, tool failure events. We just join those signals at the user level and surface the groups that matter.
Click any cohort to see the individual users. Click any user to see their evidence: which conversations, which tool failures, which frustration markers fired and when. Every claim Moda makes about a user is traceable back to the underlying conversation.
The trajectory above is what "at risk" actually looks like under the hood. Three independent signals (session decline, frustration markers, tool failures) all firing in the same window on the same user. Any one of them in isolation is noise. All three together is a cohort.
Ask it in plain English
The part we are most excited about isn't in the dashboard.
Moda has a CLI (moda) that exposes the same data the dashboard does. We packaged it as a skill that drops into Claude Code, Cursor, Codex, or any agent that can run shell commands. Which means you can open your terminal and ask:
Your agent loads the skill, runs moda frustrations, moda tool-failures, and moda conversations against your tenant, joins the results, and gives you a ranked list with the reasoning attached. The last line of the response is a pattern: the thread that connects the users in the cohort, e.g., "7 of 10 share the same auth-tool failure path since Tuesday." That pattern is the part you can actually ship a fix for. The dashboard tells you who; the agent finds the thread that connects them. (And yes, those users are fabricated; we are not naming names in a launch post.)
You don't need an agent to use the CLI. moda overview, moda frustrations, moda runs --outcome=loop, and the rest work directly in your shell. But if you already drive your work through Claude Code, Cursor, or Codex, this is one less context switch.
Why behavioral cohorts beat demographic ones
Demographic cohorts ("paid plan", "signed up Q1", "team plan") are useful for marketing. They are not useful for keeping users from leaving. The signal that someone is about to churn isn't who they are; it's what they're doing.
Three rephrase loops on the same intent. A retry on every payment-tool call. Sessions falling off a cliff after a tool started returning empty results. These signals are already sitting in your conversation logs. Most teams just don't have a way to surface them at a cohort level.
That's the gap Cohorts closes. Same data you already send us, no new instrumentation, no new dashboards to wire up.
Available now
Cohorts is live for every Moda tenant.
- Dashboard: moda.dev/users
- CLI:
npm install -g @moda-ai/cli && moda init - Claude Code, Cursor, Codex, or any agent:
npx -p @moda-ai/cli moda init. The skill registers automatically.
If you don't have a Moda tenant yet, request one at moda.dev. New teams onboard in under an hour and you can have real cohorts on real data the same day.
What's next
The next two things on the Cohorts roadmap:
- Cohort alerts. Notify me when the at-risk cohort grows by more than X% week-over-week, or when a new behavioral group emerges that doesn't fit an existing one.
- Cross-cohort comparison. What do power users do that at-risk users don't? Surface the diff automatically so the team building the product can act on it.
If there's a question your current dashboard can't answer today, tell us. That is, almost without exception, how the Moda roadmap gets built.
