Use cases· Last updated

Churn decision workflow with Jev

Usage curves belong to your warehouse. Jev reads why someone is unhappy (cancel language, effort, save-offer fit). Code blends the two.

This unofficial page is the decision workflow slice of the churn risk decisions pack. Intent: apply the Jev (TypeSafe System One) decision model to churn risk decisions decision workflow. Primary search language: Churn Jev decision workflow. Confirm patterns on docs.typesafe.ai. This site does not sell, issue, or proxy TypeSafe keys. Use a credential you already have from the console or a documented gateway.

Independent angle (cover ≠ clone): Evidence-first risk bands from tickets and language, with arithmetic in code — not a black-box churn-model clone or rival recipe IA.

Churn use-case context

Churn risk decisions is a workflow, not a chat. Assemble a narrow state, ask the primitives below, and let the success router branch. TypeSafe’s docs say a good question is a snap decision a knowledgeable person could make in a few seconds — not an open-ended analysis of the account language + pre-aggregated usage.

Hub: Use cases. Compare, when the other tool is the real job: churn models.

Decision Workflow inputs

Keep only fields the questions name:

{
  "account": { "id": "A-12", "plan": "pro", "seats": 40 },
  "usage": { "wow_delta_bucket": "down_gt_30", "last_active_days_bucket": "21_plus" },
  "tickets": { "latest": "We are moving to a competitor unless SSO ships." },
  "nps": { "comment": "Setup took weeks." }
}

Point instructions at tickets.latest, nps.comment, usage.wow_delta_bucket. Drop event-level product analytics (pre-aggregate buckets in code); every ticket since 2019.

Decision signals and actions

Id Type Job
cancel_intent Noul Is the latest text a cancellation / competitor threat?
effort Score How painful is the described experience?
save_offer Choice none / education / discount_review / exec_outreach / other

All of these share state and run in parallel. Code owns the graph:

def churn_route(ans, usage_risk):
    if ans["cancel_intent"].noul >= T_CANCEL and usage_risk == "high":
        return "exec_save"
    if ans["save_offer"].confidence < FLOOR:
        return "csm_review"
    return f"play:{ans['save_offer'].choice}"

Do not treat a Noul of 0.5 as a “medium” churn risk decisions score — it means yes and no are equally likely. Conjunctions stay in your code.

Guardrails and escalation

TypeSafe’s confidence-gated examples use a lower bar for recoverable reads than for irreversible actions. Those numbers are illustrations. For churn risk decisions, treat exec_outreach_or_discount as the high bar (exec outreach or a commercial concession). Tune on labels — see offline evaluation.

Low confidence, or a policy miss → human or safe default; do not start exec outreach or grant a concession.

Evaluation and rollout notes

Shadow: CSM queue unchanged; log suggested play.

Canary: Auto-assign education plays only.

Pin jev-1.13.0 (the versioned id) after you fit thresholds. jev-latest and the marketing line jev-1.13 can move. Log the response model. TypeSafe’s published list price for jev-1.13 is $0.042 per million input tokens (vendor claim — confirm on the models page); output tokens are free on that same page. Unused distractors still bill as input.

Official Python and JavaScript SDKs read TYPESAFE_API_KEY and retry documented 429/529. This site does not sell, issue, or proxy TypeSafe keys. Use a credential you already have from the console or a documented gateway.

Pack map

Slice Page
Graph and primitives you are here
What may enter state input contracts
What to gather first evidence collection
Atomic rules policy checks
Act / review / abstain confidence thresholds
Reviewer payload human handoff
What to persist audit trail
How it breaks failure modes
Labeled replay evaluation
Shadow → canary production rollout

FAQ

Does Jev execute the success router action? No. It returns typed answers. Your success router code calls queues, models, or humans.

Why several questions in one request? TypeSafe’s fan-out pattern: extra questions are cheap versus another HTTP call. Cancel-intent + effort + save-offer in one call. Warehouse risk stays outside Jev and ANDs in code.

Where is the rest of the Churn pack? Start with Churn input contracts and Churn confidence thresholds. Cluster hub: Use cases.

Can Jev replace our churn model? No. Keep warehouse risk; use Jev on unstructured complaints and save-offer fit.

TypeSafe mentions churn in the use-case map — is that a product? It is an example of more questions on ticket state, not a separate TypeSafe churn API.

What this page does not claim

Disclaimer

This is an independent unofficial site and is not affiliated with TypeSafe AI; official documentation is available at https://docs.typesafe.ai.

Primary documentation: https://docs.typesafe.ai. Hub: Use cases.

Sources

Public TypeSafe or adjacent documentation only. No private claims.