Validating that only certain values are unset
A few things:


your indentation looks weird
you could store data[0] in some variable with a relevant name.
you could iterate over both keys and values with iteritems() /items()
you do not need continue here. A simple else would do the trick and is more explicit.
The line you don't quite like could be replaced by something like :


self.assertTrue(any(w in key for w in ('rate', 'percentage', 'ratio')))

The resulting code would be :

first_data = data[0]
for key, val in first_data.items():
    self.assertIn(key, data_model)
    if val is None:
        self.assertTrue(any(w in key for w in ('rate', 'percentage', 'ratio')))
    else:
        self.assertIsInstance(val, data_model[key])