Outsourcing of non-core activities by firms is nowadays a common business strategy. This paper provides a theoretical framework for analyzing a firms’ incentive to follow such a strategy and its consequences for macroeconomic variables like growth and product variety. We divide production activities into core and non-core activities. Non-core activities can be performed within the firm or can be mediated by the market. We will derive conditions under which outsourcing will occur, and under which outsourcing will be socially desirable. These conditions do not necessarily coincide due to two externalities. Outsourcing may hence be a profitable strategy for firms, while it is socially suboptimal. Crucial parameters in the model are the relative scale of core versus non-core activities, traditional management costs, transaction costs and taste for variety of consumers. This paper suggests that declining transaction costs are a crucial factor in explaining the observed increase in outsourcing.