Defining the lifecycle
Set the rules that place every profile in a lifecycle state, say what counts as growth, and preview a change before it recomputes.
Every profile in a workspace is in exactly one lifecycle state — New, Dormant, Active or Churned — decided by one definition: two rules and two timers. The same page says what counts as a profile growing, and whether expansion is a concept in your product at all. It lives under Settings → Lifecycle, beside Profiles, because every one of those is a fact about what a profile is in your workspace rather than about any one stage.
Every member can read the definition and the evaluation history. Editing it and recomputing are limited to workspace admins.
The four states and the moves between them
The page opens with a diagram of the four states. Each arrow is one move, and each move is decided by one setting below the diagram:
- New → Active and Dormant → Active when the profile meets the activation rule.
- New → Dormant after Dormant after days without activating.
- Active → Churned after Churned after consecutive days of not meeting the activity rule.
- Churned → Active when the profile meets the activity rule again.
Change a timer and the arrow labels follow, so the diagram always shows the definition you are about to save.
The two rules
- Becoming active holds the activation rule. A new or dormant profile that meets it becomes Active, and that moment is its activation milestone. It is never checked again afterwards: activation is something that happens once.
- Staying active holds the activity rule. An active profile that stops meeting it starts the churn clock; a churned profile that meets it again is won back and reads Active with its win-back count incremented.
A rule is one or more conditions, matched all or any. Each condition starts from a property — a declared property or a profile field such as Signed up — and the property's type decides what you can ask of it: a date offers in the last N days and more than N days ago, a number offers comparisons, a yes / no offers is Yes / is No, a choice offers its own values. There is nothing to pick that would make a profile unconditionally active, and nothing that reads the lifecycle state itself, because these rules are what decide it.
A new workspace ships neither rule. Both rows read Not set, the page says the lifecycle is not defined yet, and writing them is the first thing to do here: what activation means is the one thing only you know, and a rule we guessed for you would read a property your source does not carry while looking configured. Until both are set nothing is evaluated — no profile is given a state and the stage pages stay empty. Nothing is lost by waiting: the moment you save both, the recompute places every profile you have, backdating activation from the history in your source.
A property the workspace has not declared yet is flagged on the condition until you declare it under Profiles. A rule stored in a shape the builder cannot show — nested groups, for instance — is edited as JSON instead.
The two timers
- Dormant after — in Going dormant: how many days a profile may stay New without activating before it reads Dormant. 30 by default. It still becomes Active the moment it meets the activation rule.
- Churned after — in Staying active: how many consecutive days the activity rule must be false before an active profile reads Churned. 14 by default. This grace period is what keeps a quiet long weekend from flipping profiles to churned and back.
Preview, then save
- Open Settings → Lifecycle.
- Change a rule or a timer.
- Click Preview. Uptend runs the lifecycle pass under your draft without saving anything and shows, per state, how many profiles are in it today and how many would be after a recompute, plus how many would change state.
- Click Save and recompute. The definition becomes a new version and every profile is recomputed under it in the same request.
A saved change creates a new version; every Cohorts view marks the bucket in which the definition changed, so a moved chart has an explanation.
settings-lifecycleSay what counts as growth
Track expansion — the switch in the Expansion section — is off for a product with one tier. Off, the Expansion stage leaves the sidebar and its page stops being reachable. Nothing is deleted: everything the stage recorded stays, and switching it back on brings it all back exactly as you left it.
It is a statement about your business rather than a setting to tune, which is why it is asked once here rather than on each page that would otherwise show a stage nobody can read. It cuts no new version of the definition and needs no save: it takes effect the moment you flip it, and the next evaluation catches up. Its counterpart, Profiles differ in worth, is asked the same way one page over under Settings → Scoring.
What actually counts as growth — a plan ladder, a seat threshold — is a milestone on the Expansion stage, declared on that stage's Overview beside the milestones of every other stage. See Milestones.
What the first evaluation does with history
Uptend only sees the current state of your source, so the first evaluation places each profile from what is true now:
- A profile that already meets Activated when is Active, with its activation milestone recorded as "around" the day it signed up rather than an exact time.
- A profile that already meets Activated when but not Active while reads Churned immediately — with no history, "quiet since long ago" is churned, not "active for another two weeks".
- A profile older than Dormant after that never activated reads Dormant.
Those backdated timestamps are marked approximate everywhere they appear.
When evaluation runs
Three passes run in order — lifecycle states, then signals (your milestones and monitors), then scores — and each records what it did. They run:
- after every successful sync of a data source;
- every six hours in between, so the dormant and churn timers advance even when nothing synced;
- when you save the definition, or a change to a scoring model's factors, bands or lines;
- when you click Recompute now under Evaluation.
The Evaluation section lists the recent passes with their result — how many profiles moved, how many signals were evaluated and how many profiles reached or receded on them — or the reason a pass failed. Every analysis page says which pass its figures are as of, so a failed scoring pass can never borrow the lifecycle pass's timestamp.