What Otis computes
Lifecycle
The commercial stage Otis assigns to each account, the movements it records between plans and stages, and how to read them.
The lifecycle is the commercial journey of each account: it arrives, starts getting value, starts paying, and sometimes goes quiet or comes back. Otis places every account in one of five stages each day, and records a dated movement whenever an account's plan or stage changes.
This page explains the rules behind each stage and movement, so that you can read lifecycle counts correctly. Plan and revenue in the SDK guide covers how your app tells Otis about plans.
Purpose of the lifecycle
Segments describe how a user is doing in your product. They say nothing about whether anyone pays. The lifecycle adds the commercial view, so that Otis can connect what users do with conversion, cancellation and return.
Tracked entities
A project tracks one kind of entity:
- Accounts, when your project has named the group type that pays, such as
workspaceorcompany. - Users, when no group type is named. This suits a product sold to individuals.
When a project tracks accounts, a user who belongs to no group of that type isn't tracked at all. If your product has both teams and individuals, give each individual a group of their own, so that one rule covers everyone.
The rest of this page says "account" for either kind.
The five stages
Otis checks the rules below in order and uses the first that applies.
| Stage | Rule |
|---|---|
| Converted | The account is on a paid plan. Activity doesn't matter. |
| Resurrected | The account was churned and a member has been active in the last 7 days. It stays resurrected for 28 days, unless it goes quiet again. |
| Churned | The account isn't paying, and no member has been active for 28 days or more. |
| Activated | The account has reached activation and isn't paying. |
| New | None of the above. |
Each account also has an activity status. It is active if a member did something in the last 7 days, inactive after 28 days with no member activity, and declining in between.
Three consequences follow from the order of the rules:
- A paying account is never churned. An account that pays and has gone quiet is converted, with an inactive status.
- Canceling isn't churning. An account that leaves a paid plan while its members are still active becomes activated. It becomes churned only if it also goes quiet.
- Activated includes former customers. The stage holds every account that is past activation and not paying, whatever happened before.
Activation rules
Otis uses one of two rules for the whole project.
- A first-value event. Your project can map an event that marks the moment a user first gets real value, as part of the Value Realization measurement. If it has, an account is activated once any of its members has sent that event.
- Repeated activity. If no such event is mapped, an account is activated when its members are active on at least two different days within 14 days of the account's first active day.
When a first-value event is mapped, the second rule is switched off. An account whose members never send the event stays new, however active they are. Activation is never undone.
Plans
Otis reads each account's plan from the plan property your app sets, and from lifecycle events your app sends when a plan changes.
Your project's plan order tells Otis what each plan name means. It lists your plans from lowest to highest and marks each as free, trial or paid. Without a plan order, Otis guesses from the name. A name containing free is treated as free, one containing trial as a trial, and one containing a common paid word such as pro, team or enterprise as paid.
A plan name that is neither in the plan order nor recognizable is treated as not paying. If you launch a new paid tier before adding it to the plan order, Otis records accounts moving to it as cancellations.
Movements
A movement is a dated record that something changed for an account.
| Movement | When Otis records it |
|---|---|
| Trial started | The account moves to a trial plan, or its first known plan is a trial. |
| Converted | The account moves from any plan that isn't paid to a paid one, or its first known plan is paid. |
| Upgraded, downgraded | The account moves between two paid plans that are both in the plan order. |
| Plan changed | The account moves between two paid plans and one isn't in the plan order, or moves between plans that aren't paid. |
| Cancelled | The account leaves a paid plan. |
| Activated | The account reaches activation. Recorded once. |
| Churned | The account enters the churned stage. |
| Resurrected | A churned account leaves the churned stage, by becoming active or by starting to pay. |
| Absorbed | The account's last member joined another account. |
Absorption
An account is absorbed when it had members and now has none, because every member's membership moved to another account. The usual case is an individual's own workspace after that person joins a team.
Otis records the absorption and stops tracking the account. It leaves absorbed accounts out of churn and retention figures, so that a user joining a team doesn't count as a lost customer. If the account gets a member again, Otis resumes tracking it from where it stopped.
Properties and events
Otis reads the plan in two ways, and both run on every project.
- From the property. On each daily run, Otis compares the account's current
planproperty with the plan it recorded the day before. A change is dated the day Otis noticed it. A change that reverses between two runs is never recorded. - From events. A lifecycle event is dated the day it happened. While an account has an event from the last two days, Otis takes the account's plan from the event and ignores the property.
Keep the property current even if you send events. Once an event is more than two days old, Otis reads the property again. A property that still holds the old plan then produces a movement in the wrong direction.
Reading the lifecycle
- The first day shows a burst. When Otis first sees an account that already pays, it records a conversion dated that day. The first day of lifecycle history therefore shows your existing customers converting. Read movements from the second day onward.
- Three different things are called churn. The churned stage means not paying and quiet for 28 days. A cancellation means leaving a paid plan. The churning segment describes a recently active user who met neither test for success or affinity. Check which one a figure uses.
- Activity follows current membership. Otis counts a user's activity toward the account they belong to now. When a user changes account, their recent activity moves with them from the next run.
- Members are counted, not seats. The member count is the number of users Otis has seen identified into the account. It isn't the number of seats bought.
- An account exists only once it has a member. A plan set on a group that no user has been identified into creates no account.
- A renamed plan is recorded as a movement. Every account on the plan gets a plan change, or a cancellation if the new name isn't in the plan order. Update the plan order before you rename.
- History starts when Otis starts. Otis doesn't fill in stages for dates before its first run. An account's first row is the day Otis first saw it, which isn't its signup date.
Update schedule and retention
Otis updates the lifecycle once a day for a project that is sending telemetry. It keeps daily stages and movements for two years.
The lifecycle in Otis
In the data browser, the Accounts list shows each account's stage, activity status, plan, member count, and the number of members active in the last 7 and 14 days. You can filter by stage, activity and plan. The list is empty for a project that tracks users.
The daily briefing includes a quick ratio: the number of accounts that activated or were resurrected in the last 28 days, divided by the number that churned. It appears once enough accounts have churned in that period. You can ask Otis to watch revenue measures as well. Cost and revenue describes them.
Insights can report a rise or fall in cancellations, a change in the number of paying or active accounts, and a plan on which accounts go quiet more than on others. You can ask Otis about stages and movements in chat, in Slack, or through the MCP server.
You set the account group type and the plan order by asking Otis in a chat in the Otis app. Customization describes this.
Related
- Plan and revenue covers the properties and events your app sends.
- Users, groups and accounts covers how users are placed in accounts.
- Cost and revenue covers the revenue figures that are built on lifecycle data.
- Segments and cohorts covers the behavioral groups that Otis assigns to users.