How we did it? Well let me tell you!

  1. Google for postal codes and (major) cities per country
  2. Revolve the geolocation (latitude & longitude) of each geographical point
  3. Now generate new coordinates within a range of 100 meters up to 4.000 meters
  4. Reverse lookup these new coordinates and check whether it’s an actual address
  5. Continue generating new coordinates and reversing them until you have at least 10.000 unique (real) addresses including geolocations per country
  6. Google for popular baby names (per gender) in the past few years per country
  7. Google for surnames / last names per country
  8. Generate a combined list of first and last names (per gender)
  9. Use these full names to generate e-mail addresses with suffixes @hotmail/gmail/
  10. Generate total random birth dates with ages between 21 and 65 (working population)
  11. Google for (mobile) telephone number prefixes per country
  12. Generate random values with at least 13 figures to use as suffixes for the telephone numbers
  13. Google for the average median income / family income per person per country
  14. Use these values (with a certain margin) to generate [YearlyIncomeInUSD]
  15. Select values between 3% and 12% of the [YearlyIncomeInUSD] to generate [CustomerLifetimeValueInUSD]
  16. Google for credit card number specifications for issuers MasterCard, Maestro and Visa
  17. Generate credit card numbers and only use these when they’re valid according to the Luhn-algorithm
  18. Also generate random CVV numbers and expiry dates between next month up to 10 years from now
  19. Generate four random numbers up to 254 and concatenate these into IP Addresses
  20. Generate random values for [NumberOfOrders]

And that’s it!

It is though really a lot of work and might take you a few weeks to gather enough geolocations for a decent size sample dataset with real addresses.