The Challenge
The client, a global technology services provider, was building a new skills framework to better align its workforce with incoming client demand. On paper, the idea was simple: describe every job in a common language of skills, then match people to work based on that language. In practice, the job descriptions arriving from customers were dense, inconsistent blocks of free text, and the associate data lived across separate spreadsheets that had never been designed to talk to each other.
A Day in the Life: Before Our Solution
Every new job description landed in someone's inbox as an unstructured wall of text: required skills, nice-to-haves, certifications, and role details all run together. A team member would read through it, manually decide which of the company's defined skill clusters it belonged to, and note which clusters were an exact fit versus a rough approximation. Multiply that by daily incoming JDs and a growing associate bench, and matching the right person to the right demand became a game of institutional memory and spreadsheet cross-referencing. There was no consistent way to say how good a match actually was, or what a near-miss associate would need to learn to close the gap.
Pain Points:
- Job descriptions arrived as unstructured free text with no standard mapping to skill clusters
- No repeatable method to distinguish "must-have" (anchor) skills from "nice-to-have" (supplementary) skills at scale
- Associate data was split across disconnected spreadsheets (skills, proficiency, cluster fit)
- No scoring system to rank how well an associate matched a piece of demand
- Skill gaps for near-matches were invisible, so reactive and proactive upskilling had no data to run on