This case study was completed as the capstone project for the Google Data Analytics Professional Certificate. The goal was to explore how physical inactivity and selected chronic health indicators relate to cardiovascular mortality across U.S. counties and to identify geographic areas with unusually high or low values that may warrant additional investigation.
The project focused on five county-level health measures: leisure-time physical inactivity, coronary heart disease, stroke, arthritis, and mobility disability. These measures were selected because of their relevance to cardiovascular health, physical function, and rehabilitation. County population was also included to evaluate whether patterns differed in smaller geographic areas where relatively small changes in deaths or disease estimates can produce large changes in population-based rates.
Two publicly available CDC sources were used.
CDC PLACES: Local Data for Better Health provided county-level estimated prevalence measures for physical inactivity, coronary heart disease, stroke, arthritis, and mobility disability. PLACES estimates are model-based small-area estimates derived from sources including the Behavioral Risk Factor Surveillance System, U.S. Census population data, and the American Community Survey rather than direct measurement of every county resident.
CDC WONDER Underlying Cause of Death provided county-level mortality counts and population denominators for deaths classified under ICD-10 Chapter IX, Diseases of the Circulatory System (I00-I99).
The project used a cross-sectional 2022-2023 analytical period and therefore represents a snapshot rather than a longitudinal analysis.
The original CDC PLACES extract was stored in long format, with multiple measure records for each county. Google BigQuery was used to standardize five-digit FIPS codes and pivot the selected PLACES measures into a county-level table containing one row per geography.
An initial query attempted to extract a falls measure; however, the selected PLACES dataset did not contain the expected FALLS measure. The query was revised to use mobility disability and arthritis instead.
A second BigQuery workflow cleaned the CDC WONDER mortality data. FIPS codes were standardized, unnecessary footer records were removed, and county-level death counts and population values were retained.
The two outputs were imported into Google Sheets and joined by five-digit FIPS code using XLOOKUP. Additional validation and analytical fields were then created before the final values-only dataset was exported to Tableau.
Several data-quality checks were performed before visualization. These included duplicate checks, valid percentage-range checks, geographic-label review, checks for implausible relationships among fields, and review of missing or suppressed mortality records.
CDC WONDER suppressed death counts for 61 counties because the reported number of deaths was below its confidentiality threshold. A total of 77 counties ultimately lacked a usable calculated cardiovascular mortality rate.
To help identify unusual county profiles, values more than three standard deviations from the national mean were flagged as extreme outliers. Across the five PLACES health measures, 48 counties contained at least one extreme-value metric, representing 72 individual outlier flags. Stroke accounted for the greatest number of flags.
Counties with populations below 5,000 were also placed into an analysis-specific "High Volatility" tier because relatively small changes in event counts can produce large changes in rates per 100,000. A total of 145 counties met this threshold.
The cleaned dataset was imported into Tableau Public and organized into a multi-dashboard story. The visualizations include county-level heat maps, outlier classification maps, summary tables, scatterplots, linear trend lines, and a detailed county diagnostic profile.
Users can move between national and county-level views using filters for state, population tier, cardiovascular mortality status, and health-metric outlier status.
The regression analysis was intentionally exploratory. Tableau linear trend lines were used to examine bivariate associations rather than to establish causation.
Among counties classified as standard for cardiovascular mortality, higher prevalence of each health measure was associated with higher cardiovascular mortality. Coronary heart disease showed the strongest individual relationship with mortality in this group (R² = 0.565), followed by arthritis (R² = 0.507), stroke (R² = 0.485), mobility disability (R² = 0.453), and physical inactivity (R² = 0.288). All five relationships were statistically significant at p < 0.0001.
The pattern was notably different among the small subset of cardiovascular-mortality outlier counties included in the complete-case regression models. Each health measure had a negative trend-line slope against cardiovascular mortality. The reversal was statistically significant in the individual models, but the group was much smaller than the standard-county group. The result should therefore be treated as an analytical signal requiring further investigation rather than evidence of a specific mechanism.
Physical inactivity was also strongly associated with several other health measures. Among standard mortality counties, inactivity explained approximately 76% of the variation in mobility disability, 57% of the variation in stroke prevalence, 42% of the variation in coronary heart disease prevalence, and 19% of the variation in arthritis prevalence.
County population had statistically significant but comparatively weak negative relationships with the analyzed health measures among counties with more than 5,000 residents. These relationships disappeared within the under-5,000 population tier, reinforcing the need for caution when interpreting rates in very small populations.
The project identifies meaningful county-level associations, but the findings should not be interpreted as causal relationships. The analysis uses cross-sectional data, bivariate linear models, and crude prevalence/rate measures and does not control simultaneously for age, income, rurality, race/ethnicity, healthcare access, insurance coverage, or other potential confounders.
The reversed relationships observed among mortality-outlier counties could reflect numerous factors, including small sample size, differences in population structure, access to diagnosis, measurement uncertainty, geographic variation, or healthcare access. The available data cannot determine which explanation is correct.
Future analysis would benefit from age-adjusted measures, confidence intervals, multivariable regression, multi-year mortality rates, socioeconomic and healthcare-access variables, and clustering or machine-learning methods that classify counties using multiple dimensions instead of binary outlier categories.
This project strengthened my skills in SQL-based data transformation, spreadsheet cleaning and validation, statistical interpretation, and Tableau visualization. More importantly, it demonstrated the importance of distinguishing statistical significance from practical significance and of treating exploratory correlations as starting points for deeper investigation rather than final explanations.
Please click here to view the project in Tableau in a separate tab for increased viewing real estate. Otherwise, see embedded Interactive Dashboard Tab below. Because so many filters are available to interact with within this Tableau project, users are able to evaluate data and form conclusions that were not directly investigated in this project (ex: data in just Louisiana, data from all states in the American South, etc.)
For ease of navigation, additional subpages detailing Key Findings and Recommedations, Documentation/Process, and/or References, Data Sources, and Notes can be accessed via the subpages within the County Health and Cardiovascular Mortality Case Study or directly from the links embedded in this statement.