When "blank" is set to the same percentage for every field, every row is either entirely blank or entirely non-blank

I noticed something strange, but I’m not sure if it’s a bug or intended behavior.

When every field in a schema has the same “blank” percentage (say, 50%), like this:

The resulting data contains rows that are either entirely blank or entirely non-blank, like this:

This isn’t what I would have expected. I would have expected that, for a given row, each value would have had a 50% change of being blank, regardless of whether other values in the same row were blank. Put another way, I would have expected it to look something like this:

Is the current behavior, where every row is entirely blank or entirely non-blank, a bug, or am I misunderstanding something?

From playing around with it, it seems like what’s happening is this: for each unique percentage that is encountered, Mockaroo generates a true / false value once, based on that percentage. If it encounters the same percentage again, it re-uses the true / false value it generated before.

For example, if Field 1 and Field 5 are both set to be blank 5% of the time, but the other fields are set to be blank 0% of the time, then for a given row:

  • If Field 1 is blank, Field 5 will be blank
  • If Field 1 is non-blank, Field 5 will be non-blank
  • All other fields will be non-blank