Learn how to import GitFlow Analytics CSV exports into Excel and Google Sheets to create executive dashboards and track trends over time.
- GitFlow Analytics CSV files (in
./reports/directory) - Excel, Google Sheets, or similar spreadsheet tool
- Import CSV files to your spreadsheet tool
- Create pivot tables and charts
- Set up automatic weekly refresh (optional)
Result: Visual dashboards for team reviews, executive summaries, and quarterly planning.
GitFlow Analytics generates multiple CSV files, each optimized for different views:
| CSV File | Purpose | Key Columns | Best For |
|---|---|---|---|
| summary_YYYYMMDD.csv | Project-wide statistics | Total Commits, Ticket Coverage, Gini, Active Devs | Executive KPI cards |
| weekly_metrics_YYYYMMDD.csv | Week-by-week trends | Week, Commits, Developers, Ticket Coverage, Story Points | Velocity charts, trend lines |
| developer_focus_YYYYMMDD.csv | Developer profiles | Developer, Focus Score, Activity Score, Work Style | Team balance analysis |
| activity_distribution_YYYYMMDD.csv | Developer × Project matrix | Developer, Project, Commits, % of Work | Heatmaps, contribution matrices |
| qualitative_insights_YYYYMMDD.csv | Classification insights | Week, Feature %, Bug Fix %, Maintenance % | Work type trends |
Start with: summary_YYYYMMDD.csv and weekly_metrics_YYYYMMDD.csv for your first dashboard.
- Open Google Sheets
- File → Import → Upload
- Select
weekly_metrics_YYYYMMDD.csv - Import settings:
- Import location: "Replace spreadsheet"
- Separator type: "Comma"
- Convert text to numbers: "Yes"
Result: Weekly metrics data loaded into Sheet1.
Create a summary table for key metrics:
A. Insert Summary Section:
- Click cell A1
- Insert → Table (or manually create)
- Add these rows:
| Metric | Current Value | Previous Week | Change |
|---|---|---|---|
| Total Commits | =SUM(B:B) | ||
| Active Developers | =MAX(C:C) | ||
| Ticket Coverage | =AVERAGE(E:E) | ||
| Avg Commits/Week | =AVERAGE(B:B) |
B. Use Formulas: Replace column letters with actual column names from your CSV:
- Total Commits:
=SUM(Commits) - Active Developers:
=MAX(Active_Developers) - Ticket Coverage:
=AVERAGE(Ticket_Coverage)
A. Select Data:
- Highlight columns:
Week,Commits - Insert → Chart
B. Chart Settings:
- Chart type: Line chart
- X-axis: Week
- Y-axis: Commits
- Title: "Weekly Commit Velocity"
Customize:
- Add trendline (Series → Trendline)
- Add data labels for recent weeks
- Set colors (blue for velocity, red for trendline)
Result: Visual trend showing team velocity over time.
A. Select Data:
- Highlight:
Week,Ticket Coverage - Insert → Chart
B. Chart Settings:
- Chart type: Line chart
- Add benchmark line:
- Right-click chart → Series → Add series
- Create helper column with value 0.7 (70% benchmark)
- Add as second series, dashed line
Customize:
- Color: Green for coverage, gray dashed for benchmark
- Y-axis: Format as percentage (0% - 100%)
- Title: "Ticket Coverage Trend (Target: 60-80%)"
Result: Visual showing process adherence improvement.
Highlight cells based on thresholds:
A. Ticket Coverage Column:
- Select all Ticket Coverage values
- Format → Conditional formatting
- Rules:
- Green: >= 0.6 (60%)
- Yellow: 0.4 - 0.6 (40-60%)
- Red: < 0.4 (< 40%)
Result: At-a-glance health indicators.
- Open Excel
- Data → From Text/CSV
- Select
weekly_metrics_YYYYMMDD.csv - Import settings:
- File origin: "Unicode (UTF-8)"
- Delimiter: "Comma"
- Click Load
Result: Data loaded into new worksheet.
A. Insert PivotTable:
- Open
developer_focus_YYYYMMDD.csv - Select all data (Ctrl+A)
- Insert → PivotTable
B. PivotTable Settings:
- Rows: Developer
- Values:
- Total Commits (Sum)
- Focus Score (Average)
- Activity Score (Average)
C. Sort:
- Right-click values → Sort → Largest to Smallest
Result: Developer summary with key metrics.
A. Import Data:
- Open
activity_distribution_YYYYMMDD.csv
B. Create Matrix:
- Insert → PivotTable
- Rows: Developer
- Columns: Project
- Values: Commits (Sum)
C. Conditional Formatting:
- Select all values in PivotTable
- Home → Conditional Formatting → Color Scales
- Choose: White → Yellow → Red (low → high)
Result: Heatmap showing developer × project contributions.
A. Create New Sheet:
- Insert new worksheet named "Executive Dashboard"
B. Add KPI Cards: Create text boxes with large numbers for key metrics:
- Total Commits (link to summary.csv)
- Active Developers
- Ticket Coverage
- Velocity Trend (↑ or ↓)
C. Add Charts:
- Copy velocity chart from Sheet1
- Copy ticket coverage chart
- Copy classification pie chart (from qualitative_insights.csv)
D. Layout:
+------------------+------------------+------------------+
| Total Commits | Active Devs | Ticket Coverage |
| 324 | 8 | 78.4% |
+------------------+------------------+------------------+
| [Velocity Chart ----------------------] |
+-------------------------------------------------------+
| [Ticket Coverage Trend ---------------] |
+-------------------------------------------------------+
| [Classification Pie] | [Developer Matrix] |
+----------------------+-------------------------------+
Result: Single-page executive dashboard.
Purpose: High-level KPIs for stakeholders.
Data Sources:
summary_YYYYMMDD.csvweekly_metrics_YYYYMMDD.csv
Components:
KPI Cards (Top Row):
- Total Commits: 324 (↑ 12% vs last period)
- Active Developers: 8
- Ticket Coverage: 78.4% (✅ Above benchmark)
- Velocity: 40.5 commits/week (↑ Stable)
Charts:
- Line Chart: Weekly commit velocity (8 weeks)
- Line Chart: Ticket coverage trend with 60-80% benchmark bands
- Pie Chart: Classification breakdown (Features, Bug Fixes, Maintenance)
- Bar Chart: Top 5 contributors
Update Frequency: Weekly
Target Audience: Directors, VPs, Product Managers
Purpose: Monitor work distribution, focus, and balance.
Data Sources:
developer_focus_YYYYMMDD.csvactivity_distribution_YYYYMMDD.csv
Components:
KPI Cards:
- Gini Coefficient: 0.24 (✅ Balanced)
- Avg Focus Score: 68.3% (✅ Healthy specialization)
- Extended Hours Developers: 0 (✅ No burnout risk)
Charts:
- Heatmap: Developer × Project contribution matrix
- Scatter Plot: Activity Score (X) vs Focus Score (Y)
- Quadrants: High Activity/High Focus, High Activity/Low Focus, etc.
- Bar Chart: Work style distribution (Highly Focused, Focused, Multi-project)
- Table: Developer profiles with Activity Score, Focus Score, Time Pattern
Update Frequency: Monthly
Target Audience: Engineering Managers, Team Leads
Purpose: Track process adherence and quality metrics.
Data Sources:
weekly_metrics_YYYYMMDD.csvqualitative_insights_YYYYMMDD.csv
Components:
KPI Cards:
- Ticket Coverage: 78.4% (Target: 60-80%)
- Commit Quality: 45.2 words/message (✅ Detailed)
- Untracked Work: 21.6% (Mostly maintenance)
Charts:
- Line Chart: Ticket coverage trend (12 weeks)
- Stacked Area Chart: Classification trends over time
- Features (blue)
- Bug Fixes (red)
- Maintenance (green)
- Bar Chart: Untracked work breakdown (Features, Bug Fixes, Maintenance)
- Table: Platform distribution (JIRA, GitHub, ClickUp, Linear)
Update Frequency: Weekly (for sprint retrospectives)
Target Audience: Scrum Masters, Engineering Managers
Purpose: Support sprint planning and capacity estimates.
Data Sources:
weekly_metrics_YYYYMMDD.csvdeveloper_focus_YYYYMMDD.csvstory_point_correlation_YYYYMMDD.csv(if available)
Components:
KPI Cards:
- Avg Velocity: 40.5 commits/week
- Story Points/Week: 23 (if tracked)
- Velocity Trend: ↑ Growing (12% vs last month)
Charts:
- Line Chart: Weekly velocity with 4-week moving average
- Bar Chart: Velocity by developer (shows capacity distribution)
- Scatter Plot: Story Points vs Commits (correlation analysis)
- Forecast: Projected velocity for next 4 weeks (based on trend)
Update Frequency: Weekly (before sprint planning)
Target Audience: Scrum Masters, Product Managers
| Metric | Best Chart Type | Why | Example Setup |
|---|---|---|---|
| Commit Velocity | Line chart | Shows trends over time | X: Week, Y: Commits, Add trendline |
| Developer Distribution | Horizontal bar chart | Easy name comparison | X: Commits, Y: Developer, Sort descending |
| Classification Mix | Pie or donut chart | Shows proportions clearly | Values: Feature %, Bug %, Maintenance % |
| Work Balance (Gini) | Gauge or bullet chart | Single value vs threshold | Value: Gini, Threshold: 0.3 |
| Ticket Coverage Trend | Line chart with bands | Shows target range | Y: Coverage %, Add 60% and 80% reference lines |
| Developer × Project | Heatmap | Multi-dimensional view | Rows: Developers, Cols: Projects, Color: Commits |
| Activity Score | Scatter plot | Shows clusters/outliers | X: Activity Score, Y: Focus Score |
| Weekly Trends | Stacked area chart | Shows composition over time | X: Week, Y: Commits, Stack: Classification |
Use Case: Import latest CSV automatically each week.
Setup:
- Upload CSV to Google Drive (same location each week)
- In Google Sheets, use
IMPORTDATA():=IMPORTDATA("https://drive.google.com/your-csv-url") - Share Drive folder with team (view-only)
- Update CSV file weekly (overwrite with same name)
Result: Dashboard auto-refreshes when CSV updates.
Setup:
- Import two periods:
weekly_metrics_current.csvandweekly_metrics_previous.csv - Create calculated columns:
Change = Current - Previous% Change = (Current - Previous) / Previous
- Add conditional formatting:
- Green: Positive change (e.g., ticket coverage improving)
- Red: Negative change (e.g., velocity declining)
Result: Side-by-side comparison with trend indicators.
Use Case: Quarterly review presentation.
Setup:
- Copy charts from Excel/Sheets
- Paste into PowerPoint/Keynote
- Add context text boxes:
- "Ticket coverage improved 15% this quarter"
- "Team velocity stable at 40 commits/week"
- Highlight key insights with callout boxes
Result: Executive-ready presentation slide.
Use Case: Remove weekly spikes for clearer trends.
Excel Formula:
=AVERAGE(B2:B5) // In cell C5 (rolling avg of weeks 2-5)
Drag formula down for each week.
Google Sheets Formula:
=AVERAGE(B2:B5)
Result: Smoothed velocity trend showing true pattern.
Pros:
- ✅ Free, collaborative
- ✅ Cloud-based (access anywhere)
- ✅ Easy sharing with team
- ✅
IMPORTDATA()for auto-refresh
Cons:
- ❌ Limited advanced features (vs Excel)
- ❌ Performance issues with large datasets (>10K rows)
Best For: Small teams, simple dashboards, collaborative tracking
Pros:
- ✅ Powerful features (PivotTables, advanced charts)
- ✅ Offline access
- ✅ Handles large datasets well
- ✅ Familiar to most users
Cons:
- ❌ License cost ($70-150/year)
- ❌ Not collaborative (unless using Office 365)
- ❌ Manual CSV import (no auto-refresh without macros)
Best For: Offline analysis, advanced users, large datasets
Pros:
- ✅ Beautiful, interactive dashboards
- ✅ Advanced analytics (forecasting, clustering)
- ✅ Publish to web for stakeholders
- ✅ Real-time data connections
Cons:
- ❌ Expensive ($70+/month per user)
- ❌ Steep learning curve
- ❌ Overkill for simple dashboards
Best For: Enterprise dashboards, executive presentations, advanced analytics
Pros:
- ✅ Database-connected (auto-refresh)
- ✅ Shareable dashboards
- ✅ SQL-based (customizable)
Cons:
- ❌ Requires database setup (can't use CSVs directly)
- ❌ Technical setup needed
- ❌ Metabase free, Looker expensive
Best For: Engineering-integrated BI, teams with data infrastructure
Pros:
- ✅ Powerful like Tableau
- ✅ Free tier available (Power BI Desktop)
- ✅ Integrates with Microsoft ecosystem
Cons:
- ❌ Windows-only (Desktop version)
- ❌ Steeper learning curve than Excel
Best For: Microsoft shops, Windows users, enterprise teams
Workflow:
- Run GitFlow Analytics every Monday:
gitflow-analytics -c config.yaml --weeks 4
- Import new CSVs to Google Drive (overwrites previous)
- Dashboard auto-refreshes (if using
IMPORTDATA()) - Share dashboard link in weekly team meeting
Time Savings: 15 minutes/week (vs manual import + chart updates)
Workflow:
- Run analysis with longer period (12 weeks):
gitflow-analytics -c config.yaml --weeks 12
- Compare to previous month's report
- Create comparison dashboard (this month vs last)
- Present in monthly all-hands
Focus: Trends, not daily/weekly volatility
Workflow:
- Run analysis for full quarter (12-16 weeks)
- Create executive one-pager:
- Key metrics summary
- Major trend charts
- Recommendations for next quarter
- Export to PowerPoint/PDF
- Present to leadership
Output: Data-driven insights for quarterly planning
Cause: Encoding issues or malformed CSV.
Fix:
- Google Sheets: Use "UTF-8" encoding on import
- Excel: Data → From Text/CSV → Set encoding to "Unicode (UTF-8)"
Cause: Column headers not recognized.
Fix:
- Ensure first row is headers (Week, Commits, etc.)
- Re-create chart and manually select correct columns
Cause: Dates imported as text.
Fix:
- Google Sheets: Format → Number → Date
- Excel: Right-click column → Format Cells → Date
Cause: Ticket Coverage imported as 0.78 instead of 78%.
Fix:
- Google Sheets: Format → Number → Percent
- Excel: Right-click column → Format Cells → Percentage
- ✅ Import
weekly_metrics.csvto Google Sheets - ✅ Create velocity line chart (5 minutes)
- ✅ Add ticket coverage chart with benchmark line
- ✅ Share dashboard link with team
- ✅ Create Executive Summary Dashboard with multiple CSVs
- ✅ Set up conditional formatting for health indicators
- ✅ Add PivotTables for developer summaries
- ✅ Implement auto-refresh with
IMPORTDATA()
- ✅ Create Team Health Dashboard with heatmaps
- ✅ Build comparison dashboard (this month vs last)
- ✅ Export to Tableau/Power BI for advanced analytics
- ✅ Integrate with your existing BI infrastructure
- Report Interpretation Guide - Understand the data before visualizing
- Metrics Reference - Definitions and benchmarks
- Quick Start Guide - Getting your first reports
Questions? See the FAQ or ask your technical lead for CSV file locations.