How to Use the Data SGP Package to Perform Student Growth Percentile (SGP) Analyses

data sgp

The data sgp package provides tools to perform student growth percentile (SGP) analyses for students across many content areas and grades. It is designed to be easy to use but requires that the user have a computer with R installed. R is a free open source statistical programming language that can be run on Windows, OSX and Linux computers. We strongly recommend that you spend some time familiarizing yourself with the basic operation of R prior to running any SGP analyses.

SGPs estimate latent achievement traits for individual students from their performance on standardized assessments. These estimates are then compared to the mean and standard deviation of a cohort of similar students. This allows the comparison of student performance between groups of students and among teachers and schools. In addition, the use of SGPs makes it possible to correct for differences in the administration of the tests or in the way that the assessments are administered and scored.

For example, suppose a sixth grader named Simon scores a 300 on this year’s statewide assessment in English language arts (ELA). A simple comparison of this score with the scale score of his/her fifth grade peers would ignore important differences in the assessments and between grades, including different degrees of difficulty in making the same scale score increase. A SGP calculation provides a more accurate measure of Simon’s score growth.

In order to make SGP calculations and create output reports, users must provide the data sgp package with longitudinal (time dependent) student assessment data in either the WIDE or LONG format. The SGP package provides exemplar WIDE and LONG data sets (sgpData and sgpData_LONG) for user reference. The sgpData vignette provides more details on how to set up and prepare this data for SGP analysis.

When using the prepareSGP function, there are several optional arguments that can be used to control the behavior of the function. For example, the argument HIGH_NEED_STATUS causes prepareSGP to create additional variables that are often useful for analyzing SGP data. Moreover, the argument TRUE controls how prepareSGP handles duplicate individual records in the data set based upon the key of VALID_CASE, CONTENT_AREA, YEAR and ID.

We recommend that you review these examples and the vignette before starting to work with your own data. In general, we find that most SGP analyses are fairly straightforward once the data is prepared correctly. Any errors that occur during the SGP calculations usually revert back to issues in data preparation. Therefore, it is very important that the SGP analyses are performed with data that is ready for analysis.