What Otis computes
Intent clusters
How Otis groups tasks with similar goals across your project, how it names those groups, and how they change from one run to the next.
An intent cluster is a group of tasks in which users were trying to do similar things. Otis forms the clusters from your project's own tasks, gives each one a name and a description, and fits them again as new activity arrives.
This page explains how clusters are formed and how they change over time, so that you know what a cluster's name and numbers refer to. Intent covers the summary and category that Otis writes for each single task.
Purpose of intent clusters
A task's summary says what one user wanted on one occasion. To decide what to build or fix, you need to know which goals are common, which are growing, and which go badly. Clusters give that view of the whole project.
The clusters come from your data and not from a fixed list. They can therefore show a use of your product that nobody planned for.
Cluster formation
Compared text
Otis turns a short text for each task into an embedding. An embedding is a list of numbers that represents the meaning of a text, so that two texts with similar meanings have similar numbers.
The text depends on the kind of task. For a conversation task it is based on what the user asked for. For a tool task it is the statement the agent gave of what it was trying to do. For an activity task it is the summary that lists the user's actions.
Tasks that shape the clusters
Only conversation tasks decide where the clusters are. Otis fits the clusters from recent conversation tasks, so that the clusters follow what users asked for in their own words.
Otis then assigns each of your project's tasks to its nearest cluster. That step includes tool tasks and activity tasks, so a cluster's counts cover all three kinds.
A project needs a minimum number of recent tasks before Otis fits clusters. When too few of them are conversation tasks, Otis fits that run from tasks of every kind.
Number of clusters
Otis doesn't use a fixed number of clusters. On each run it tries a range of numbers and picks the smallest number that separates the tasks well. A cluster with too few tasks isn't kept.
Every task goes to its nearest cluster. There is no separate group for tasks that fit nowhere, so each cluster holds some tasks that match its name only loosely.
Refit schedule
Otis refits clusters about once a day for a project that is sending telemetry. It runs more often during a project's first two weeks. A project that has sent nothing in the last 24 hours isn't refitted, and its last clusters stay in place.
If a run would put nearly every task into one cluster, Otis discards that run and keeps the previous clusters. A grouping in which nearly every task shares one cluster says nothing about your users.
Cluster names
An AI model names each cluster from a sample of its most typical tasks. It writes a short name and a one-sentence description.
A cluster keeps its name from run to run. Otis writes a new name only when the cluster is new, or when it has split or merged since the last run.
Each cluster is named on its own, so two clusters can have similar names.
Changes between runs
Each run fits the clusters afresh and then matches them to earlier ones.
- A cluster continues when it is nearly the same as an earlier cluster. It keeps that cluster's identity and name. A cluster that disappeared for a while can return under its earlier name.
- A cluster is new when it matches no earlier cluster. It gets a new name.
- A cluster splits when its tasks divide into two clusters. The part that still matches keeps the identity, and both parts get new names.
- Two clusters merge when their tasks join into one cluster. One of the two keeps its identity and gets a new name, and the other disappears.
The number of clusters can change from one run to the next, even when your users' behavior hasn't changed.
Reassignment of past tasks
Each run assigns past tasks to the current clusters. A cluster's count for a past week can therefore differ from the count you saw for that week earlier.
An insight is the exception. An insight about a cluster saves the list of users it measured, so its figures still describe the same users after the clusters change.
The cluster record
- Name and description. These are written by the model, with the sample summaries it was shown.
- Size. The number of tasks in the cluster that started in the last 14 days.
- Cohesion. How similar the tasks are to the center of the cluster, from 0 to 1. A low value means the cluster is loose.
- Change in size. The cluster's size compared with its size at the previous run.
- Whether it is growing or new. Otis marks a cluster as growing when its size has risen markedly since the previous run, and as new on the run in which it first appears. A very small or very loose cluster gets neither mark.
- Averages. The average duration of a task, and the average tokens and cost of its conversation tasks.
- Daily counts. For each day, the number of tasks, the share that showed satisfaction, and the share that showed frustration.
- Users. The number of distinct users with a task in the cluster over the last 30 days, and their segments. A user counts in every cluster that holds one of their tasks.
Clusters of documents and users
Otis also clusters documents and users, each separately from tasks. Documents are grouped by the purpose Otis wrote for each one, and users by the description Otis wrote of what each is trying to accomplish.
Otis doesn't cluster sessions, and the three sets of clusters aren't linked to each other.
Reading clusters
- A cluster and a category are different labels. A task's category is written once, when the task is recorded. Its cluster is reassigned on every run. Categories and clusters describes how the two relate.
- A name describes the center of a cluster. The tasks nearest the center fit the name well. Tasks at the edge are there because no other cluster was closer.
- A name isn't rewritten as a cluster drifts. A cluster that changes a little on each run keeps its identity and its name, so over a long period its tasks can move away from what the name says.
- Compare sizes over the same period. A cluster's size counts 14 days of tasks. The change in size compares one run with the previous run, so it is a short-term movement and not a week-over-week trend.
- A small project gets few clusters. With little activity, there are few distinct goals to separate.
- A new task can have no cluster yet. A task recorded since the last run joins a cluster at once only if it is a close match. Otherwise it is assigned on the next run.
Clusters in Otis
Clusters reach you in two ways:
- Insights. An insight can be about one cluster. The insight page calls a cluster a group of tasks. If the cluster later disappears, the page says that the group is no longer current, and it links to the users the insight measured. The link works for 30 days.
- Asking Otis. In chat, in Slack, or through the MCP server, you can ask questions such as which use cases are growing fastest, or what users in one cluster were trying to do.
In the data browser, the task list shows each task's category, which is a different label.
Related
- Intent covers the summary and category Otis writes for each task, each document and each user.
- Tasks covers the unit that clusters are made of.
- Segments and cohorts covers the groups of users that Otis compares clusters against.