Employee Retention Strategies

Leveraging Lightcast data you can get answers to common use cases related to employee retention strategies. Some common uses cases below include:


Benefits and Bonus Research Over Time

Description:

In this example we show the process of finding available job postings against a specific industry, and then finding certain bonuses or benefits a company has offered over a specific set of time.

APIs Used:

Python Example:



Role Supply and Attrition by Age

Description:

In this example we show the process of finding the amount of people in a certain role with their associated ages, and the expectations of percent retiring soon.

APIs Used:

Python Example:



Market Salary for a Role

Description:

In this example we show the process of taking a raw job title, classifying it to the Lightcast Occupational Taxonomy (LOT), and getting the market salary for that associated LOT.

APIs Used:

  • Authentication
  • Classification - Find the LOT versions and classify raw job titles to the LOT
  • [Market Salary] - Identify market salary for the classified LOT

Python Example:



Compensation by Standard Occupational Classification (SOC) Level

Description:

In this example we show the process of taking a raw job title, classifying it to the Lightcast Occupational Taxonomy (LOT), and getting the market salary for that associated LOT.

APIs Used:

Python Example:



Employee Gain and Drain for a Specific Company

Description:

In this example we show the process of searching our job profiles data against a specific company, and seeing the amount of increase and decrease in those profiles over time.

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;