Skip to end of metadata
Go to start of metadata

Mutators are special data generators that manipulate previously generated pieces of data in the SDG output. The idea behind mutators is to simulate small changes to records as time passes in the school year and minor data quality issues. Accordingly, there are two types of mutators in the SDG: Evolver and Error mutators. Both types of mutators are configurable with a probability (0 = off, 1 = always applied) to run against a given student record.

Evolver Mutators

Evolver mutators model the natural changes one would expect to see as the school year progresses. These mutators run after every data period EXCEPT THE FIRST: since they represent a natural change in the data over time, it doesn't make sense to run them immediately after the initial data set is generated. This means that evolver mutators will never run if the input XML configuration file has only a single data period.

Currently available evolver mutators include:

  • Shuffling student's course class periods
  • Changing primary contact parent
  • Changing address
  • Changing phone number

Error Mutators

Error mutators model erroneous data that's made its way into the data source system. When enabled, these mutators create intentionally bad data and are run after every data period.

Currently available error mutators include:

  • Transpose area code digits in student phone number
  • Transpose postal code digits in student address
  • Transpose digits in student birth year
  • Using the student's middle name field to hold phone number (apparently mimicking an actual data problem seen in the field)
  • Swapping the student's salutation

The mutators are designed to reflect common real-world scenarios that are technically valid based on the Ed-Fi Data Standard specifications, but that should not pass a data quality review.

Mutation Log

Any mutations introduced in the data are also logged in the output directory to MutatorLog.txt. This log is mainly for debugging purposes. Developers creating their own extended SDG may find the log useful.


  • No labels