Skip to content

Commit cc2044d

Browse files
authored
Merge pull request #50 from vanchaudhary/feature/fix-user-metrics-timefield
Feature/fix user metrics timefield
2 parents 3b7238c + 7a85f2e commit cc2044d

File tree

6 files changed

+6639
-5689
lines changed

6 files changed

+6639
-5689
lines changed

README.md

Lines changed: 50 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -265,32 +265,55 @@ The choice of variables is dynamically associated with the data display
265265
266266
Based on the data from [Get Copilot User Metrics](https://docs.github.com/en/enterprise-cloud@latest/rest/copilot/copilot-usage?apiVersion=2022-11-28#get-a-summary-of-copilot-user-metrics), this module provides comprehensive per-user analytics including:
267267

268-
**Key Metrics:**
269-
- **Total Users** = `cardinality(user_login)` - Unique users with Copilot activity
270-
- **Total Suggestions** = `sum(code_generation_activity_count)` - Code suggestions generated across all users
271-
- **Total Acceptances** = `sum(code_acceptance_activity_count)` - Code suggestions accepted by users
272-
- **Acceptance Rate** = `sum(code_acceptance_activity_count) / sum(code_generation_activity_count)` - Overall acceptance percentage
273-
- **Active Days** = `cardinality(day)` - Distinct days each user engaged with Copilot
274-
- **Adoption Score** = `(active_days / total_days_in_period) × 100` - User engagement percentage
275-
276-
**Per-User Analytics Table:**
277-
- User-initiated Interactions = `sum(user_initiated_interaction_count)`
278-
- Code Suggestions Generated = `sum(code_generation_activity_count)`
279-
- Code Suggestions Accepted = `sum(code_acceptance_activity_count)`
280-
- Average LOC Suggested = `avg(loc_suggested_to_add_sum)`
281-
- Average LOC Added = `avg(loc_added_sum)`
282-
- Agent Usage = `sum(used_agent)` - Copilot Agent feature usage count
283-
- Chat Usage = `sum(used_chat)` - Copilot Chat feature usage count
284-
- Active Days = `cardinality(day)` - Days with any Copilot activity
285-
286-
**Top 10 Copilot Users Leaderboard:**
287-
- Visualizes top 10 users by adoption percentage
288-
- Color-coded gradient from red (low adoption) to blue (high adoption)
289-
- 🔴 Red (0-40%): Needs attention
290-
- 🟠 Orange (40-60%): Moderate usage
291-
- 🟡 Yellow (60-80%): Good engagement
292-
- 🟢 Green (80-95%): Excellent adoption
293-
- 🔵 Blue (95-100%): Power user
268+
#### Summary Panels & Detailed User Analytics
269+
270+
![](image/user-metrics-summary.png)
271+
272+
**Four key metric panels provide at-a-glance insights:**
273+
274+
- **Total Users** = `cardinality(user_login)` - Unique count of users with Copilot activity in the selected time range
275+
- **Total Suggestions** = `sum(code_generation_activity_count)` - Total number of code suggestions generated across all users
276+
- **Total Acceptances** = `sum(code_acceptance_activity_count)` - Total number of code suggestions accepted by users
277+
- **Acceptance Rate** = `sum(code_acceptance_activity_count) / sum(code_generation_activity_count)` - Overall acceptance percentage showing code quality and relevance
278+
279+
**Comprehensive per-user breakdown with sortable columns:**
280+
281+
- **User** - GitHub username/login
282+
- **User Initiated Interactions** = `sum(user_initiated_interaction_count)` - Direct user actions requesting Copilot suggestions
283+
- **Code Suggestions Generated** = `sum(code_generation_activity_count)` - Number of code completions offered to the user
284+
- **Code Suggestions Accepted** = `sum(code_acceptance_activity_count)` - Number of suggestions the user accepted
285+
- **Average LOC Suggested** = `avg(loc_suggested_to_add_sum)` - Average lines of code suggested per interaction
286+
- **Average LOC Added** = `avg(loc_added_sum)` - Average lines of code actually added from suggestions
287+
- **Agent Usage** = `sum(used_agent)` - Count of Copilot Agent feature usage (GitHub Copilot Workspace, CLI, etc.)
288+
- **Chat Usage** = `sum(used_chat)` - Count of Copilot Chat interactions
289+
- **Active Days** = `cardinality(day)` - Number of distinct days the user engaged with Copilot
290+
291+
#### Activity Visualizations & Top 10 Users Leaderboard
292+
293+
![](image/user-metrics-charts.png)
294+
295+
**Two time-series charts show engagement patterns:**
296+
297+
**Daily Active Users:**
298+
- Line chart showing unique user count per day
299+
- Helps identify usage trends, peak days, and adoption velocity
300+
- Formula: `cardinality(user_login)` per day
301+
302+
**Code Generation & Acceptance Activity:**
303+
- Dual-line chart comparing suggestions generated (green) vs accepted (yellow)
304+
- Reveals code quality trends and user satisfaction over time
305+
- Green line: `sum(code_generation_activity_count)` per day
306+
- Yellow line: `sum(code_acceptance_activity_count)` per day
307+
308+
**Horizontal bar chart showcasing top performers by adoption percentage:**
309+
310+
- **Adoption Score** = `(active_days / 28) × 100` - Percentage of days in the 28-day window with Copilot activity
311+
- Color-coded gradient indicating engagement level:
312+
- 🔴 Red (0-40%): Needs attention - may require training or support
313+
- 🟠 Orange (40-60%): Moderate usage - room for improvement
314+
- 🟡 Yellow (60-80%): Good engagement - regular user
315+
- 🟢 Green (80-95%): Excellent adoption - heavy user
316+
- 🔵 Blue (95-100%): Power user - Copilot champion candidate
294317

295318
**Automated Data Collection:**
296319
- Runs every hour (configurable via `EXECUTION_INTERVAL_HOURS`)
@@ -299,15 +322,14 @@ Based on the data from [Get Copilot User Metrics](https://docs.github.com/en/ent
299322
- Stores in 2 Elasticsearch indexes: `copilot_user_metrics` (raw data) and `copilot_user_adoption` (leaderboard scores)
300323
- No manual intervention required
301324

302-
![](image/user-metrics-dashboard.png)
303-
304325
**Use Cases:**
305326
- Identify power users and champions for Copilot evangelism
306327
- Track onboarding progress for new Copilot users
307328
- Spot users who need additional training or support
308329
- Measure team-level adoption trends over time
309330
- Monitor Chat and Agent feature adoption rates
310331
- Correlate active days with productivity metrics
332+
- Generate executive reports on Copilot ROI
311333

312334

313335

grafana-provisioning/dashboards/user_advance_metrics_dashboard.json

Whitespace-only changes.

image/user-metrics-charts.png

164 KB
Loading

image/user-metrics-summary.png

166 KB
Loading

0 commit comments

Comments
 (0)