What the lifecycle is read from
Three things on the contract determine where it stands:- Its term — the
term_startandterm_enddates. These define when the contract is live and contributing to your ARR. - Its renewal links — a contract can be linked to the contract that replaces it when it renews. This is how HarborOS connects one term to the next instead of treating a renewal as a brand-new, unrelated deal.
- Its renewal likelihood — your call on what happens at renewal: likely, maybe, at risk, churn, or unset. This is operator judgment, not a system guess.
How HarborOS reads it
From those three inputs, the rest follows automatically:- Active — today falls within the term and the contract isn’t flagged to churn. It counts toward your total ARR.
- Up for renewal — the term is ending. You set the likelihood and, when the renewal is signed, link it to its successor.
- New business vs. a renewal — a contract with no predecessor link is new business. One that’s linked back to a prior contract is a renewal.
- Expansion or contraction — when a renewal’s ARR is higher than the contract it replaced, that’s expansion; lower is contraction. This is what separates gross retention from net retention.
- Churn — flag a contract’s likelihood as churn and its ARR drops out of your totals. See churn.
.png?fit=max&auto=format&n=sYABzIeZz0-gFBul&q=85&s=9dde2a9c58583251fbef55f7a893d7e2)