Skip to content

Exporting Business Metrics

Export your business metrics in CSV, XLSX, or PDF for analysis, reporting, or sharing.

Business Metrics focus on value delivered - time saved, money saved, successfully applied errors. For the per-event record of what happened on your sites and errors (approvals, applies, rollbacks, automation toggles), see Audit Logs. For AI tokens and cost, see Usage Analytics.

What can be exported?

Business metrics focus on value delivered, for example:

  • Time saved - hours and daily averages
  • Money saved - from time saved × hourly rate (where configured)
  • Error statistics - Successfully applied, failed, rolled back, fixed via suggestion / with own code, Closed as not needed, Not patchable, Ready to Patch, pending, and totals
  • Performance - AI patch confidence, Patch success, Active errors fixed, manual burden
  • Breakdowns - error sources, Patcherly MTTR (success-only) and Manual MTTR (Settings midpoint) by type, severity

Note: Business metrics exports do not include AI usage billing detail. For token/cost usage, see Usage Analytics.

How to export

Step 1: Open Metrics

  1. Go to Metrics in the main menu.

Step 2: Apply filters (optional)

  • Date range - preset or custom
  • Site - one or more sites
  • Domains, error types, severities, language, framework, workflow outcomes - when your workspace shows these filters

Fix outcomes export

On the Metrics page, Export fix outcomes downloads a CSV of per-error terminal outcomes (success, manual_fixed_suggestion, manual_fixed_own, unresolved_after_reject, rolled back, etc.) for the selected date range.

Filters that apply to fix-outcomes export: date range (preset or custom), site, tenant (superadmin), workflow outcomes, error types, and include deleted sites (when toggled). Other Metrics filters (severity, language, framework, target type / language / framework) apply to the aggregate export and on-screen KPI cards, but are not applied to the fix-outcomes CSV today.

Columns include terminal_outcome, patch_outcome, resolution_path (ai_apply for successful AI applies; reject_patch or mark_fixed for manual paths), and prompt_version (template-body hash when analysis stamped it). Per-row detail joins patch-outcome records and is available for roughly the last 90 days of raw metric events. Headline KPI cards and aggregate exports (CSV / XLSX / PDF) for longer periods - including All Time - still come from the permanent aggregated Metrics store. Requires Advanced analytics on your plan.

Step 3: Choose format (aggregate export)

  1. Click Export.
  2. Choose CSV, XLSX, or PDF.
  3. The file downloads (name is based on the date range and format).

Formats

  • CSV - spreadsheets and tools; plain data.
  • XLSX - Excel-friendly workbook with formatting.
  • PDF - easy to share or print.

Tips

  • Apply filters before exporting so the file matches what you see on screen.
  • Use CSV for further analysis; PDF for stakeholders.
  • Export on a schedule that fits your reporting (weekly/monthly).

Understanding exported data

Period change

Aggregate exports (CSV, XLSX, PDF) include a Period change column for the same KPI tiles that show month-over-month (or prior-window) % on the Metrics page. Values look like +12%, -5%, or New (activity in the current window with none in the previous). The column is blank for All Time, for non-compared rows (e.g. Ready to Patch, MTTR, breakdowns, APP-level KPIs), and when there is no meaningful prior-window delta.

Time saved

Based on configured estimates for human vs AI fix time for each error type, compared to what actually happened in the period.

Money saved

Money saved = time saved (hours) × hourly rate (from your profile or workspace defaults, where configured).

Patch success

Patch success = Successfully applied ÷ (Successfully applied + failed apply + rollbacks) in the selected period and filters.

Active errors fixed

Active errors fixed = Successfully applied errors (success terminal) ÷ active errors detected (excludes deleted, ignored, and path-excluded; same period and filters).

Ignored vs Closed as not needed

Aggregate exports include an Ignored row (errors_ignored) for hide-style rollup counts in the period. That is not the same as:

  • Closed as not needed (errors_unresolved_after_reject) - reject patch → not needed after analysis (its own export row and Metrics card)
  • Live error status Ignored on the Errors page: Hide / reject-not-needed workflow state

Pre-analysis Hide and pattern-matched ingest ignores do not appear in unique totals the same way as apply outcomes.