Skip to main content

AI Usage > Actor

Written by Tom Williams

Dataset: AI Usage

Entity: AI Usage Measurement

Field ID: actor_username

Type: Text

Description: The name of the person the measurement is attributed to. Note that names are app specific: GitHub reports a login while other providers report the person's display name, or their email address when they have none. API keys and service accounts are reported under their name or ID.

Note: Empty on REPOSITORY, ORGANIZATION and ENTERPRISE records, which have no single actor.

Source: App

Transformation logic: N/A

App Mapping

GitHub Copilot

user_login

Claude Platform

Claude Code usage: the member's name, else actor.email_address, for people; actor.api_key_name for API actors.

API usage: the member's name, else their email address, for account_id, which is kept as is when it is not a current member; service_account_id for service accounts.

Cursor (coming soon)

email / userEmail

OpenAI Platform

the member's name, else their email address, for user_id, which is kept as is when it is not a current member; api_key_id for keys with no user

OpenAI Codex Enterprise

the user's email address, else their user_id, as published by the analytics API

Reporting Use Cases

The Actor field is the basis of all per-developer AI reporting: who is using AI tools, how much, and on what.

  • Adoption by person: Use it as a dimension with SUM(interactions) or SUM(output_tokens) to see how AI usage is distributed across the team.

  • Active developer counts: COUNT_DISTINCT(actor_username) over aggregation_level = USER records gives the number of people who used an AI tool in a period, on one consistent definition across providers.

  • Personal dashboards: Use the is me operator to build an insight that shows only the viewer's own AI usage.

  • Excluding service accounts: Filter on actor_type = HUMAN rather than pattern matching on the username.

  • Not comparable across providers: GitHub gives a login and the other providers give the person's name or email address, so the same person appears as two actors when two integrations are connected. Scope cross-provider per-person reports to one provider, or expect the distinct count to be too high.

Did this answer your question?