A student growth percentile (SGP) is a measure of a student’s performance on an assessment. The SGP compares a student’s score to the scores of students with similar prior test scores (the student’s academic peers). Using the SGP, educators can see how well a student is progressing and if they need additional support. SGP is a commonly used tool in the education field, but it can be challenging to understand and implement. This article will help readers understand the concept of a student growth percentile and how to calculate it.

To make a student growth percentile, you need a set of longitudinal (time dependent) data with the following characteristics:

The first case/row represents each unique student. The subsequent columns represent the variables associated with the student at each time point (e.g., a students growth on a particular assessment). Each column should be ordered by the time that the variable was measured. The data should be stored in one of two common formats for longitudinal student assessment: WIDE or LONG format. The SGP package includes exemplar WIDE and LONG data sets, sgpData and sgpData_LONG, to assist in setting up your data. These data sets include lookup files that allow you to define a list of the variables in your database and their associated dates.

You can conduct an SGP analysis in a few different ways, depending on your needs and the complexity of your model. The most simple way is to use the lower level functions studentGrowthPercentiles and studentGrowthProjections. These functions are called by the prepareSGP function, which is part of the SGP package. However, it is often easier to use higher level functions that “wrap” these functions, especially for operational analyses. These wrapper functions are abcSGP and updateSGP.

SGP analyses are typically conducted in six steps:

The SGP package includes two high level wrapper functions, abcSGP and updateSGP. These functions combine the above 6 steps into a single call, simplifying the source code for SGP analyses. In addition, the SGP package includes a series of example models that demonstrate how to use the wrapper functions. You can find these examples in the Demonstration_SGP class of the SGP package.