Employee Career Progression Analysis Using Smarten SSDP

Modified on Sat, 11 Jul at 2:46 PM


A practical use case for tracking promotions, transfers, demotions, internal mobility, and fast-track employees

Overview

Employee Career Progression Analysis helps HR and business teams understand how employees move within an organization over time. By comparing each employee's current designation and department with their previous career record, the organization can identify promotions, transfers, transfer promotions, demotions, and no-change movements.

The final output provides an employee-level view of career movement counts, current role details, average progression gap, and fast-track employee identification. These insights support workforce planning, succession planning, talent retention, leadership development, and internal mobility analysis.


Business Objective

The objective of this use case is to prepare a Smarten SSDP dataset that derives employee career movements from historical employee data and designation hierarchy information. The processed dataset should be ready for dashboards, reports, and HR analytics use cases.

When to Use This Analysis

  • To monitor employee career growth across departments and designations.
  • To measure promotion frequency and identify employees progressing faster than expected.
  • To analyze internal mobility patterns across departments.
  • To identify employees who may be suitable for succession planning or leadership programs.
  • To identify career stagnation, demotion patterns, and role movement trends.

Source Data Required

This use case requires two datasets: Employee History and Designation Master. The Employee History dataset stores career events over time, while the Designation Master dataset defines the hierarchy level for each designation.

Dataset

Required Fields

Purpose

Employee History

EmpID, Designation, Department, EffectiveDate

Stores employee career events and their effective dates.

Designation Master

Designation, Level

Defines designation hierarchy so that role movement can be classified.



Sample Employee History Data


Emp ID

Designation

Department

Effective Date

E001

Trainee

IT

01-Jan-2020

E001

Developer

IT

01-Jan-2021

E001

Sr Developer

IT

01-Jan-2023

E001

Team Lead

IT

01-Jan-2025

E002

Trainee

IT

01-Jan-2019

E002

Developer

IT

01-Jan-2022

E002

Sr Developer

IT

01-Jan-2025

E003

Executive

HR

01-Feb-2020

E003

Executive

Finance

01-Feb-2022

E003

Sr Executive

Finance

01-Feb-2024

 

Sample Designation Master Data


Designation

Level

Trainee / Associate

1

Executive / Developer / Analyst

2

Sr Executive / Sr Developer / Sr Analyst

3

Team Lead / Lead Analyst

4

Assistant Manager

5

Manager

6

Senior Manager

7

AGM

8

DGM

9

GM

10

 

Movement Classification Rules

Employee movement type is derived by comparing the current designation level and department with the previous designation level and department for the same employee.


Condition

Movement Type

Current Level > Previous Level and Current Department = Previous Department

Promotion

Current Level = Previous Level and Current Department <> Previous Department

Transfer

Current Level > Previous Level and Current Department <> Previous Department

Transfer Promotion

Current Level < Previous Level

Demotion

Current Level = Previous Level and Current Department = Previous Department

No Change

 

Expected Output


The output should provide an employee-level summarized career progression dataset. The latest designation and department should be shown along with movement counts and fast-track identification.


Emp ID

Current Department

Current Designation

Promotion Count

Transfer Count

Demotion Count

Avg Promotion Gap

Fast Track

E001

IT

Team Lead

3

0

0

1.67

Yes

E002

IT

Sr Developer

2

0

0

3.00

No

E003

Finance

Sr Executive

1

1

0

2.00

Yes

 

Note: The fast-track threshold should be finalized based on the organization's HR policy. In this example, employees with an average progression gap of approximately two years or less are considered fast-track employees.

Implementation in Smarten SSDP


The following steps explain how to prepare the employee career progression dataset in Smarten SSDP.


Step 1: Create the Employee History Dataset


Load the Employee History data into SSDP. Each record represents an employee's designation and department as of a specific effective date.


Figure 1.1: Employee History Dataset

Step 2: Create the Designation Master Dataset


Load the Designation Master dataset. This dataset maps each designation to a hierarchy level, which is required to compare career movements.


Figure 2.1: Designation Master Dataset

Step 3: Join Employee History with Designation Master


Join Employee History with Designation Master using the Designation column. A left join should be used so that all employee history records are retained while the corresponding designation level is added from the master dataset.


Figure 3.1: Joining Employee History with Designation Master

Figure 3.2: Employee History After Adding Designation Level

Step 4: Generate Sequence Numbers for Each Employee


Generate a sequence number to identify the chronological order of career records for each employee. Group by EmpID and order by EffectiveDate in ascending order.

  1. Right-click the dataset and select Add Column.
  2. Select Custom.
  3. Select Data Operations.
  4. Choose Row Number.
  5. Select EmpID in Group By.
  6. Select EffectiveDate in Order By with ascending order.
  7. Provide the output column name as SequenceNo and click OK.

Figure 4.1: Selecting Add Column

Figure 4.2: Creating Sequence Number

 

Figure 4.3: Employee History After Sequence Generation

Step 5: Derive Previous Sequence Number


Create a PrevSequence column to identify the previous career event for each employee. This column is used during the self-join to compare the current record with the previous record.

PrevSequence = SequenceNo - 1

Figure 5.1: Add Custom Column

Figure 5.2: PrevSequence Expression

 

Figure 5.3: Employee History After PrevSequence Generation

Step 6: Self-Join Employee Records Using a Custom Query


Perform a self-join on the prepared employee dataset to bring the current and previous employee details into a single row. The first record for each employee does not have a previous record, so it will not be included in the movement comparison output.

Figure 6.1: Custom Query Option

Figure 6.2: SQL Query Window

Spark SQL Query 

