ForClarity Analytics

HR analytics · Hiring automation · AI for talent teams

People data you can put in front of the board.

I help HR, talent and finance teams connect their systems, fix the numbers that don't add up, and automate the manual work that slows hiring down. That includes AI tools like interview briefings that pull from the systems you already use.

Engineering headcount, Q3

Example
  • HRIS export 212
  • Finance plan 205
  • ATS, marked hired 219

One number everyone usesRebuilt nightly from point-in-time history, with tests that flag drift.

212
276changes shipped and reviewed in five months
206hiring-plan changes synced to the ATS in one validated upload
20+people and finance dashboards rebuilt or built new
30+data-quality bugs found and fixed at the source

Services

What I can take off your plate

Most HR teams already have the data. It's spread across an HRIS, an ATS, payroll and a finance model that each tell a slightly different story.

People reporting you can trust

Dashboards built on one agreed definition per metric, so "turnover" means the same thing in every meeting.

  • Headcount, attrition and org health
  • Time to fill and quality of hire
  • Compensation, probation and onboarding

Hiring workflow automation

Request, approval and notification flows that keep your ATS, HRIS and finance plan in step.

  • New role, backfill and change requests
  • Bulk updates for planning cycles
  • Reminders routed to the right manager

AI for talent teams

Practical tools that run on your own data and save interviewers and recruiters real time.

  • Interview briefings sent before every call
  • Draft scorecards after the interview
  • Claude skills for your team's recurring work

Data foundation and ongoing support

The pipelines, models and tests underneath it all, plus an analyst on call when a number looks off.

  • Warehouse, dbt models and orchestration
  • Tests, freshness checks and alerts
  • Monthly cost and usage breakdowns

Selected work

One engagement, five months

An embedded engagement with the People Analytics team at a multi-country tech scale-up. The client's name is withheld.

ClientTech scale-up, several countries
TeamPeople Analytics, TA, FP&A
RoleAnalytics engineer, embedded
ReportingWritten summary every month

The problem

The hiring plan lived in the ATS, the HRIS and the finance forecast, and the three drifted apart. Finance worried about roles being counted twice and about level or title changes made without approval.

What I built

  • An internal app where hiring managers request new roles, backfills and changes, and approvers sign off
  • A bulk-upload engine that validates large planning changes before they reach the ATS
  • A change log showing the budget impact of every change, converted to the right currency and split by approval gate
  • Automatic emails for backfill and out-of-plan requests, routed by role and org
~15 users in production206 reforecast changes in one upload129 open roles enriched with job family

The problem

Interviewers often joined calls without reading the application, and scorecards came in late or thin. That hurts candidate experience and makes quality of hire hard to measure.

What I built

  • A briefing for each interviewer that combines the candidate's application, the role's scorecard and earlier feedback, sent in Slack before the call
  • Automatic re-sends when an interview is rescheduled
  • A draft scorecard after each interview, with a direct link to the ATS scorecard
  • Coverage trackers showing which interviews got a briefing and a completed scorecard
  • Two Claude skills the team uses for recurring work
Runs daily on the client's own warehouseAI compute reported separately each month

The problem

Report logic lived inside legacy BI views that nobody fully trusted, and the old BI environment was being shut down at the end of the quarter.

What I built

  • Moved all BI view logic into tested dbt models
  • Rebuilt 10 finance reports, including headcount and cost by business group and location, attrition and hiring forecast
  • Rebuilt 5 people operations reports, including position data errors and time off
  • New dashboards for performance, candidate experience, onboarding, org health, office attendance, absences and rewards
  • New metrics: quarterly and rolling attrition, probation outcomes, Day 30 and Day 90 onboarding check-ins
20+ dashboards and reports10 stale models retiredMonth, quarter and year comparisons

The problem

Slow full refreshes of recruiting data, few tests, and warehouse costs that rose without a clear explanation.

What I built

  • Moved recruiting data ingestion to Airflow with incremental loads, which is faster and cheaper
  • Daily refresh jobs with alerts in a monitoring Slack channel
  • Upgraded the dbt project and added tests and freshness checks across marts
  • A cost breakdown by project, so leadership saw why spend rose 63% in a month before anyone had to ask

Along the way

Numbers that were wrong, and what fixed them

AreaWhat was happeningBeforeAfter
Interview countsCounting logic multiplied interviews in the TA dashboards1,331 shown176 actual
Office historyOffice came from each person's current record instead of their history, so past months were mislabeled after transfers269 employee-months wrongPoint-in-time history
Position IDsA precedence bug tied applications to the wrong position151 applicationsFixed at the source
Job levelsAn opening's level silently overrode the real offer level, showing a manager as an individual contributorWrong levelOffer and HRIS level win
Performance ratingsRatings stopped updating after post-review calibrationStale ratingsCalibrations synced
Hiring planRe-hire rows duplicated roles that were already filled, caught before a weekly business reviewDouble-counted rolesOne row per role

How I work

Small, reviewed changes on the tools you already pay for

  1. Start with the question

    What decision is this number for, and who needs it? The tool comes after that.

  2. Build on your stack

    Your warehouse, your BI tool, your ATS and HRIS. Nothing that stops working when I leave.

  3. Ship in small pieces

    Every change goes through code review and tests, so you can see exactly what moved and why.

  4. Report in writing

    A short summary every month of what shipped, what broke and what's next.

SnowflakedbtAirflowLookerStreamlitSnowflake CortexClaude CodeAshbyGreenhousePersonioCulture AmpSlackGitHub

Tired of rebuilding the same headcount report?

Tell me what your team is stuck on. I'll reply with how I'd approach it.

Email raj@forclarityanalytics.com
Send an email