Back to Portfolio
Analytics · Economic Impact · Python

Denver Community Hub
Economic Impact Analysis

A comprehensive analytics and economic modeling suite for a mixed-use development project — measuring visitor flows, projecting community impact, and building the case for grant funding with data-driven storytelling.

Python Pandas Matplotlib Jupyter Economic Modeling Grant Reporting
Notebook Contents

Setup & Data Loading 01

Import core libraries and load the visitor and revenue datasets for the Denver Community Hub project. The data covers a 12-month period of foot traffic, event attendance, and per-venue revenue tracking across four distinct spaces.

Python In [1]
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from datetime import datetime, timedelta

# Load datasets
visitors = pd.read_csv('data/hub_visitors_2025.csv', parse_dates=['date'])
revenue  = pd.read_csv('data/hub_revenue_2025.csv', parse_dates=['date'])
events   = pd.read_csv('data/hub_events_2025.csv', parse_dates=['date'])

print(f"Visitor records:  {len(visitors):,}")
print(f"Revenue records:  {len(revenue):,}")
print(f"Events tracked:   {len(events):,}")
Output
Visitor records: 48,291 Revenue records: 12,847 Events tracked: 312

Visitor Journey Funnel 02

Mapping the complete visitor journey from initial awareness through repeat engagement. This funnel analysis helps stakeholders understand conversion rates between key touchpoints — critical for grant applications that need to demonstrate community reach and retention.

Python In [2]
# Build visitor journey funnel
funnel_stages = {
    'Awareness (Web/Social)':   24500,
    'First Visit':              8200,
    'Multi-Space Engagement':    4100,
    'Event Attendance':          2650,
    'Repeat Visitor (3+ visits)': 1840,
    'Community Member':          720,
}

funnel_df = pd.DataFrame({
    'stage': funnel_stages.keys(),
    'visitors': funnel_stages.values()
})
funnel_df['conversion'] = funnel_df['visitors'].pct_change().fillna(0)
funnel_df
Output — Visitor Funnel
Conversion Funnel
Visitor Journey: Awareness → Community Member
Awareness (Web / Social)24,500
▾ 33.5% conversion
First Visit8,200
▾ 50.0% conversion
Multi-Space Engagement4,100
▾ 64.6% conversion
Event Attendance2,650
▾ 69.4% conversion
Repeat Visitor (3+)1,840
▾ 39.1% conversion
Community Member720

Key Insight: The strongest drop-off occurs at awareness → first visit (33.5% conversion). Recommending investment in local partnerships and a "first visit" incentive program to improve this funnel stage. Once visitors engage with multiple spaces, retention is strong at ~65%+.

Economic Impact Projections 03

Estimating the broader economic ripple effects of the Community Hub using local spending multipliers. These numbers are built on established frameworks for mixed-use development impact — modeling direct spending, indirect business effects, and induced household spending in the surrounding neighborhood.

$2.4M
Direct Economic Impact
↑ Year 1 Projection
$4.1M
Total Impact w/ Multiplier
1.71× local multiplier
48K
Annual Visitors
↑ 12% vs benchmark
$85
Avg Visitor Spend
Across all venues
Python In [3]
# Economic impact by venue
venues = ['Coffee Shop', 'Makerspace', 'Library', 'Art Gallery']
direct_revenue = [680000, 520000, 0, 340000]
visitor_counts = [22100, 9800, 14200, 8400]
LOCAL_MULTIPLIER = 1.71  # Denver metro area multiplier

impact_df = pd.DataFrame({
    'venue': venues,
    'direct_revenue': direct_revenue,
    'visitors': visitor_counts,
    'total_impact': [r * LOCAL_MULTIPLIER for r in direct_revenue],
    'avg_spend': [r/v if v > 0 and r > 0 else 0
                   for r, v in zip(direct_revenue, visitor_counts)]
})
impact_df
Output — Impact by Venue
VenueDirect RevenueVisitorsTotal ImpactAvg Spend
Coffee Shop$680,00022,100$1,162,800$30.77
Makerspace$520,0009,800$889,200$53.06
Library$014,200
Art Gallery$340,0008,400$581,400$40.48

Job Creation Metrics 04

Projected employment impact across direct hires, indirect support roles, and induced positions from increased local spending. These are key metrics for HUD and EDA grant applications that require demonstrable community employment outcomes.

Python In [4]
# Job creation projections
jobs = {
    'category': ['Direct FTE', 'Direct PT', 'Indirect',
                 'Induced', 'Construction (temp)'],
    'year_1':    [12, 8, 6, 4, 45],
    'year_3':    [18, 12, 10, 7, 0],
    'year_5':    [24, 15, 14, 11, 0],
}
jobs_df = pd.DataFrame(jobs)
jobs_df.set_index('category')
Output — Employment Growth
Employment Projections
Job Creation: Year 1 → Year 5
12
18
24
Direct FTE
8
12
15
Direct PT
6
10
14
Indirect
4
7
11
Induced
● Year 1 ● Year 3 ● Year 5

Grant Metric: Total projected employment impact reaches 64 permanent positions by Year 5 (24 FTE + 15 PT + 14 indirect + 11 induced), with an additional 45 temporary construction jobs during the buildout phase. Cost per permanent job created: approximately $14,800 against the total grant ask.

5-Year Financial Proforma 05

Consolidated financial projections across all four venues, incorporating seasonal adjustments, planned capacity expansions, and conservative growth assumptions aligned with Denver metro development benchmarks.

Python In [5]
# 5-Year proforma projections
years = [2025, 2026, 2027, 2028, 2029]
revenue_proj  = [1540000, 2100000, 2680000, 3150000, 3520000]
opex_proj     = [1380000, 1720000, 2010000, 2240000, 2410000]
net_proj      = [r - o for r, o in zip(revenue_proj, opex_proj)]
margin_proj   = [n / r * 100 for n, r in zip(net_proj, revenue_proj)]

proforma = pd.DataFrame({
    'year': years,
    'revenue': revenue_proj,
    'operating_expenses': opex_proj,
    'net_income': net_proj,
    'margin_pct': margin_proj
})
proforma
Output — 5-Year Financial Summary
YearRevenueOpExNet IncomeMargin
2025$1,540,000$1,380,000$160,00010.4%
2026$2,100,000$1,720,000$380,00018.1%
2027$2,680,000$2,010,000$670,00025.0%
2028$3,150,000$2,240,000$910,00028.9%
2029$3,520,000$2,410,000$1,110,00031.5%

Bottom Line: The Hub reaches operational profitability in Year 1 and scales to a 31.5% margin by Year 5. The revenue ramp is driven by makerspace membership growth and gallery event programming. Conservative assumptions use 4% annual inflation and Denver metro foot traffic benchmarks — no hockey-stick projections.