Durham, North Carolina

Durham Rare & Brief

← The library Data and Assessments

HOPE Team Data Lab

Unsheltered Deep Dive

A By-Name List analysis of unsheltered homelessness in Durham.

Durham City / County · HOPE Team Data Lab · June 2026 · Built for Zero / By-Name List analysis

This is the deeper dive promised in the May–June sprint assessment — the standing analysis behind our unsheltered numbers. The charts below are interactive; hover any point or bar for exact monthly counts.

Where unsheltered sits in the broader picture

Context before the deep dive — all-population actively homeless trend
Actively homeless, May 2026
1,616
highest point in 33 months
Unsheltered share, recent year
41–49%
vs. 36% national, HUD 2025 PIT count
Unsheltered, May 2026
676
steady growth for over a year
Actively homeless rose from 1,536 to 1,616. Unsheltered rose from 428 to 676, tracking a consistently larger share of the total over the past year, ranging roughly 25% to 49%.

Unsheltered rates vary widely across U.S. cities — from 6% in New York to over 57% in Seattle. Durham's 41–49% sits within that real national range, not at an extreme.

Unsheltered grew 30% year-over-year (May 2025 to May 2026). If that pace continues, we'd be near 880 people by May 2027.

The unsheltered trend, population by population

All numbers below are unsheltered counts specifically, not actively homeless totals — hover any bar for the exact count
Families (households + individuals)
All Singles
Chronic
Veteran
Youth

All Singles drives most of the recent increase — unsheltered singles climbed from 254 (May 2025) to 378 (May 2026), and briefly peaked at 412 in April. Chronic unsheltered has more than doubled since 2024 (50 → 106-124 range) but has actually leveled off over the past few months. Families unsheltered jumped sharply in May specifically (64 households → 86) after months of decline — and that 86 households represents 263 individuals, including children. Veteran unsheltered has stayed remarkably flat and low (12-28 range) the entire 33 months — the steadiest population by far. Youth is the smallest population and the choppiest, bouncing between 8 and 30 with no clear sustained direction.

What we're actively fixing

Known data issues, tracked and managed — not hidden

People who don't show up where we'd expect them to

Some people appear in the By-Name List with a recent check-in saying they're unsheltered, but they're not on Built for Zero's active list at all that month. Rather than dropping them silently, we go look for them in the housing exit records.

The large majority each month are found housed in outflow records — typically 80-90%. A smaller number show as inactive, and very few are entirely unaccounted for.
Housed
Inactive
Not found

In May 2026, 71 people fell into this gap. 62 of them (87%) turn out to already be housed when we check. That's reassuring — it means this gap is mostly a timing lag between two systems, not people falling through the cracks.

Households with two people both marked "head of household"

A household should have exactly one head of household. A small number of records have two — a data entry issue, not a real household structure. Rather than guess which one is correct, we only count that household as unsheltered if both people independently confirm it. If they disagree, each person keeps their own individual-level assignment instead of inheriting one through the household.

How we count someone as unsheltered

This is intensive work, both conceptually and operationally — worth walking through in full
1
Start with everyone on the active list. Built for Zero's active list, refreshed monthly, defines who's currently known to be experiencing homelessness. This is our spine — everyone evaluated below is someone the system already knows about.
2
Check for a current shelter or housing enrollment. If someone is currently enrolled in a shelter or housing program, they're not unsheltered — full stop. This is checked first and overrides everything else.
3
Compare the two best pieces of evidence we have: a program exit, and a By-Name List check-in. Sometimes someone has a recent program exit on file — to the street, or to housing. Sometimes they have a recent check-in instead. We use whichever one is more recent. If the check-in is newer than any exit on file, the check-in wins — even if there's an older exit sitting in the record. If the exit is newer, the exit wins instead.
4
Apply the 90-day window. Whichever piece of evidence wins, it has to be recent enough to trust. If the most current evidence says "place not meant for habitation" and it's 90 days old or less, we count that person as unsheltered. Past 90 days, we don't. Within that window, we also track how fresh the evidence is: 0–30 days is our highest-confidence band, 31–90 days is still valid but aging — real evidence that nothing newer has come in to contradict.
5
Extend to the household. If the head of a household is unsheltered, everyone else in that household is counted as unsheltered too — unless that household has the two-heads data issue described above, in which case each person is judged on their own evidence instead.
6
Reconcile what falls outside this process. People with a recent check-in but no active-list match are looked up separately in housing exit records, so we understand — rather than ignore — why they're missing.

This isn't a one-time calculation we ran once and trust forever. Every month, we re-run it, re-check the edge cases, and look for new patterns the data is showing us that the rules don't yet handle well. The reliability tiers below, and the diagnostics earlier in this document, are the direct output of that ongoing process.

How confident are we in these numbers?

Every unsheltered person is backed by one of three confidence tiers, defined by the day thresholds above
Tier 1 — street exit, or check-in 0–30 days old
Tier 2 — check-in 31–90 days old, nothing says otherwise
Tier 3 — counted through their household, not directly
Tier 1 and Tier 2 together make up roughly 70-77% of the total most months. Tier 2's share has grown since February 2026 while Tier 1's share has declined slightly, even as the overall total has grown.

Tier 2 has grown as a share of the total in recent months. That doesn't mean the evidence got weaker — it means the most recent confirmed check-in for these people is a bit older (31–90 days instead of under 30), and nothing newer has come in to dispute it. The May increase is still mostly backed by Tier 1 and Tier 2 combined (~72%), not by indirect household counting.

A working prioritization scorecard

Built entirely from data we already collect — nothing hypothetical, nothing new to gather
Factor What it captures Points
PersistenceUnsheltered 5–6 / 3–4 / 1–2 of the last 6 months3 / 2 / 1
Household typeFamily or unaccompanied youth household+1
Veteran statusConfirmed veteran+1
Chronic statusMeets HUD's chronic homelessness criteria+1
Tier A — highest
61
9% of May's 676
Tier B — middle
452
67% of May's 676
Tier C — lower
163
24% of May's 676

Of the 61 people in Tier A, 39 are single adults who qualify purely on persistence and chronic status — not household type, not veteran status. They're not the population that typically drives urgency in funding conversations or public attention, but by this measure, they sit right alongside our highest-need families.

The weights here aren't fixed — they're a dial. A sprint focused on families might weight household type higher; a sprint focused on long-term street homelessness might weight persistence higher. The scorecard stays the same; what changes is what we're solving for. This is one layer, not a replacement for the HBA, system capacity, or what outreach already knows.