SELECT

    D1.EmpID,

    D1.Department AS CurrentDepartment,

    D1.Designation AS CurrentDesignation,

    D1.EffectiveDate AS CurrentEffectiveDate,

    D1.SequenceNo AS CurrentSequence,

    D1.Level AS CurrentLevel,

    D2.Department AS PrevDepartment,

    D2.Designation AS PrevDesignation,

    D2.EffectiveDate AS PrevEffectiveDate,

    D2.SequenceNo AS PrevSequence,

    D2.Level AS PrevLevel

FROM DT_EmployeeCareerProgressionAnalysis_Usecase D1

INNER JOIN DT_EmployeeCareerProgressionAnalysis_Usecase D2

    ON D1.EmpID = D2.EmpID

   AND D1.PrevSequence = D2.SequenceNo

In this query, D1 represents the current employee record and D2 represents the previous employee record. EmpID ensures that records are compared for the same employee, while PrevSequence links the current record with the immediately previous sequence number.

Figure 6.3: Output After Self-Join of Employee Records

Step 7: Derive the Employee Movement Type

Create a MovementType column to classify each employee movement as Promotion, Transfer, Transfer Promotion, Demotion, or No Change.

Expression :

ifCase(CurrentLevel > PrevLevel && CurrentDepartment != PrevDepartment, "Transfer Promotion",

     ifCase(CurrentLevel > PrevLevel, "Promotion",

         ifCase(CurrentLevel == PrevLevel && CurrentDepartment != PrevDepartment, "Transfer",

             ifCase(CurrentLevel < PrevLevel, "Demotion", "No Change"))))

Condition

Movement Type

Current Level > Previous Level and Department Changed

Transfer Promotion

Current Level > Previous Level

Promotion

Current Level = Previous Level and Department Changed

Transfer

Current Level < Previous Level

Demotion

Current Level = Previous Level and Department Remains Same

No Change

 

Figure 7.1: Deriving MovementType Column

Figure 7.2: Output After Deriving MovementType

Step 8: Calculate Gap Years


Create a GapYears column to calculate the time difference between the previous career event and the current career event. This helps measure the duration between employee movements.

Expression

dateDiff("Y", PrevEffectiveDate, CurrentEffectiveDate)

If your environment returns a negative value, swap the date arguments based on the dateDiff behavior configured in your implementation.

Parameter

Description

"Y"

Calculates the difference in years.

PrevEffectiveDate

Previous employee movement date.

CurrentEffectiveDate

Current employee movement date.

 

Figure 8.1: Calculating GapYears

Figure 8.2: Output After Calculating GapYears

Step 9: Create Movement Count Columns


Create numeric indicator columns for each movement type. These columns can later be aggregated at the employee level.

Output Column

Expression

Purpose

PromotionCount

ifCase(MovementType == "Promotion" || MovementType == "Transfer Promotion", 1, 0)

Counts promotion-related movements.

TransferCount

ifCase(MovementType == "Transfer", 1, 0)

Counts lateral department transfers.

DemotionCount

ifCase(MovementType == "Demotion", 1, 0)

Counts demotion movements.

 

Step 10: Calculate Average Progression Gap

Calculate the average progression gap by applying the Average data operation on GapYears and grouping by EmpID. This metric indicates the average duration between career movements for each employee.

  1. Right-click the dataset and select Add Column.
  2. Select Custom.
  3. Select Data Operations.
  4. Choose Average.
  5. Select GapYears as the source column.
  6. Select EmpID in Group By.
  7. Provide the output column name as AveragePromotionGap and click OK.

For a strict promotion-gap metric, calculate the average only for rows where MovementType is Promotion or Transfer Promotion. Otherwise, rename this metric as Average Career Movement Gap for better clarity.


Figure 10.1: Calculating Average Progression Gap

Figure 10.2: Output After Calculating Movement Metrics and Average Gap

Step 11: Aggregate Employee Career Metrics


After deriving all movement flags and gap metrics, aggregate the dataset at the employee level. Group by EmpID and retain the latest current department and current designation, along with summed movement counts and average gap values.


Column

Recommended Aggregation

EmpID

Group By

CurrentDepartment

Latest / Last value based on CurrentEffectiveDate

CurrentDesignation

Latest / Last value based on CurrentEffectiveDate

PromotionCount

Sum

TransferCount

Sum

DemotionCount

Sum

AveragePromotionGap

Average or Latest employee-level value

Before publishing the final dataset, remove intermediate columns that are not required for reporting, such as previous designation, previous department, current sequence, previous sequence, and row-level comparison columns.

Figure 11.1: Aggregating Employee Career Metrics

Figure 11.2: Output After Aggregation

Step 12: Derive Fast-Track Employees


Create a FastTrack column to identify employees who are progressing faster than the defined organization threshold. In this example, employees with an average progression gap of approximately two years or less are marked as fast-track employees.

Expression :

ifCase(AveragePromotionGap < 2.02, "Yes", "No")

The 2.02 value is used to include employees whose average progression gap is effectively two years after decimal calculations. For a production implementation, this threshold should be confirmed with HR stakeholders.

Figure 12.1: Final Output Dataset

Figure 12.2: Employee-Level Career Progression Summary

Conclusion

This use case demonstrates how employee career progression can be analyzed in Smarten SSDP using historical employee records and designation hierarchy data. By comparing each employee's current and previous career records, organizations can identify promotions, transfers, transfer promotions, demotions, and no-change movements.

The resulting dataset provides meaningful HR analytics metrics such as promotion count, transfer count, demotion count, average progression gap, and fast-track employee identification. These insights help organizations strengthen succession planning, improve talent retention, monitor internal mobility, and support data-driven workforce planning decisions


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article