I've added a rarity column to the used car dealership table. Each car's rarity is rated on a 1-5 scale with 5 being the rarest, and 1 being the most common. The rarities are specific to each of TornadoAlley's master lists. This means that a car with a 5 rarity for a person matching Master List 1 might only be a 4 rarity for someone matching Master List 2. If eventually the two master lists are merged, then the rarities would become the same for everyone.
With this feature, people can make better decisions about whether to buy car X now, or wait for it to come around again later. Since I also have the "when will I next see car X" feature, you can (hopefully) determine just how many game days have to go by before you'll see the car again.
Warning, below this point lies math!
Car X in Master List 1's rarity would be calculated like so:
occurrences = number of times Car X appears in Master List 1
most_rare = minimum number of times any car appears in Master List 1
least_rare = maximum number of times any car appears in Master List 1
raw_rarity = 1 - [(occurrences - most_rare) / (least_rare - most_rare)]
At this point, each car's raw_rarity is a value in [0, 1], with 1 being the rarest, and 0 being the most common. To convert to the 1-5 scale I do the following:
sigma = standard deviation of raw_rarities for all cars in Master List 1
mu = average of raw_rarities for all cars in Master List 1
if raw_rarity > mu + 2 * sigma, then rarity 5
if raw_rarity is [mu + sigma, mu + 2 * sigma), then rarity 4
if raw_rarity is [mu - sigma, mu + sigma), then rarity 3
if raw_rarity is [mu - 2 * sigma, mu - sigma) then rarity 2
if raw_rarity is [0, mu - 2 * sigma) then rarity 1
e.