Learn and improve

Every completed conversation analysed. Every insight stored.

The conversation analyser runs on closed conversations only — CLOSED, BOOKED, TIMED_OUT, or ARCHIVED. It identifies drop-off points, conversion drivers, and tone patterns, then stores them as structured signals for the pattern detector.

Book a discovery call
Closed onlyanalyser never runs on ACTIVE or PAUSED conversations
20 minimumconversations required before pattern detector generates proposals
4 tone flagsfrustrated, warm, confused, rushed — captured per turn
0 test turnsexcluded via is_test=True flag — Campaign Tester data never contaminates
How analysis works

Completed conversations only. Test data excluded. Always.

The analyser is strict about what it reads. It only processes conversations in a terminal state — CLOSED, BOOKED, TIMED_OUT, or ARCHIVED. It never touches ACTIVE or PAUSED conversations. And it excludes all turns flagged is_test=True, so Campaign Tester activity never contaminates production analytics.

  • Only terminal conversations analysed — ACTIVE and PAUSED never touched
  • Drop-off point identified from maximum answered_question_ids on final turn
  • Conversion driver turns tagged on conversation_turns.contributed_to_outcome
  • Tone flags read from conversation_turns — frustrated, warm, confused, rushed
  • Minimum 20 conversations required — no patterns generated below threshold
  • Test turns excluded by is_test=True flag — Campaign Tester never distorts data
Analysis pipeline
  1. 1
    Terminal check
    Only CLOSED, BOOKED, TIMED_OUT, ARCHIVED processed
  2. 2
    Test exclusion
    is_test=True turns filtered out before analysis
  3. 3
    Drop-off detection
    Last answered_question_ids from final disengaged turn
  4. 4
    Conversion tagging
    Turns preceding BOOKED tagged contributed_to_outcome
  5. 5
    Tone pattern read
    tone_flags per turn aggregated across cohort
  6. 6
    Signals stored
    Structured signals available to pattern detector
What gets detected

Drop-off, conversion drivers, and tone — all from data you already have.

The analyser works from signals already stored on conversation_turns — no additional instrumentation required. If you have 20 completed conversations, the analyser has enough to work with.

Drop-off by question

The analyser identifies which question was last answered before a contact disengaged. This maps to a specific question number in the campaign sequence — showing operators exactly where conversations are failing.

How it works: Drop-off rate per question is surfaced in the Conversation Intelligence reporting layer — accessible by client admins without contacting Friyay.

Conversion drivers

The analyser identifies turn sequences that preceded a BOOKED outcome. These are tagged on conversation_turns.contributed_to_outcome and used by the pattern detector to identify what message characteristics correlate with conversion.

How it works: Conversion driver tagging is tested in the pattern detector — booking rate computed from tagged turns.

Tone pattern recognition

The AI stores tone flags on every turn — signals like 'frustrated', 'warm', 'confused', or 'rushed' observed in the contact's message. The analyser aggregates these across conversations and identifies which tone patterns correlate with booking or drop-off.

How it works: Tone signal detection tested in the pattern detector suite — tone correlated with booking rate correctly identified.

Minimum sample enforcement

The pattern detector enforces a minimum sample of 20 closed, analysed, non-test conversations per campaign before generating any proposals. Below this threshold, no findings are produced — preventing low-confidence conclusions from influencing campaign configuration.

How it works: Both the engine and the Conversation Intelligence UI enforce the 20-conversation minimum independently.

Want to see what your
conversations are telling you?

We'll run the analyser against a live campaign and show you what the data surfaces.

Book a discovery call