High-confidence churn — downgrade after plan comparison
sess_mq4
$0.0050 LLM → $0.0002 intentLM
96% token cost saved
LLM path — verbose events + classifier
Classifier request
Full URLs, DOM labels, timestamps per event
{
"model": "claude-sonnet-4.6",
"messages": [
{
"role": "system",
"content": "Classify B2B SaaS session intent from the event stream. Return JSON: { intent, confidence }."
},
{
"role": "user",
"content": "Session sess_mq4 events:\n[\n {\n \"event\": \"page_interaction\",\n \"properties\": {\n \"token_label\": \"CORE_FEATURE_USED\",\n \"token_id\": 801,\n \"$current_url\": \"https://app.acme-saas.io/app/dashboard\",\n \"$pathname\": \"/app/dashboard\",\n \"$host\": \"app.acme-saas.io\",\n \"$el_text\": \"Create project\",\n \"$session_id\": \"sess_mq4\",\n \"$timestamp\": 1748832900000,\n \"$note\": \"core_action\"\n }\n },\n {\n \"event\": \"page_interaction\",\n \"properties\": {\n \"token_label\": \"PRICING_VIEW\",\n \"token_id\": 102,\n \"$current_url\": \"https://app.acme-saas.io/pricing\",\n \"$pathname\": \"/pricing\",\n \"$host\": \"app.acme-saas.io\",\n \"$el_text\": \"Pricing nav\",\n \"$session_id\": \"sess_mq4\",\n \"$timestamp\": 1748832904200\n }\n },\n {\n \"event\": \"page_interaction\",\n \"properties\": {\n \"token_label\": \"TRIAL_UPGRADE_PROMPT_VIEWED\",\n \"token_id\": 209,\n \"$current_url\": \"https://app.acme-saas.io/pricing\",\n \"$pathname\": \"/pricing\",\n \"$host\": \"app.acme-saas.io\",\n \"$el_text\": \"Trial upgrade banner\",\n \"$session_id\": \"sess_mq4\",\n \"$timestamp\": 1748832906000,\n \"$note\": \"in_app_prompt\"\n }\n },\n {\n \"event\": \"page_interaction\",\n \"properties\": {\n \"token_label\": \"TRIAL_UPGRADE_PROMPT_VIEWED\",\n \"token_id\": 209,\n \"$current_url\": \"https://app.acme-saas.io/pricing\",\n \"$pathname\": \"/pricing\",\n \"$host\": \"app.acme-saas.io\",\n \"$el_text\": \"Trial upgrade banner\",\n \"$session_id\": \"sess_mq4\",\n \"$timestamp\": 1748832906900,\n \"$note\": \"in_app_prompt\"\n }\n },\n {\n \"event\": \"page_interaction\",\n \"properties\": {\n \"token_label\": \"PLAN_COMPARISON_VIEW\",\n \"token_id\": 201,\n \"$current_url\": \"https://app.acme-saas.io/pricing/compare\",\n \"$pathname\": \"/pricing/compare\",\n \"$host\": \"app.acme-saas.io\",\n \"$el_text\": \"Compare plans table\",\n \"$session_id\": \"sess_mq4\",\n \"$timestamp\": 1748832910000\n }\n },\n {\n \"event\": \"page_interaction\",\n \"properties\": {\n \"token_label\": \"DOWNGRADE_VIEW\",\n \"token_id\": 403,\n \"$current_url\": \"https://app.acme-saas.io/settings/billing/downgrade\",\n \"$pathname\": \"/settings/billing/downgrade\",\n \"$host\": \"app.acme-saas.io\",\n \"$el_text\": \"Downgrade to Starter\",\n \"$session_id\": \"sess_mq4\",\n \"$timestamp\": 1748832912400\n }\n }\n]"
}
],
"response_format": {
"type": "json_object"
}
}Agent context
Narrative injected into system prompt
{
"injected_into": "agent_system_prompt",
"session_summary": [
{
"url": "https://app.acme-saas.io/app/dashboard",
"action": "Create project",
"signal": "CORE_FEATURE_USED"
},
{
"url": "https://app.acme-saas.io/pricing",
"action": "Pricing nav",
"signal": "PRICING_VIEW"
},
{
"url": "https://app.acme-saas.io/pricing",
"action": "Trial upgrade banner",
"signal": "TRIAL_UPGRADE_PROMPT_VIEWED"
},
{
"url": "https://app.acme-saas.io/pricing",
"action": "Trial upgrade banner",
"signal": "TRIAL_UPGRADE_PROMPT_VIEWED"
},
{
"url": "https://app.acme-saas.io/pricing/compare",
"action": "Compare plans table",
"signal": "PLAN_COMPARISON_VIEW"
},
{
"url": "https://app.acme-saas.io/settings/billing/downgrade",
"action": "Downgrade to Starter",
"signal": "DOWNGRADE_VIEW"
}
],
"instruction": "User opened chat. Infer intent from navigation history before responding."
}~1,476 LLM tokens/session (3.6 KB JSON)
intentLM path — integers only
POST /v1/analyze
No URLs or PII — token IDs + timing
{
"session_id": "sess_mq4",
"tokens": [
801,
102,
209,
209,
201,
403
],
"time_deltas_ms": [
0,
4200,
1800,
900,
3100,
2400
]
}Analyze response
Markov inference (<500 ms avg), zero LLM tokens
{
"intent": "CHURN_SIGNAL_DETECTED",
"confidence": 0.92,
"model_tier": "markov",
"trigger_nudge": true,
"session_id": "sess_mq4",
"latency_ms": 14.2
}Agent context
Pre-classified intent block for your agent
{
"intent": "CHURN_SIGNAL_DETECTED",
"confidence": 0.92,
"session_id": "sess_mq4",
"tokens": [
801,
102,
209,
209,
201,
403
],
"token_labels": [
"CORE_FEATURE_USED",
"PRICING_VIEW",
"TRIAL_UPGRADE_PROMPT_VIEWED",
"TRIAL_UPGRADE_PROMPT_VIEWED",
"PLAN_COMPARISON_VIEW",
"DOWNGRADE_VIEW"
],
"trigger_nudge": true
}~71 LLM tokens to agent (526 B wire) · 86% smaller payload