There are three main reasons for agglomeration: 1) matching/labor market pooling which allows for a larger pool of qualified workers, 2) sharing of local inputs, supply chains and infrastructure between similar companies, and 3) learning and information spillovers that decrease costs of generating new ideas through information exchange. Agglomeration provides benefits of lower transportation and purchasing costs through shared facilities between gathered companies. While agglomeration is often viewed at the metropolitan level, it can occur at different geographic levels including geographical, vertical, sectoral, and horizontal clusters within cities.