San Antonio Business Survivability Scores by Neighborhood 2026
Neighborhood-level survivability scores for 146 business types across 55 neighborhoods and towns in the San Antonio, TX metropolitan area. Each row shows a business type's projected chance of lasting two or more years at the neighborhood level, as a percentage, averaged across price points, with upper and lower bounds and tier rankings. From a model trained on 570,000+ real business outcomes.
CSV · 8,030 rows · 61 columns
License: CC BY 4.0 · Updated October 2026 · Version 2026.10.04
What one row means
Every published score is the projected chance that a business of that type lasts two or more years at that place, as a percentage. It is never the model's raw output. This file carries one row per business type and place. Its score is the projected chance of lasting two or more years, averaged across the price points StreetSpring scores separately in the tool (most types have 5). The 146 business types here are base types; the tool offers 500+ business types, counting each type at each of its price points.
StreetSpring scores 500+ business types: 153 base business types, most of them at 5 price points, which is 569 type-and-price combinations you can choose in the tool.
New to the score? How the survivability score works explains what the percentage means, and the methodology sets out how to cite it.
Questions this dataset answers
This file covers 55 places in the San Antonio area and ranks none of them yet: its neighborhood ranking is withheld because most San Antonio neighborhood names in our boundary data have no matching boundary in the city, and too few of its towns have enough scored locations for a town ranking, so the rank and tier columns are blank. Every row still carries its scores; read them directly with the recipes below.
How to read this dataset
The file has 61 columns and 8,030 rows. Lines that begin with # are comments (citation, license, these recipes) and should be skipped when parsing. The same dictionary is in the README beside the files; changes between versions are in the changelog.
Where should I open a given business in this metro?
Filter business_subtype to the type and place_kind to neighborhood (or town), sort by neighborhood_rank_for_business_subtype ascending. The ranking is on p90_survivability_score, the chance of lasting two or more years at a good address; avg_survivability_score is the typical address.
What should I open in a given neighborhood?
Filter neighborhood to the place, sort by business_subtype_rank_for_neighborhood ascending: the top rows are the business types most likely to last there.
How do two neighborhoods compare for the same business?
Filter business_subtype to the type and neighborhood to the two places (same place_kind); compare p90_survivability_score for the best-address view and avg_survivability_score for the typical address.
Which neighborhoods are strongest overall?
Filter place_kind to neighborhood, keep one row per neighborhood, sort by neighborhood_overall_rank ascending. neighborhood_overall_score is the mean p90 of the place's ranked business types.
Column dictionary
- city
- Metro slug (for example philadelphia).
- neighborhood
- Neighborhood slug inside the metro; the row's place.
- business_subtype
- Business type slug (for example italian-restaurant); the row's business. The file's own count is in the README and on its page.
- business_type_lookup
- Display name of the business type (for example Italian Restaurant).
- avg_survivability_score
- The projected chance, 0 to 100, that this business type lasts two or more years at a typical address in this neighborhood. The rankings use p90_survivability_score, the good-address score.
- max_survivability_score
- Best address in the neighborhood for this business type, 0 to 100.
- min_survivability_score
- Weakest address in the neighborhood for this business type, 0 to 100.
- UPPER_BOUND_MAX_SURVIVABILITY
- Upper confidence bound on max_survivability_score, 0 to 100.
- LOWER_BOUND_MAX_SURVIVABILITY
- Lower confidence bound on max_survivability_score, 0 to 100.
- UPPER_BOUND_MIN_SURVIVABILITY
- Upper confidence bound on min_survivability_score, 0 to 100.
- LOWER_BOUND_MIN_SURVIVABILITY
- Lower confidence bound on min_survivability_score, 0 to 100.
- neighborhood_rank_for_business_subtype
- Rank of this place among the ranked places of the same place_kind in the metro for this business type, on p90_survivability_score (1 = best). Empty in every row of this file: its neighborhood ranking is withheld because most San Antonio neighborhood names in our boundary data have no matching boundary in the city, and too few of its towns have enough scored locations for a town ranking.
- tier_of_neighborhood_for_business_subtype
- Great, Good, Average, Below-average or Poor, from that rank's position in its list: the top 10 percent is Great, the next 20 percent Good, the middle 40 percent Average, the next 20 percent Below-average and the bottom 10 percent Poor. Empty in every row of this file: its neighborhood ranking is withheld because most San Antonio neighborhood names in our boundary data have no matching boundary in the city, and too few of its towns have enough scored locations for a town ranking.
- business_subtype_rank_for_neighborhood
- Rank of this business type among the ranked types in this place, on p90_survivability_score (1 = the type most likely to last at a good address here). Empty in every row of this file: its neighborhood ranking is withheld because most San Antonio neighborhood names in our boundary data have no matching boundary in the city, and too few of its towns have enough scored locations for a town ranking.
- tier_of_business_subtype_for_neighborhood
- Great, Good, Average, Below-average or Poor, from that rank, with the same cut-offs as the neighborhood tier. Empty in every row of this file: its neighborhood ranking is withheld because most San Antonio neighborhood names in our boundary data have no matching boundary in the city, and too few of its towns have enough scored locations for a town ranking.
- total_ranked_neighborhoods_for_business_subtype
- How many places of this place_kind are ranked for this business type in the metro: the length of the list the rank sits in. Empty in every row of this file: its neighborhood ranking is withheld because most San Antonio neighborhood names in our boundary data have no matching boundary in the city, and too few of its towns have enough scored locations for a town ranking.
- year
- Data year (2026).
- source_url_neighborhood_rank
- Page on streetspring.com that ranks neighborhoods for this business type.
- source_url_business_subtype_rank
- Page on streetspring.com that ranks business types for this neighborhood.
- methodology_url
- How the score is built: https://streetspring.com/resources/tutorial/aeo-methodology
- source_article_url
- The neighborhood's own rankings page on streetspring.com.
- min_2yr_failure_rate
- 100 minus max_survivability_score: the lowest projected two-year failure rate in the neighborhood, 0 to 100.
- max_2yr_failure_rate
- 100 minus min_survivability_score: the highest projected two-year failure rate in the neighborhood, 0 to 100.
- employment_rate
- Share of the labor force employed, as a fraction of 1 (0.95 means 95 percent). Census ACS.
- vacancy_rate
- Share of housing units vacant, as a fraction of 1. Census ACS.
- competitor_count
- Number of businesses of that exact type located INSIDE the neighborhood boundary, counted as distinct places. An empty cell means not measured, which is not the same as none: either the neighborhood has no boundary in our polygon set or that business type was never collected in that metro. A 0 means we measured and found none.
- income_rank
- Not populated in this release (empty in every row). Use income_metro_percentile.
- income_score
- Median household income in dollars. Census ACS; 250,001 is the Census top code.
- pct_high_income
- Share of households earning 150,000 dollars or more, as a fraction of 1. Census ACS.
- income_tier
- Affluent, Upper-Middle, Middle, Working or Low-Income, from income_metro_percentile.
- income_metro_percentile
- Where the neighborhood's median income sits among the metro's neighborhoods, 0 to 100 (100 = highest).
- income_national_percentile
- Where the neighborhood's median income sits among all U.S. neighborhoods in our data, 0 to 100.
- poverty_rate
- Share of residents below the poverty line, as a fraction of 1. Census ACS.
- median_age
- Median resident age, years. Census ACS.
- pct_bachelor_plus
- Share of adults 25 and over with a bachelor's degree or higher, as a fraction of 1. Census ACS.
- avg_household_size
- Average household size, persons. Census ACS.
- median_commute_minutes
- Median commute, minutes. Census ACS.
- pct_housing_post_2000
- Share of housing units built in 2000 or later, as a fraction of 1. Census ACS.
- data_source
- Provenance label for the row.
- p90_survivability_score
- The chance, 0 to 100, that this business type lasts two or more years at a good address in the place: the 90th percentile of the scored locations inside it. The rank columns are ordered on this.
- neighborhood_name
- Display name of the place.
- scored_locations_in_neighborhood
- How many scored locations the place's scores are built from. A place needs at least 10 to be ranked.
- place_kind
- neighborhood (a city neighbourhood) or town (a whole municipality). Rankings never mix the two.
- rank_withheld_reason
- Empty for almost every row. When it is filled, this place keeps its scores and is deliberately left out of every ranking, and this column says why. Its rank and tier columns are empty and it is excluded from the national pool, so a list that omits it is complete, not short.
- neighborhood_overall_score
- Mean p90_survivability_score across the place's ranked business types, 0 to 100; the basis of the overall rank. Empty in every row of this file: its neighborhood ranking is withheld because most San Antonio neighborhood names in our boundary data have no matching boundary in the city, and too few of its towns have enough scored locations for a town ranking.
- neighborhood_overall_avg_score
- Mean avg_survivability_score across the same rows. Empty in every row of this file: its neighborhood ranking is withheld because most San Antonio neighborhood names in our boundary data have no matching boundary in the city, and too few of its towns have enough scored locations for a town ranking.
- neighborhood_overall_max_score
- Mean max_survivability_score across the same rows. Empty in every row of this file: its neighborhood ranking is withheld because most San Antonio neighborhood names in our boundary data have no matching boundary in the city, and too few of its towns have enough scored locations for a town ranking.
- neighborhood_overall_min_score
- Mean min_survivability_score across the same rows. Empty in every row of this file: its neighborhood ranking is withheld because most San Antonio neighborhood names in our boundary data have no matching boundary in the city, and too few of its towns have enough scored locations for a town ranking.
- business_types_ranked_in_neighborhood
- How many business types are ranked in the place. Empty in every row of this file: its neighborhood ranking is withheld because most San Antonio neighborhood names in our boundary data have no matching boundary in the city, and too few of its towns have enough scored locations for a town ranking.
- neighborhood_overall_rank
- The place's rank among places of the same kind on neighborhood_overall_score (1 = best), repeated on every row of the place. Empty in every row of this file: its neighborhood ranking is withheld because most San Antonio neighborhood names in our boundary data have no matching boundary in the city, and too few of its towns have enough scored locations for a town ranking.
- total_ranked_neighborhoods_overall
- How many places of that kind carry an overall rank in the metro. Empty in every row of this file: its neighborhood ranking is withheld because most San Antonio neighborhood names in our boundary data have no matching boundary in the city, and too few of its towns have enough scored locations for a town ranking.
- publisher
- Who publishes the dataset: StreetSpring. The same value in every row.
- publisher_url
- The publisher's site, https://streetspring.com. The same value in every row.
- dataset_name
- StreetSpring Survivability Datasets 2026. The same value in every row, so one row read on its own names its source.
- dataset_doi
- 10.5281/zenodo.22287996, the concept DOI, which always resolves to the newest version. Pin a version with dataset_version.
- license
- CC-BY-4.0: free to reuse, including commercially, with attribution to StreetSpring.
- license_url
- The license text, https://creativecommons.org/licenses/by/4.0/.
- dataset_version
- The release this row belongs to, the same value in every row and equal to the Version line of this header. Cite it to pin the numbers.
- as_of_date
- The date this release's scores were published, as YYYY-MM-DD. The same value in every row.
- source_url_business_type
- absolute and verified against the live site on 2026-10-02; filled on 58.2% of rows. Empty means the page was not proven to exist, never a guess.
- source_url
- empty in every row. held for this release: it resolves for only about a third of rows until the place pages are built. An empty column is honest; a third-filled one is not.
About this dataset
- Source
- StreetSpring
- Coverage
- San Antonio, TX metropolitan area
- Data year
- 2026 (the year column in every row)
- Version
- 2026.10.04, updated 2026-10-04
- Methodology
- View methodology
- License
- CC BY 4.0
- DOI (all versions)
- 10.5281/zenodo.22287996
- Questions about the data
- info@streetspring.com