Here is the map of the most frequent occupational surnames in European countries and the corresponding trades.

Country Surname Transliteration Belarus Кавалёў Kavalyow Bulgaria Попов Popov Greece Παπαδόπουλος Papadopoulos Macedonia Поповски Popovski Russia Кузнецов Kuznetsov Serbia Поповић Popovic Ukraine Мельник Melnyk

I made it with Cartopy, Shapely, and Natural Earth data. The surnames are taken mainly from the appropriate Wikipedia page. Redditors provided data for Sweden, Norway, Lithuania, Latvia, Bulgaria, Macedonia, Serbia, Montenegro, Bosnia and Herzegovina, Turkey, and Catalonia (Ferrer = Smith), as well as corrected my mistakes in Ukraine and Austria. I sincerely appreciate their help. Click on the links to see relevant comments.

This is a quick hack, not serious research. The map takes into account countries rather than ethnic or cultural areas (update of October 1, 2015: now the maps of Spain and Serbia include the most frequent Catalan and Kosovar occupational surnames, respectively). The approach is simplistic: I always picked the most frequent occupational surname even though Wikipedia aptly notices that in the Netherlands the set of {Smit, Smits, Smid, de Smit, Smet, Smith} outnumbers both {Visser, Visscher, Vissers, de Visser} and {Bakker, Bekker, de Bakker, Backer}. Similarly, redditors commented that {Schmidt, Schmitt, Schmitz, Schmid} outnumber {Meier, Meyer, Maier, Mayer} and {Müller} in Germany, {Maier, Mair, Mayer} outnumber {Huber} in Austria, {Seppälä, Seppänen} outnumber {Kinnunen} in Finland, and {Herrero, Herrera, Ferrer} outnumber {Molina} in Spain. I learned that occupational surnames are alien to Nordic countries so Möller and Møller are relatively rare imports in Sweden and Norway, that Molina and Ferreira are “second-order occupational surnames” as they derive from places rather than from professions, and that surnames in Turkey are so recent invention that Avcı probably was not a real occupation.

In case this is not obvious, the disappearance of the smallest countries on the map is not my fault.

The code is available on Bitbucket. Please leave a comment if you know how to fill the blank spots or have other ideas for improvement.