Concepts

Analytics

Team velocity from your GitHub data, measured for humans and bots on the same board.

Analytics measures your team's velocity from GitHub data: what merged, how fast it merged, and who shipped it. Every contributor counts, human engineers and AI agents alike, not just @ellipsis.

Why track team velocity

Once agents open pull requests, "are we shipping faster" stops being answerable by feel. Velocity analytics exist to answer three questions:

  • Is agent adoption working? If agents help, throughput rises and time to merge falls after you turn them on. If neither moves, change how you use them, not how hard you squint at anecdotes.
  • Who ships what? Humans and bots sit on the same leaderboard, so agent output is measured with the same yardstick as everyone else's instead of living in a separate tool's dashboard.
  • Is review keeping up? More authored code means more review load. Watching review counts next to merge speed shows whether the bottleneck moved from writing code to reviewing it.

The mechanism for all three is the same: every chart can be split between humans and bots. An author counts as a bot when GitHub marks the account as a bot or its login ends in [bot], like ellipsis[bot] or claude[bot]; everyone else is a human. Alongside that toggle, every chart honors a date range (the last 30 days by default) and repository and author filters.

Throughput

Output over time
One metric per day, counted on the merge day. Switch tiles to plot lines, commits, PRs, reviews, comments, or authors.
Lines changedCommitsPull requestsReviewsCommentsAuthorsTime to merge
May 27Jun 9Jun 22Last 30 daysReposAuthorsHumans vs bots

Read it twice: once on Humans only for the team's baseline, once on Bots only for what agents add on top. If the bot view is empty, your agents are configured but not shipping; if the human view falls while the bot view grows, work is shifting, not disappearing.

Speed

Time to merge
Per-day distribution of merged_at minus created_at, not an average. The box is the middle half of merged PRs; the tick is the median.
6.8h median
Interquartile box
p100p75p50p25p0

A distribution, because a few week-old pull requests hide behind any average. The humans vs bots toggle is the interesting comparison here: agent pull requests that merge markedly slower than human ones usually signal review hesitation, not agent slowness.

Attribution

Top authors
Contributors ranked by PRs merged. Humans and AI agents share the board.
Top authors
Lines
PRs
ellipsis[bot]
19.2k
58
Ppriya-shah
22.1k
44
Mmarcus-lee
17.8k
39
Ddani-okoro
14.0k
33
claude[bot]
9.4k
28

The leaderboard is where the humans vs bots split becomes concrete: ellipsis[bot] and claude[bot] rank alongside your engineers on identical metrics. That is the number to bring to the "are the agents worth it" conversation.

Beyond the dashboard

The same data backs two more views with the same filters. The Pull requests view lists every pull request in the window with its author, repository, lines changed, and status, and its over-time chart splits opened, merged, and closed without merging. The Reviews view tracks reviews, inline comments, and active reviewers per day, adds reviewer-type and review-status filters, and ends in a chronological feed of the feedback behind the counts. Under the throughput chart, a strip of derived ratios covers median time to first review, lines changed per pull request, reviews per pull request, and pull requests merged per author.

Programmatic access

Everything above is also an API: the /v1/analytics endpoints return the same aggregation with the same filters, and agent analytics reviewers|prs|reviews prints it in the terminal. Because they take any credential, an agent can query them mid-session, so "which apps review the most pull requests?" is one command: agent analytics reviewers --account-type bot.