Evaluate coding efficiency

Overview

Socratic helps you understand your code delivery performance by analyzing pull request data from your Git repositories. Ask questions about merge time, review time, and throughput, and receive detailed insights with interactive visualizations that trend these metrics over time.

To connect Socratic to GitHub, go to Settings > Integrations > GitHub.

Code metrics may take up to 24 hours to appear after initial connection. They are refreshed nightly.

How it works

Socratic analyzes pull requests that are linked to your Jira issues to provide metrics on:

  • Merge time - How long it takes from PR creation to merge
  • Review time - Time from first review request to final approval (subset of merge time)
  • Throughput - Number of pull requests merged over time
  • Unlinked PRs - Pull requests not associated with any Jira issue

Socratic answers with detailed insights and interactive visualizations that trend code delivery changes over time.

The tool calculates metrics based on PR lifecycle events:

  • Merge time: Calculated from when the PR was created until it was merged
  • Review time: Calculated from when the first review was requested until the final approval
  • Throughput: Count of PRs merged within the specified time period

For trending analysis, Socratic compares metrics across multiple time periods (monthly, quarterly, or custom ranges) to identify improvements or degradations in your code delivery process.

You can ask to see code metrics for:

  • Repositories
  • Teams
  • Individual contributors
  • Projects
  • Issue types (e.g., Bug, Story)
  • Labels

Types of questions you can ask

Here are some examples of questions you can ask, organized by category:

Team and contributor analysis

  • "What was the average merge time for the Backend team last quarter?"
  • "Show me PR throughput for Sarah Robinson last month"
  • "Compare review time between Frontend and Backend teams for Q2"
  • "Which team has the fastest merge time?"
  • "Show me code metrics by team for the past month"

Repository analysis

  • "What was the merge time for the api-server repo last month?"
  • "Show me PR throughput trends for the mobile-app repo"
  • "Compare merge time across all repositories"
  • "Which repository has the longest review time?"

Project and issue type analysis

  • "Show me merge time for the Engineering project last quarter"
  • "What was the review time for bugs last month?"
  • "How many defect PRs did we merge last quarter?"
  • "Show me code metrics by issue type for the past month"

Label-based analysis

  • "What was the merge time for work labeled 'Customer' last month?"
  • "Show me PR throughput for issues labeled 'Tech Debt'"
  • "Compare review time by label for Q1"

Tracking unlinked PRs

  • "How many PRs were merged without linked issues last month?"
  • "What percentage of our PRs aren't linked to Jira issues?"
  • "Show me unlinked PRs for the past quarter"

Comparative analysis

  • "Show me code metrics by person for last month"
  • "Show merge time by project"
  • "Show me code metrics by repo for last quarter"

Capabilities & usage

Socratic provides flexible options for analyzing your code metrics:

Specify time ranges

You can ask about different time periods:

  • Specific dates: "from January 1 to March 31"
  • Relative periods: "last month", "this quarter", "past 6 weeks"
  • Predefined periods: "Q1 2024", "December 2023"

Filter by different dimensions

You can filter your analysis by:

  • Repositories
  • Teams
  • People
  • Projects
  • Issue types
  • Labels

Group results in different ways

Ask for breakdowns by:

  • Repository
  • Team
  • Person
  • Project
  • Issue type
  • Label

Available metrics

  • Merge time - Days from PR creation to merge (shows decimals for values under 0.5 days)
  • Review time - Days from first review request to approval (subset of merge time)
  • PR count - Number of pull requests merged
  • Unlinked PRs - PRs without associated Jira issues

Reading the results

Socratic provides a natural language summary of your code metrics, highlighting key insights and trends. The agent also provides interactive visualizations.

Depending on your question, you'll see:

Trend tab

  • Line charts showing metric trends over time
  • Comparison across multiple periods (e.g., past 5 months or quarters)
  • Different lines for each entity being compared (e.g., different teams or repos)
  • Units displayed in days (D) for merge and review time

Pull requests tab

Detailed table showing all merged PRs with:

  • PR title and link
  • Repository name
  • Author
  • Merge time (in days)
  • Review time (in days)
  • Merged date

Pull requests (no linked issue) tab

If PRs without linked Jira issues are found, you'll see:

  • List of unlinked PRs with same details as above
  • Percentage of total PRs that are unlinked
  • Helps identify gaps in your issue tracking

Best practices

Follow these best practices to get the most value from code metrics:

  • ✅ Include Jira issue keys in PR titles (e.g., "ENG-123: Add login feature")
  • ✅ Use consistent format: PROJECT-NUMBER (e.g., "ENG-123", "MOBILE-456")
  • ❌ PRs without issue keys won't be linked to Jira data

2. Be specific about time ranges

  • "Show merge time for the past 30 days"
  • "Show recent merge time" (too vague)

3. Use exact names when possible

  • "Show code metrics for the api-server repo for Q2"
  • "Show Sarah Johnson's PR throughput for the past month"
  • "That repo's metrics"

4. Compare meaningful groups

  • "Compare merge time between Backend and Frontend teams for Q1"
  • "Show review time by repository for the past quarter"

5. Monitor unlinked PRs

  • ✅ Regularly check what percentage of PRs lack Jira issue links
  • ✅ Use this to improve your team's PR practices

Common use cases

  • Engineering velocity tracking
  • Code review process improvement
  • Identifying delivery bottlenecks
  • Team performance comparison
  • Measuring impact of process changes
  • Developer productivity insights
  • Quality assurance of PR-to-issue linking