Methodology · Intent Prediction

How Janine reads a shopper before she helps them.

Every conversation starts with a score, not a guess. Here is what Janine measures, how the score is computed, and where the model has limits.

01 · What we predict

Three things, per session.

Janine scores each session along three axes before deciding whether to engage. The score is a routing signal, not a verdict.
Qualitative labelbrowsing · comparing · hesitating · ready · abandoningOne label, taken from a small set. Anchors what Janine says first.
ConfidenceP(completes this session)A calibrated probability the shopper will finish checkout if left alone.
Causal estimateWould engaging change the outcome?Some shoppers buy regardless. Some leave regardless. Janine engages the rest.
02 · How the score is computed

Semantic similarity to reference anchors.

Janine embeds each session into a vector and compares it, via cosine similarity, against a calibrated bank of reference statements that anchor each intent label. The technique is grounded in recent academic work demonstrating that semantic-similarity scoring reproduces human purchase-intent ratings at roughly 90% of human test-retest reliability.
  • The anchor bank is small, versioned, and reviewed before each release. It is not free-form prompting.
  • The same embedding model is used for the session vector and the anchor vectors, so similarity is meaningful and stable.
  • Anchors are calibrated per vertical. Beauty shoppers do not signal intent the way apparel shoppers do.
03 · What feeds the signal

Session state, not personal data.

The signal Janine scores is built from observable session behavior on the storefront. No third-party data brokers, no external profiling.
  • Session activity: dwell on key pages, scroll patterns, exit-intent triggers, navigation depth.
  • Cart state: items, total value, completeness of shipping and payment fields.
  • Conversation state: if Janine is already engaged, the turn history and which objections have been raised.
  • Historical context: returning versus first-time shopper, recent purchase history, prior abandonment rate.

PII (email, phone, payment details) is masked before any LLM call. See our consent policy for the boundary specifics.

04 · Why it's layered

One signal is not enough.

A single classifier tells you whether a shopper is likely to abandon. It does not tell you when, or whether engaging would change anything. Janine layers three kinds of estimates.
ClassificationWill this shopper abandon?Calibrated probability, beats published academic baselines on held-out data.
TimingHow soon will they decide?Survival-style estimate. Drives when Janine engages, not just whether.
CausalWould engaging change the outcome?Estimated from a randomized validation cohort. Identifies the shoppers Janine can actually help.

Each layer is calibrated independently. Per-merchant weights blend them into a single engagement score that drives Janine's decision.

05 · Validation

Held-out tests and randomized cohorts.

Models that route real engagements have to earn it. Janine's intent stack is measured retrospectively, prospectively, and continuously.
  • Retrospective: every model release must beat a documented baseline on held-out historical sessions before it ships to live routing.
  • Prospective: a small randomized cohort of live sessions runs under control conditions so lift can be attributed causally, not by correlation.
  • Continuous: per-vertical anchor banks are recalibrated as new conversation data accumulates. Drift detection alerts when calibration weakens.
  • Published baselines: we benchmark against tree-based session-feature classifiers and academic baselines. See the further reading for the references.

For published case results and per-segment benchmarks see the case studies and the Shopify abandonment benchmarks.

06 · Privacy posture

On our infrastructure, PII masked first.

Intent scoring runs inside Freway. Session embeddings do not leave our servers, and raw personal data does not reach any LLM call.
  • Inference runs on Freway-controlled infrastructure. We do not stream session embeddings to third-party LLM providers.
  • PII (emails, phone numbers, payment details) is redacted before any LLM call. Names are tokenized when conversation context is needed.
  • Per-merchant data isolation is the default. A shopper signal from one merchant never influences a model serving another merchant unless both merchants have opted into cross-merchant intelligence.
  • Consent capture is documented in the consent policy.
07 · Limitations

Where the model has limits.

  • Per-individual accuracy is lower than aggregate accuracy. The score is a routing signal, not a deterministic prediction.
  • Anchor banks drift by vertical and over time. Recalibration is continuous, not one-shot.
  • Cold start: a new merchant's first ~100 sessions are scored with vertical defaults until enough merchant-specific signal exists to tune anchors.
  • Synthetic-consumer predictions used in pre-launch simulations are labelled as such in any merchant-facing artefact. They are directional, not forecasts.
  • Cross-vertical generalization is bounded. A merchant selling a new category is effectively cold-start on that category.

Further reading

Updated 2026-06-15

From first visit to repeat purchase

+10% completion lift guaranteed or your money back