This tool is used by the Chicago Metropolitan Agency for Planning (CMAP) to group the 284 municipalities and 77 Chicago Community Areas in the region into Community Cohorts, which are then used to determine local contribution levels for most Local Technical Assistance projects. The source code and data is hosted in a GitHub repository.

The baseline local contribution requirement for LTA projects is 20% of the project costs. Reduced contributions are granted to higher-need communities, based on their Community Cohort:

  • Community Cohort 1: 100% of baseline local contribution requirement (no reduction)
  • Community Cohort 2: 75% of baseline local contribution requirement
  • Community Cohort 3: 50% of baseline local contribution requirement
  • Community Cohort 4: 25% of baseline local contribution requirement

The results of the tool summarized below are effective as of April 1, 2022.

Load 2022 input factors, weights and cohort thresholds

This tool relies on a single Excel file – located at input/community_cohort_inputs.xlsx – for all of its data and parameters. The file contains 4 sheets, which can be modified as needed to alter the tool:

  • FACTORS_MUNI – a table of potential factors to include in the cohort scoring for each municipality
  • FACTORS_CCA – a table of potential factors to include in the cohort scoring for each Chicago Community Area (CCA)
  • WEIGHTS – a table of weights assigned to individual factors present in both FACTORS_MUNI and FACTORS_CCA; factors omitted from this table (or given a weight of 0) will be excluded from the cohort scoring
  • COHORTS – a table defining the thresholds for assigning communities to cohorts, based on their overall/weighted scores

Potential factors (municipalities)

Load a table of potential factors for each of the 284 municipalities in the CMAP region from the FACTORS_MUNI sheet in input/community_cohort_inputs.xlsx. Any factor whose name starts with ln_ represents the natural log of the factor sharing the rest of the name. This table may include data that are not used in cohort scoring, depending on the contents of the WEIGHTS sheet (see below).

Potential factors (Chicago Community Areas)

Load a table of potential factors for each of the 77 Chicago Community Areas (CCAs) within the City of Chicago from the FACTORS_CCA sheet in input/community_cohort_inputs.xlsx. This table may include data that are not used in cohort scoring, depending on the contents of the WEIGHTS sheet (see below).

Weights

Load a table of weights for the factors from the WEIGHTS sheet in input/community_cohort_inputs.xlsx. Factors with non-zero weights will be included in the scoring. The larger the absolute magnitude of a factor, the more influence it will have on the overall score. Negative weights should be specified for factors where lower values correspond to lower need (i.e. the lowest values will receive the highest scores).

Cohort thresholds

Load a table of cohort thresholds from the COHORTS sheet in input/community_cohort_inputs.xlsx. These will be the maximum overall scores (from a possible range of 0-100) that will be assigned to a particular cohort.

Calculate factor-specific scoring thresholds (1-year data)

For each factor included in the WEIGHTS table, calculate the median and standard deviation from the FACTORS_MUNI table. Use these with specific z-scores to assign municpalities a score from 1-10, such that each group will roughly represent an equal number of municipalities (assuming the factor approximates a normal distribution).

For factors that do not approximate a normal distribution, make manual adjustments to the group thresholds as necessary to obtain sensible scores.

Calculate factor-specific scores (1-year data)

For each factor, use the calculated group thresholds to assign factor-specific scores to each municipality. Factors with negative weights will have their scores reversed so that the lowest values receive the highest scores. Inspect histograms of the factors, as well as the resultant scoring distributions

The same thresholds derived to assign scores to the municipalities will also be used for assigning scores to CCAs, which were not included in the charts above.

Calculate overall score & cohorts (1-year data)

The overall score is calculated for each community by multiplying each factor-specific score by the absolute magnitude of that factor’s weight, summing these products, and then scaling the results so that the minimum and maximum theoretical scores (i.e. 1’s and 10’s for every factor-specific score, respectively) would receive overall scores of 0 and 100, respectively.

Map the results (1-year data)

Create maps showing the final cohort assignment for each municipality and CCA.

Write output files (1-year data)

Write overall scores and assigned cohorts for each municipality and CCA in the following files:

output/1yr/cohort_assignments_muni_1yr_2022.csv

output/1yr/cohort_assignments_cca_1yr_2022.csv

Calculate 3-year rolling average

Beginning in 2022, CMAP began basing the final cohort designations on a 3-year rolling average of the 1-year weighted scores, with the aim of reducing year-to-year fluctuation. The cohort thresholds described above are applied to the average score to determine 3-year cohorts, rather than averaging the cohort numbers themselves. The 3-year scores and cohorts for each municipality and CCA are written to the following files:

output/3yr/cohort_assignments_muni_3yr_2020_2022.csv

output/3yr/cohort_assignments_cca_3yr_2020_2022.csv