Human populations display remarkable diversity in language and culture, but the variation is not without limit. At the population level, variation between societies may be structured by a range of macro-evolutionary factors, including ecological and environmental resources, shared ancestry, spatial proximity, and covarying social practices. Kinship terminology systems are varying linguistic paradigms that denote familial social relationships of kin and non-kin. Systems vary by the kinds of salient distinctions that are made (e.g., age, gender, generation) and the extent to which different kinds of kin are called by the same term. Here, we explore two kinds of explanations for an observed typology of kin terms for cousins. The first one derives the typology from a learning bottleneck linked to population size. This would lead to a correlation between community size and the type of kinship system. The second one derives it from a set of social practices, particularly marriage and transfer of resources that might shape kinship systems. Using a global ethnographic database of over a thousand societies, we show that marriage rules and shared linguistic affiliation have a significant influence on the type of kinship system found in a society. This remains true if we control for the effect of spatial proximity and cultural ancestry. By combining cognitive and historic approaches to this aspect of kinship, we suggest broader implications for the study of human social cognition in general.