I would like to have random people with preferences generated for an economic strategy game.
For simplicity, lets say each person has age(number), home area and its type (city,village,...) and preferences(likes ice cream,..).
The problem is, if I used uniform random generation(choose random age, home, and preference) all people would be ...uniformly distributed and there would be no demographics for player to discover. By features I mean, for example, young people like soda, in addition people living in village tend to prefer red colored packaging (=> player shipping it with different packaging to country will sell more). I would like to have the people generated so that there are always some distinctive demographic features(which does not have to be known to the game itself) present in the data.
The features does not have to and should not resemble real-world ones, the algorithm should work without requiring any 3rd party databases. Homes for people are given as input from previous generation step as array of tuples of settlement id and capacity (thus also type).
What could be general procedure for this type of procedural generation?