How to calculate Internal Mobility Rate

Internal mobility rate is the share of employees who moved to a new role or team within the company during a period.

Formula

Internal mobility rate = employees promoted or transferred in the period ÷ average headcount

SQL query

This example assumes: role_changes(employee_id bigint, changed_at date, change_type text), employees(id, start_date date, end_date date). It is written in PostgreSQL syntax; date functions differ slightly in MySQL, BigQuery and SQLite, and your column names will differ from these.

SELECT COUNT(DISTINCT r.employee_id)::numeric
       / NULLIF((SELECT COUNT(*)
                 FROM employees
                 WHERE start_date <= CURRENT_DATE AND (end_date IS NULL OR end_date > CURRENT_DATE)), 0) AS mobility_rate
FROM role_changes r
WHERE r.change_type IN ('promotion', 'transfer')
  AND r.changed_at >= CURRENT_DATE - 365;

Common mistakes that make Internal Mobility Rate wrong

  • Promotions and lateral transfers are different signals; report them separately as well as together.
  • Anyone who moved twice should count once; use a distinct count.
  • People who left after moving should still count if they moved during the period.

Ask for Internal Mobility Rate in plain English

Instead of writing the query yourself, you can type the question. SchemaChat turns it into SQL against your connected database or uploaded file, runs it, and shows the SQL and the figures it used so you can check the answer before you share it. It does not replace your judgement about the definition: check that the query matches the formula your business uses.

  • What share of employees were promoted or transferred in the last 12 months?
  • Which departments have the most internal moves?

Frequently asked questions

What is Internal Mobility Rate?
Internal mobility rate is the share of employees who moved to a new role or team within the company during a period.
How do you calculate Internal Mobility Rate?
Internal mobility rate = employees promoted or transferred in the period ÷ average headcount. The SQL example on this page shows the same calculation against a simple table.
What commonly goes wrong when calculating Internal Mobility Rate?
Promotions and lateral transfers are different signals; report them separately as well as together.