AI usage attributes

DX automatically assigns attributes based on AI tool usage levels, using system data. These attributes can be used in reporting features where segmentation by AI usage is necessary.

How are usage levels calculated?

Thresholds are only calculated when a tool has at least 4 full weeks of imported data and at least 8 active users. Until both conditions are met, no usage level attribute will be assigned for that tool.

For each AI tool, DX calculates a per-user volume over the past 4 full weeks (Mon–Sun) using the metric most representative of that tool’s usage. It then computes the 25th, 50th, and 75th percentiles across your organization’s users with non-zero volume and assigns each user one of the following usage levels:

  • Heavy: >= 75th percentile
  • Moderate: >= 50th percentile and < 75th percentile
  • Light: >= 25th percentile and < 50th percentile
  • Minimal: > 0 usage and < 25th percentile
  • None: zero volume

Thresholds are specific to your organization’s usage patterns. They are calculated once per tool and then reused for subsequent user assignments, so thresholds remain stable as users are added or removed. Thresholds are only recalculated when a DX admin explicitly triggers a refresh.

What updates automatically vs. manually?

It’s important to distinguish between two things that can change over time:

  • User assignments (which bucket a user is in): This data is updated automatically each night. As users’ usage volumes shift, they move between Heavy/Moderate/etc. based on the existing thresholds.
  • Thresholds (the volume cutoffs that define each bucket): Once set, this data is only updated when an admin manually refreshes them. This keeps the definition of Heavy/Moderate/etc. stable for your org until you explicitly decide to shift it.

How do I refresh thresholds?

A DX admin can trigger a recalculation at any time from the attribute’s admin page:

  1. Go to Settings → Attributes and open the AI usage attribute you want to refresh (for example, “Cursor usage level”).
  2. Click Update thresholds in the top-right of the page, and confirm in the dialog that appears.

When you refresh thresholds for an individual tool, DX recomputes that tool’s 25th/50th/75th percentiles from the latest 4 complete weeks of data and reassigns every user to the appropriate usage level. If the combined “AI usage level” attribute exists, it is also recomputed to reflect the new per-tool assignments.

To refresh every tool at once, open the combined AI usage level attribute and click Recalculate all tools. This recalculates thresholds for each individual AI tool, then updates the combined attribute based on the new per-tool results. Recalculation runs in the background and may take a few minutes to complete.

Per-tool metrics

Each tool uses best available metric that reflects how usage is measured by its vendor:

Tool Metric (last 4 weeks)
Amazon Q Lines of code (inline, chat, code fix, dev, inline chat, and test generation)
Claude Code (Anthropic Console) Tokens used (input + output + cache creation + cache read)
Claude Code (Enterprise) Lines of code (added + removed)
Codex Credits used
Cody Total events (code navigation + chat + commands)
Cursor Tokens used (input + output + cache write + cache read)
Devin Devin ACUs consumed
Firebender Lines of code (agent and inline, accepted additions + removals)
GitHub Copilot Lines of code (added + deleted)
Sourcegraph Amp Lines of code (added + deleted + modified)
Tabnine Total interactions (completions + chat interactions + lines completed)
Windsurf Prompts used
All other tools Active days

How is the overall AI usage level calculated?

When more than one AI tool is connected, DX also assigns a combined “AI usage level” attribute for each user based on their per-tool usage levels:

  • Heavy: Heavy in 1 tool, or Moderate in 2+ tools
  • Moderate: Moderate in 1 tool, or Light in 2+ tools
  • Light: Light in 1 tool, or Minimal in 2+ tools
  • Minimal: Minimal in 1 tool
  • None: No usage in any tool

For custom logic, you’ll need to manage your own user attributes. For more information, read Custom user attributes.