Skip to content

Insights Tool

The Insights tool provides a single-page analytics dashboard for workforce metrics. It uses a summary + expand pattern: key KPI cards are always visible, with six collapsible sections that reveal detailed charts when expanded.

Data is sourced from the users table (employee fields synced from Xero) and pay_summaries (salary data). Charts are rendered with Recharts.

Access LevelCan ViewCan Manage
ExecutiveYesYes
HeadYesNo
ManagerYesNo
LeadNoNo
EmployeeNoNo

All data shown is aggregate — no individual employee data is exposed in insights.

Six cards always visible at the top:

  • Total headcount — active employees, net growth in period
  • Turnover rate — percentage of leavers vs headcount, average tenure
  • Median salary — with min/max range
  • Average age — from date of birth data
  • Avg span of control — direct reports per manager, employee-to-manager ratio
  • Locations — count of distinct locations
  • Date range — from/to date pickers (defaults to last 12 months)
  • Location — dropdown filter populated from location data
  • Gender — optional filter

Each section shows inline summary stats when collapsed. Click to expand and reveal charts.

  • Area chart: total headcount over time (monthly)
  • Stacked bar chart: starters vs leavers per month
  • Line chart: turnover rate over time
  • Bar chart: tenure distribution (0-6mo, 6-12mo, 1-2yr, 2-5yr, 5yr+)
  • Donut chart: gender breakdown with percentages
  • Manager gender breakdown
  • Bar chart: age distribution by decade
  • Min/median/max salary display
  • Bar chart: salary band distribution (20k buckets)
  • Employment basis breakdown (full-time, part-time, casual, contractor)
  • Bar chart: span of control distribution
  • Team sizes list sorted by size
  • Donut chart: location breakdown
  • Table with location name, count, and percentage

Employee fields are populated via Xero Payroll sync during the /api/pays/refresh flow:

  • start_date, end_date, employment_status — from Xero StartDate, TerminationDate, Status
  • gender, date_of_birth — from Xero employee record
  • location — derived from Xero HomeAddress.Region or HomeAddress.City
  • employment_basis — from Xero EmploymentType
  • Salary data — from pay_summaries.annual_salary (cached from Xero)

Fields can also be set manually via the admin user management UI.

ComponentPurpose
insights-page.tsxMain page with filters, KPI row, and section layout
insight-section.tsxReusable collapsible section wrapper
headcount-chart.tsxHeadcount area chart + starters/leavers bar chart
retention-charts.tsxTurnover line chart + tenure distribution
diversity-charts.tsxGender donut + age distribution bar chart
compensation-charts.tsxSalary bands + employment basis
structure-charts.tsxSpan of control + team sizes
location-chart.tsxLocation donut + breakdown table