How To Make A Turnover Reporting Template

In previous posts I’ve covered how to calculate and breakdown turnover data in your organization.

Today I want to provide you a very basic R Markdown reporting template for analyzing HR turnover data.

As a reminder, R Markdown (Rmd) files provide a convenient way to combine analysis and communication in a single file. The purpose of this template is to help you avoid skipping steps and provide a starting point for crafting your own custom report template over time.

Read through the principles and procedures below.

Remember, there is nothing set in stone so be sure to shape this template according to your own needs.

You can download the template here.

To use the template:

  1. Download the text file
  2. Copy the entire contents of the text file
  3. Create a new Rmd file in RStudio and replace the content with the copied text file code.

As a preview it will look something like this, including key headers and a floating table of contents.

Again, change as you see fit. This is just help get you started with reproducible analytics.


  1. Give them only what they need
    • Use tables and figures; keep text to a minimum
    • Give the bottom line up front; they’ll dive in if they care
    • Rule of thumb: Assume they will only give your brilliant report 20 secs unless compelled to read on
  2. Make it reproducible
    • Start with clear, stable canonical data sources
    • Do all the data manipulation within the Rmd document itself;
    • Avoid ad-hoc scripting outside of the document
  3. Go in order
    • Put your libraries and your data loading at the top.
    • Run the basic descriptives first so people get a feel for the big picture
    • Start with the basic relationships and then expand only as needed
  4. Break it down by the big ones
    • Demographics (M/F, age, D&I)
    • Areas, roles
    • Movement (read: people in, people out, people up, people over)
    • Changes over time (e.g. engagement, turnover, expenses, revenue)


Look for all of these procedures/ methods in the template file.

  1. Label your code chunks
    • Give every chunk a clear name such as {r load_libraries} or {r turnover_by_role}
  2. Use comments liberally
    • Use the # symbol at the at the start of line within your code chunks to describe what you are doing
    • This is gift to the future you. Trust me.
  3. Write headers with the reader in mind
    • Use code chunks labels, not headers, to organize the flow of the under-the-hood analytics stuff
    • Use{r, results='hide'} to hide intermediate results and your basic explorations
    • Use {r, echo=FALSE} to hide code when generating the final report
  4. Use pipes where possible
    • I speak of the piping %>% function from magrittr together with the dplyr functions
    • This will help make your code more readable and interpretable later


Templates save you time and increase your impact by making your work scalable and reproducible: you know where the numbers came from, you can share the results, and you can do it again.

Moreover, it means conserving cognitive energy by shifting mental work and decision-making from the basic steps to the harder, and far more interesting, work of data analysis and interpretation.

Thanks again for reading HRAnalytics101!

Please leave your comments and suggestions. I would especially welcome comments on anything you might add to your own HR Analytics reporting templates.

Contact Us

Yes, I would like to receive newsletters from HR Analytics 101.