wiki › Intent

Discriminating conditions

Discriminating conditions are aspects of a user's situation that vary across the groups a team is trying to tell apart. An aspect that comes out roughly the same across every group can't sort anyone, however on-topic it sounds; only the ones that actually split the groups do classification work.

Definition

The subset of an intent-cluster's conditions whose values vary meaningfully across clusters — the conditions that distinguish one intent from another.

The shared-vs-varying split

A cluster has many defining conditions. Some of them hold across every cluster the offering serves: every user has internet access, every user has some task they're trying to accomplish. Those conditions characterize each cluster accurately, but they don't help separate one cluster from another. A question that asks about them gets the same answer regardless of which cluster the user belongs to.

The conditions that sort are the ones whose values differ across clusters. If cluster A has condition X = true and cluster B has X = false, asking the user about X carries information — the answer collapses the space of plausible cluster memberships. Discriminating conditions are the subset of each cluster's full condition set whose values vary that way.

Discrimination depends on cross-cluster variation, which is a separate axis from within-cluster centrality. A condition can be Essential — definitional within its cluster, per condition tiering — and still fail to discriminate if it's Essential across every other cluster too. Information value for sorting is what makes a condition discriminating, not how central it is to the cluster it belongs to.

The cross-cluster comparison

Discriminating conditions get identified by running the tier decomposition on each cluster — sorting candidate conditions into Essential, Expected, and Related — and then laying the clusters side by side to see which conditions take different values across columns. The bulk of useful discrimination lives in the Essential and Expected tiers. Related-tier conditions correlate too weakly with cluster membership to anchor reliable sorting; their signal isn't sharp enough to route on.

The work is comparative. Inspecting a single cluster's condition list on its own won't surface its discriminating conditions; the other clusters' lists have to sit alongside it. A condition reveals itself as discriminating only when its value elsewhere is visible.

From condition to question

At runtime, the sorting hat operationalizes each discriminating condition by asking the user a factual question about their circumstances — see factual-circumstances for the rationale. The user's answer reads as a cluster signal, and the pattern of answers across several discriminating-condition questions infers cluster membership inside intent detection.

This is the bridge between upstream qualitative work that produces clusters and the runtime apparatus that classifies users into them. Without identified discriminating conditions, clusters remain well-defined categories with no instrument to sort users into them at runtime.

Example

An analytics tool for product teams has validated three intent clusters from upstream qualitative work: diagnosing a specific metric drop, instrumenting a new launch, and ongoing health monitoring of a mature product.

The clusters share several conditions — every user has a product, every user wants to see numbers about it, every user works with a team that cares about the result. None of those discriminate; the user's answer would be the same regardless of which cluster they belong to.

Two conditions vary across clusters:

  • Product is live with customers using it: false for the pre-launch instrumentation cluster, true for the other two.
  • There's a specific metric that recently changed: true for the diagnostic cluster, false for the other two.

Those are the discriminating conditions. A two-question sorting hat built on them — "Is your product live with customers?" and "Has a specific metric changed recently in a way you want to understand?" — collapses the three-cluster space cleanly and routes each user to the matching path.

See also