Banner image for AI Classifier
Core Concepts 6 min read

AI Classifier

After capturing a journey, Catalio's AI classifies it against existing JTBDs and personas, identifies friction points, and surfaces structured improvement suggestions

Updated
On this page

The AI Classifier analyzes a captured Journey and returns a structured classification result: which Job To Be Done (JTBD) it serves, which persona performs it, and where friction occurs. This post-capture analysis turns raw journey steps into actionable insights without requiring you to tag or categorize anything manually.

What the Classifier Produces

After classifying a journey, you receive a ClassificationResult with six fields:

Field Description
suggested_jtbd The JTBD title the AI believes this journey serves
suggested_persona A suggested persona with name and description
matched_jtbd_id UUID of an existing JTBD if a fuzzy match was found (nil if new)
matched_persona_id UUID of an existing persona if a fuzzy match was found (nil if new)
confidence Float from 0.0 to 1.0 indicating classification confidence
friction_suggestions List of friction observations per step (see below)

How Classification Works

1. Context Loading

When the classifier runs, it first loads:

  • The journey and all its steps (sorted by order)
  • All existing JTBDs in your organization
  • All existing personas in your organization

This context is passed to the LLM so it can match against what already exists rather than always proposing new records.

2. LLM Analysis

Catalio asks the AI to analyze the journey with full context:

  • Journey title, description, type, and status
  • Each step with its action, step_type, screen_name, friction_level, and friction_notes
  • The full list of existing JTBDs and personas

The LLM is instructed to prefer matching to existing JTBDs and personas by name when the journey clearly relates to one. It only proposes new names when nothing in the existing catalog fits.

3. Fuzzy Matching

After the LLM returns a suggestion, the classifier performs fuzzy matching using Jaro distance — a string similarity algorithm well-suited to comparing names. The matching threshold is 0.85: if the LLM’s suggested JTBD title is at least 85% similar (by Jaro distance) to an existing JTBD title, matched_jtbd_id is set to that existing JTBD’s ID.

The same fuzzy match runs independently for the suggested persona name.

This means you get a match even when the LLM slightly rephrases a name — “Manage Service Tickets” matches “Managing Service Tickets” — without requiring an exact string comparison.

4. Friction Point Analysis

For each journey step where friction is observed, the classifier returns a friction_suggestion:

Field Description
step_order Position of the step in the journey
severity :high, :medium, or :low
reason Brief explanation of the friction observed

The classifier draws on the friction_level and friction_notes already recorded on each JourneyStep (often set during capture) and adds its own reasoning about why those signals indicate friction. High-severity friction on critical steps is the most actionable output of the classification.

Confidence Score

The confidence field (0.0–1.0) reflects how clearly the journey maps to a single JTBD and persona. High confidence means the steps tell a coherent, recognizable story. Low confidence means the journey is ambiguous — it may span multiple JTBDs or the steps lack enough context for clear classification.

Use confidence as a triage signal: high-confidence results can often be accepted directly; low-confidence results deserve a closer look before linking the journey to a JTBD.

Running Classification

Classification is invoked on-demand from the journey detail page — open a captured journey and use the “Classify Journey” action. Classification is not automatic on capture, because journeys often need human review of the recorded steps before classification yields meaningful suggestions. You can re-run classification at any time; each run regenerates suggestions based on the current step data.

How Classifications Surface in the UI

After the classifier runs, the journey detail page shows:

  • Suggested JTBD — with a link to the matched existing JTBD (if found) or a button to create a new one
  • Suggested Persona — with a link to the matched existing persona (if found) or a button to create a new one
  • Confidence — displayed as a percentage
  • Friction suggestions — listed step by step with severity indicators

You can accept a suggestion as-is, edit it, or dismiss it. Accepting a JTBD suggestion links the journey to that JTBD. Accepting a persona suggestion assigns the persona to the journey.

Accepting and Reviewing Suggestions

The classifier surfaces suggestions; it does not apply them automatically. This keeps you in control:

  1. Does the suggested JTBD accurately describe the job this user is trying to accomplish?
  2. Check whether the suggested persona matches the actual user type performing this journey.
  3. Assess each friction suggestion — are the identified pain points real, and does the proposed severity match what you observed?

For friction suggestions, clicking through to the step lets you update friction_level and friction_notes directly from the suggestion context.

Relationship to Journey Discovery

The AI Classifier is different from the Journey Discovery conversation flow, which uses a multi-phase assistant to guide you through persona deep-dives, workflow walkthroughs, and friction probing. The Classifier is a post-capture step — it analyzes a journey that has already been captured (manually or via automated capture) and returns a structured result. Discovery is a guided conversation; Classification is an analysis.

Best Practices

Capture complete steps before classifying. The classifier needs enough step detail — action descriptions, screen names, and friction notes — to produce a meaningful result. A three-step journey with no friction notes will return a low-confidence classification.

Run classification after completing a capture session. The Classifier works best when the journey represents a complete workflow from beginning to end, not a partial capture.

Use friction suggestions to prioritize work. High-severity friction on steps that occur frequently or in critical workflows are prime candidates for new Requirements. Cross-link the friction observation to a requirement to maintain traceability.

Trust fuzzy matching, verify edge cases. The 0.85 Jaro threshold is conservative — it rarely produces false matches. But when the suggested JTBD name is unusual, verify the match against the JTBD detail page.

Relationships at a Glance

Entity Relationship
Journeys The captured journey being analyzed
Journey Steps Source of step-by-step data and existing friction signals
JTBDs Classification target; fuzzy-matched from existing catalog
Personas Classification target; fuzzy-matched from existing catalog
Requirements Link friction points to requirements for traceability

Next Steps

  • Learn about Journeys and how journey capture works
  • Explore Journey Steps to understand the step-level attributes the classifier reads
  • See JTBDs for how Jobs To Be Done are structured in Catalio

Support

If the classifier returns a very low confidence score consistently, the most common cause is journey steps with minimal action descriptions (e.g., “clicked something”). Improve capture quality by adding specific action descriptions and screen names before re-running classification.