Employee Retention
Employee retention teams can use Lightcast data to analyze workforce trends related to compensation, benefits, aging workforce, and employee movement. This helps organizations understand retention risks and make informed decisions to improve employee retention strategies. Below are some common use cases.
Use Cases
Benefits and Bonus Research Over Time
Identify job postings for a specific industry over a defined time period, and then analyze the benefits and bonuses offered in those postings over time.
APIs Used
- Authentication
- Job Postings – US – Identify the industry, time range, and retrieve job postings data
Python Example
Role Supply and Attrition by Age
Market Salary for a Role
Classify a raw job title to the Lightcast Occupational Taxonomy (LOT), and then use that LOT to retrieve market salary data for the role.
APIs Used
- Authentication
- Classification – Classify raw job titles to the Lightcast Occupational Taxonomy (LOT)
- Market Salary API
Python Example
Compensation by Standard Occupational Classification (SOC) Level
Normalize a raw job title to the Standard Occupational Classification (SOC), and then use that SOC to retrieve national compensation data.
APIs Used
- Authentication
- Classification – Normalize raw job titles to SOC
- Compensation API
Python Example
Employee Gain and Drain for a Specific Company
Analyze employee movement for a specific company by identifying increases and decreases in employee profiles over time using profile job history data.
Data Share Used
- Snowflake
SQL Example
SET target = 'Microsoft';
WITH TargetProfiles AS (
SELECT
ID
FROM
LIGHTCAST.US_PROFILES_PSEUDONYMIZED.PROFILES_JOBS
WHERE
COMPANY_NAME = $target
),
TargetedProfiles AS (
SELECT MAIN.*
FROM LIGHTCAST.US_PROFILES_PSEUDONYMIZED.PROFILES_JOBS MAIN
INNER JOIN TargetProfiles ON MAIN.ID = TargetProfiles.ID
WHERE
start_date is not null
AND company_name != ''
),
gain as (
SELECT source, destination, count(ID) as num_occurrences
FROM
(SELECT
LAG(COMPANY_NAME, 1) OVER (PARTITION BY ID
ORDER BY
start_date)
AS source,
COMPANY_NAME as destination,
ID
FROM TargetedProfiles
)
WHERE destination = $target
AND source != ''
AND source is not null
GROUP BY SOURCE, DESTINATION
ORDER BY NUM_OCCURRENCES DESC
),
drain as (
SELECT source, destination, count(ID) as num_occurrences
FROM (SELECT
COMPANY_NAME as source,
LEAD(COMPANY_NAME, 1) OVER (PARTITION BY ID
ORDER BY
start_date)
AS destination,
ID
FROM TargetedProfiles
)
WHERE source = $target
AND destination != ''
AND destination is not null
GROUP BY SOURCE, DESTINATION
ORDER BY NUM_OCCURRENCES DESC
)
,
gain_drain_union as (
SELECT *
FROM gain
UNION ALL
SELECT *
FROM drain
)
select
distinct
source,
destination,
num_occurrences
from gain_drain_union
ORDER BY num_occurrences DESC;Updated about 1 month ago
