Renewal Risk Assessor
Calculates renewal probability using usage, NPS, tickets, and engagement metrics. Generates AI retention plan when risk is high.
How it works
Inspect the data fetches, transforms, gates, and output this recipe runs.
Data fetch
company
?
▼
Process (22 steps)
guard_missing_contract_date
guard
Stop if company result properties contract end date is missing
days_until_contract_end
date_diff
Calculate days between now and company result properties contract end date
contract_in_range
all
Check if all conditions are true
guard_contract_window
guard
Stop if contract in range equals
has_usage_data
compare
Check if company result properties product usage trend 90d exists
usage_score_computed
math
Calculate: min(100, max(0, ({{step.company.result.properties.product_usage_trend_90d}} + 20) / 40 * 100))
skip: step.has_usage_data equal false
usage_score
coalesce
Use the first available value from: usage score computed, setting scoring fallback value
has_nps_data
compare
Check if company result properties latest nps score exists
nps_score_computed
math
Calculate: min(100, max(0, {{step.company.result.properties.latest_nps_score}} * 10))
skip: step.has_nps_data equal false
nps_score
coalesce
Use the first available value from: nps score computed, setting scoring fallback value
has_ticket_data
compare
Check if company result properties support ticket count 90d exists
ticket_score_computed
math
Calculate: 100 - (min({{step.company.result.properties.support_ticket_count_90d}}, 10) / 10 * 100)
skip: step.has_ticket_data equal false
ticket_score
coalesce
Use the first available value from: ticket score computed, setting scoring fallback value
has_engagement_data
compare
Check if company result properties days since last positive engagement exists
engagement_score_computed
math
Calculate: 100 - (min({{step.company.result.properties.days_since_last_positive_engagement}}, 90) / 90 * 100)
skip: step.has_engagement_data equal false
engagement_score
coalesce
Use the first available value from: engagement score computed, setting scoring fallback value
renewal_probability
weighted_score
Weighted score from: usage score (35%), nps score (25%), ticket score (20%), engagement score (20%)
renewal_summary
to_summary
Format results as a summary card
risk_checklist
to_checklist
Format results as an actionable checklist
should_run_ai
all
Check if all conditions are true
ai_context
pick
Keep only specific fields from
skip: step.should_run_ai equal false
ai_analysis
?
skip: step.should_run_ai equal false
Settings
Configurable at install. Defaults shown — change them anytime in Recued.
hubspot
setting
=
enable ai
toggle
=
on
ai threshold
number
=
70
scoring fallback value
number
=
50
Trust & control
What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.