Skip to content
CS leaders

Forecast renewals from billing data, not a CSM's memory.

Renewal forecasting software.

Every renewal in the next 90 days arrives dated, priced and sorted soonest first, read from your CRM and billing. Anything the model filled in carries a Modeled label.

Connects with
What GainTrace does

How does GainTrace forecast renewals?

Renewal Dates Nobody Has To Type

Every renewal surface in GainTrace reads one field, and nothing writes to it by hand. A documented precedence ladder resolves it instead: your CRM is the contract system of record and always wins.

See A Cancellation The Day It Is Set

A subscription set to cancel at period end looks no different in a CRM stage field, because nobody moved a deal.

A Forecast That Labels Its Own Assumptions

The 90-day weighted forecast is a model and says so on its face: it weights each renewal by the account's health band and ships with a Modeled badge and its assumption text written into the code, never a bare NRR heading.

The job

How does GainTrace help CS leaders forecast renewals?

Renewal Dates Nobody Has To Type

  • Scans six named renewal properties per CRM in priority order, first parseable wins
  • Never maps HubSpot closedate or Salesforce CloseDate: those are the contract start
  • A Stripe period end may only move a renewal date forward, never backward
  • field_sources.contract_end_date records which connector set each account's date

Renewal dates nobody typed

Example

One field behind every renewal view. Never typed.

See A Cancellation The Day It Is Set

  • cancel_at_period_end normalises to a cancelling status, not a silent active one
  • Cancelling subscriptions keep counting toward MRR until the period actually ends
  • Auto-renew off inside 60 days of renewal raises billing risk to imminent
  • Renewal signals fire at 90, 60 and 30 days out, and you can move all three

A cancellation, seen the day it was set

Example

A dated renewal loss no CRM stage field shows

A Forecast That Labels Its Own Assumptions

  • Renewals bucketed at next 30 days, 30-60 days and 60-90 days, with ARR each
  • Health bands weight it 95% healthy, 60% at risk, 20% churning, shown as Modeled
  • Retention by segment computes NRR and GRR from real movements, sum over sum
  • The revenue waterfall names an Unexplained residual instead of hiding the gap

The weighted forecast, labelled Modeled

Example

The modeled half carries a Modeled label

Common questions about renewal forecasting

Ordered by how often it comes up.

How can a renewal forecast stay current if our CSMs never update it?

contract_end_date, and nobody types it. On HubSpot and Salesforce, GainTrace scans six named renewal properties per record in priority order (renewal_date, hs_renewal_date, contract_end_date and the rest) and takes the first parseable one, working out epoch seconds from epoch millis by digit count.

Is the weighted renewal number a real forecast, or a guess with a percentage on it?

It is a model, and it ships labelled as one. The weighting is a health-band assumption, healthy 95 percent, at risk 60 percent, churning 20 percent, and the code that produces the number carries a "Modeled" basis label, that assumption sentence in plain language, and the headings "Projected NRR" and "Projected GRR" instead of a bare NRR.

Your reporting will be too rigid to produce our retention numbers. Then what?

Two answers, because reviewers ask this two ways. Boards are assembled from a widget picker rather than a report writer: "Renewals & Risk" and "Renewals & Risk (exec)" install as complete boards in one click, and the companies table sorts renewal soonest-first with ARR, health, stage, last touch and open CTAs on the same row.

Renewal dates in your system will disagree with our CRM and our billing, and then nobody believes the number.

GainTrace records which system supplied each field on each account, so a renewal date has a named owner rather than an argument: CRM connectors are the contract system of record and always outrank a billing-derived date, and Stripe's subscription period end only fills the gap for billing-only teams and may only ever move a date forward, never backward.

Do we need a CS Ops admin or a dedicated resource to stand this up?

No, and that is the design rather than a claim about being easy: nobody configures the renewal spine, because it is derived instead of authored.

How long before we are looking at a renewal forecast we would act on?

The renewal view fills as soon as your first CRM sync finishes, because the dates come out of records you already keep, not out of a configuration project.

What does this cost, and is the revenue reporting behind a higher tier or extra seats?

One plan priced by companies tracked, $99 a month for 100 companies through $999 for 2,500, with every feature on every band, so the renewal forecast, the boards, the API, webhooks and SAML single sign-on are in the plan and not in an analytics tier.

Where does our data live, and are you SOC 2?

Data is EU resident by default in AWS eu-west-1, Ireland, on every plan including Free, with a signed DPA at any tier and a full export whenever you want it.

Every renewal in the next 90 days, dated and priced, with nobody maintaining it.

Renewal dates resolved from your CRM and billing records instead of a field a CSM remembered to update, every account sorted soonest-first, a weighted forecast that says out loud it is modelled, and no admin to hire.

Free to start · no credit card required.

Start for free