Skip to content

Understanding metric cards

This guide explains what each metric card on the Metrics page (Business Metrics) shows and how it is calculated. Hover the icon beside any card label for a one-line summary; this page has the full definitions. All values depend on the errors detected in your targets and the AI fixes applied in the selected period, and respect your filters (date range, target, target type, target language, target framework, error types, severity, language, framework) and your hourly rate (set in Profile → Personal metrics, or the workspace default when you have not set one).


Metric cards

Time saved (h)

What it is: Total hours saved by using AI fixes instead of manual debugging, for the selected period.

How it's calculated: For each successful AI fix, we compare the time the AI took to fix the error to the expected time a human would take for that error type (using configured min/max assumptions per error type). Time saved per fix = expected human time (minutes) − actual AI fix time (minutes), or zero if the AI was slower. Total time saved (hours) = sum of all time saved (in minutes) ÷ 60, rounded to 2 decimals.


Daily avg (h)

What it is: Average hours saved per day in the selected period.

How it’s calculated: Daily average (h) = Total time saved (hours) ÷ number of days in the period, rounded to 2 decimals.


Money saved

What it is: Estimated money saved by using AI fixes, based on the time saved and your hourly rate.

How it's calculated: Money saved = Total time saved (hours) × Hourly rate. Set your rate in Profile → Personal metrics. If you leave it blank, the workspace default is used. Currency and number format follow your profile preferences.


Errors fixed

What it is: Number of errors successfully fixed by AI apply in the selected period.

How it's calculated: Count of terminal outcome success only (connector apply succeeded and was accepted).


Manual fixes (suggestion)

What it is: Errors you marked fixed using the Patcherly suggestion after rejecting the patch or via Mark as manually fixed.

How it's calculated: Count of terminal outcome manual_fixed_suggestion.


Manual fixes (own code)

What it is: Errors you marked fixed with your own code after rejecting the patch or via Mark as manually fixed.

How it's calculated: Count of terminal outcome manual_fixed_own.


Ignored after reject

What it is: Errors closed as not needed after you rejected the AI patch.

How it's calculated: Count of terminal outcome unresolved_after_reject.


Rollbacks

What it is: Number of AI fixes that were rolled back (restored by you or a user).

How it’s calculated: Count of errors with status rolled_back (the AI fix was reverted).


Manual burden

What it is: Percentage of detected errors that needed own-code manual work, were ignored after reject, or were rolled back.

How it’s calculated: Manual burden (%) = 100 × (Manual fixes (own code) + Ignored after reject + Rollbacks) ÷ Total errors detected, rounded to 2 decimals.


Resolution rate

What it is: Percentage of detected errors that were fixed by AI apply.

How it’s calculated: Resolution rate (%) = 100 × (Errors fixed) ÷ (Total errors detected), rounded to 2 decimals.


Total errors

What it is: Total number of unique errors detected in the selected period (within your filters).

How it’s calculated: Total errors detected = unique errors with a terminal or in-flight outcome in the period, excluding pre-analysis Hide rows and path-Excluded rows (pattern-matched ignores at ingest follow the same rule). Includes reject-not-needed, manual fixes, rollbacks, pending in period, etc.

Two paths to Ignored status (metrics differ)

Path Trigger In Total errors? Metric card
Hide Error & Ignore (pre-analysis) Hide before analysis No — (invisible to KPIs)
Hide Error & Ignore (post-apply) Hide after failed/rolled back apply Yes (terminal stays rollback/failure)
Reject patch → not needed Reject after analysis Yes Ignored after reject

Confidence avg

What it is: Average AI confidence score for all attempted fixes in the period.

How it’s calculated: Confidence average = sum of confidence scores for all attempted fixes ÷ number of attempts, shown as a percentage (e.g. 0.85 → 85%), rounded to 2 decimals.


Success rate

What it is: Percentage of AI fix attempts that were recorded as successful.

How it’s calculated: Success rate (%) = 100 × (number of successful fixes) ÷ (total fix attempts), rounded to 2 decimals.


Top error source

What it is: The error type that appeared most often in the selected period.

How it’s calculated: The error type with the highest count in your filtered data (e.g. syntax, runtime, logic).


Charts

  • Time & Money Saved Over Time: Time saved (hours) and money saved over each day or period; same formulas as the Time saved and Money saved cards.
  • Errors by Type / by Severity: Counts grouped by error type or by severity.
  • Errors by Language / by Framework: Counts grouped by code language or framework (from error metadata).
  • Error Types Over Time / Severities Over Time: How counts for each type or severity change over the selected period.
  • Confidence & Success Over Time: Average confidence and success rate over time.
  • AI vs Manual resolution trend: AI-fixed errors (success) vs total detected over time.

Filters and settings

  • Date range: All metrics and charts are limited to the period you choose (e.g. current month, past 30 days, custom range).
  • Target: Restricts data to the target(s) you select in your workspace.
  • Target type: Restricts data to one or more connector flavors (WordPress, PHP, Python, Node.js). Stamped on each error at detection so historical filtering keeps working even after the underlying target is deleted.
  • Target language / Target framework: Restricts data to errors that came from targets whose primary language or framework matches your selection (e.g. only show metrics for Python or Django targets). Different from the per-event Language / Framework filter below — those filter individual error rows by the language detected in the offending file. Hidden when your workspace only has one target (or one language/framework across all targets).
  • Error types / Severity: Only errors whose type or severity is in your selected list are included.
  • Language / Framework: Only errors whose code language or framework is in your selected list are included (from error metadata).
  • Include deleted targets: Off by default — only currently active targets contribute to the cards and charts so removed sites do not inflate recent totals. Toggle on to include soft-deleted targets (useful when reviewing history before a target was removed).
  • Hourly rate: Set in Profile → Personal metrics. Used for Money saved only.

For your hourly rate, open Profile → Personal metrics in the dashboard.