This paper proposes a new explanation for Zipf’s law often observed in the top tail of city size distribution. We show that Zipf’s law can emerge if city size can be expressed as a product of multiple random factors. Each of the factors need not generate Zipf’s law by itself. The key implication is that we cannot reject a model simply because the model does not generate Zipf’s law. A single model, typically representing only one factor, may not generate Zipf’s law, but if we have many such models together as in reality, Zipf’s law may emerge.