TruthfulPaws
Home / Adoption Data / Methodology
Methodology

How we collect, validate, and interpret US shelter adoption data.

Every finding on the Adoption Data hub is sourced to a specific cohort of shelter listings or outcome reports. This page documents where the underlying data comes from, how we deduplicate and validate it, the statistical approach behind each headline number, and the known limitations of what listing-based analysis can tell you.

Data sources

We draw on two public data sources that, taken together, give a near-comprehensive view of US shelter adoption activity:

Coverage starts in 2020 and runs through the most recent monthly refresh in April 2026. The dataset includes ~6 million listings across all years, with the strongest annual cohorts in 2023 (902K) and 2025 (965K).

Deduplication and time-on-list

Animals frequently appear in multiple listings — a dog transferred from a Texas municipal shelter to a Connecticut rescue may show up first in Texas, then in Connecticut as a "new" listing. We deduplicate using a fingerprint of name, species, primary breed, age bucket, sex, and listing date proximity. Two listings within 14 days that share the fingerprint are treated as the same animal; the earliest observation sets the listed date and the latest sets the resolved date.

Time-on-list is the gap between first listing and disappearance from active inventory. Disappearance is treated as adoption only when the listing has been active for at least 7 days (to filter out listings created and quickly cancelled for reasons other than adoption). For animals still listed at the time of analysis, we right-censor the observation rather than assuming a hypothetical adoption date.

Statistical approach

Each finding compares cohorts on the dimension named in the headline (state, age, breed, etc.). We report:

Where a finding draws inferences across geography or shelter type, we control for species and age bucket via stratified comparison rather than pooled aggregates. Headline numbers are robust to age- and species-mix differences across compared cohorts.

Simpson's paradox check. Several findings showed direction-flipping behavior under different stratifications during validation. Where this occurred, the reported headline reflects the stratified comparison, not the pooled aggregate, and the per-finding section below documents the relevant strata.

Per-finding methodology

Each finding on the hub has its own cohort and validation notes. Anchors below match the "method" links on each finding card. Findings are split by species — dog findings first, then cat.

Dog findings

01 / Geography — the 3.1× speed gap

Cohort: 2024 adopted dogs (n ≈ 782K) · State-level mean time-on-list

Compares mean time-on-list for dog listings published in 2024, grouped by listing state and filtered to states with at least 1,000 adopted dogs. The 3.1× headline is the ratio of New Hampshire (39 days) to Texas (122 days). The gap is consistent with the rescue-transport pipeline that moves animals from high-supply Southern states to low-supply Northern destinations.

Known caveat: a handful of states (UT, IN, WV, AR, NE) show extreme means in the 240–560 day range. These outliers likely reflect listing-staleness or data-quality issues in particular shelters rather than genuine adoption dynamics. They are excluded from the headline ratio. Some Northern states function primarily as destinations for transported animals — the geography finding is about where animals are listed, not where they originate.

02 / Puppies vs senior dogs — the 2.3× age gap

Cohort: 2025 adopted dogs by age bucket · n = 436K

Compares mean time-on-list for adopted dogs in 2025 across Petfinder's four standard age buckets: Puppy, Young, Adult, Senior. Means: 30, 60, 63, and 70 days respectively. The senior penalty for dogs is much smaller than for cats — senior dogs wait only 7 days longer than adults.

Known caveat: Petfinder age buckets are shelter-assigned and have no fixed boundaries. "Senior" for a Chihuahua and a Great Dane mean different things. Within-breed analyses would tighten this, but require breed-mix labeling that is not consistently populated.

03 / Breed — the 2.6× speed gap

Cohort: 2024 adopted dogs by primary breed (n ≥ 1,000) · within-year resolutions

Groups adopted dogs by Petfinder's primary breed label, restricted to breeds with at least 1,000 adoptions in the 2024 cohort, and computes mean time-on-list within each breed. Goldendoodles average 26 days (fastest); Pit Bull Terriers average 68 (slowest). The 2.6× ratio is the global maximum vs minimum across the qualifying breeds.

Designer mixes (Goldendoodle, Labradoodle, Maltese, Cocker Spaniel, Standard Poodle) cluster at the top of the speed list. Pit-bull-family breeds (Pit Bull Terrier, American Staffordshire Terrier, American Bulldog, American Bully) cluster at the bottom alongside high-energy working breeds (Anatolian Shepherd, Plott Hound, Siberian Husky, Cattle Dog).

Known caveats: breed labels are shelter-assigned and unreliable for mixes — particularly for pit-bull-type dogs, which are visually classified rather than genetically tested. Designer-mix breeds enter the system disproportionately through breed-specific rescues, while pit-bull-family breeds enter disproportionately through municipal intake; the source channel may itself contribute to the speed difference.

04 / The "no" question — 1.8 day within-shelter gap

Cohort: 2025 adopted dogs in shelters that file both "Yes" and "No" labels · 282 orgs · n = 162K dogs

Restricts the analysis to the 282 shelters that file dogs as both "good with kids" and "not good with kids" in 2025, then averages each shelter's internal Yes/No wait-time gap. The within-shelter gap is 1.8 days. The within-shelter framing controls for shelter operations: comparing dogs flagged "Yes" against dogs flagged "No" inside the same organization removes shelter-quality differences from the comparison.

Known caveat: the field is binary in the source data — only "Yes" and "No" exist across all 6M animals (no blanks). The 282-org subset over-represents medium-to-large shelters; small rescues that file only one label aren't included in this within-shelter cohort.

05 / Seasonality — 30% summer surge in dog listings

Cohort: 2024 dog listings by publish month · n = 384K

Counts all dog listings published per month in 2024. Volume ranges from 28,723 in December to 37,296 in June — a 30% summer surge that aligns with kitten/puppy intake season. Other peak months: August (34,248) and July (32,031).

Wait times follow the same direction. Within-year resolutions per listing month: December 42.8 days (fastest), May 54.6 days (slowest), with the rest of fall (Oct/Nov) and early winter close to the December low. The combined picture: more dogs entering at the same time as fewer adopters out looking creates a seasonal squeeze.

Known caveat: wait-time means restricted to within-year adoptions to filter out a long tail of stale listings (about 24% of June's adopted dogs took over a year to resolve, likely a mix of stale listings and genuinely hard-to-place animals). Listing-count totals use all listings regardless of resolution time.

06 / Dog euthanasia — 4× state spread

Source: Shelter Animals Count national database · 2025 aggregate · n = 3.5M dog outcomes

Compares state-level dog shelter euthanasia rates (Shelter Euthanasia / Gross Outcomes) using SAC's 2025 aggregate dataset. National rate: 9.1%. State range: New Hampshire 3.6% to Louisiana 14.9%. The 4.1× headline ratio is LA/NH.

The SAC dataset includes self-reported intake and outcome counts from approximately 7,000 US shelters and rescue organizations, supplemented by SAC's machine-learning estimates for organizations with incomplete reporting. State totals reflect all reporting orgs in that state for the calendar year.

Known caveat: "Shelter Euthanasia" in SAC's database includes both medical euthanasia (terminal illness, severe injury) and behavioral euthanasia, plus capacity-driven euthanasia in shelters that operate at intake limits. The headline rate doesn't separate the categories. The geographic pattern persists across all categories the data does separate.

Cat findings

01 / The senior gap — 30-day adoption rate by age

Cohort: 2024 adopted cats by age bucket · n = 287K

Groups adopted cats by Petfinder age bucket and computes the share resolved within 30, 60, and 90 days. 30-day rates: Kitten 66%, Young 40%, Adult 38%, Senior 17%. 60-day rates: Kitten 83%, Young 54%, Adult 52%, Senior 23%. 90-day rates: Kitten 89%, Young 62%, Adult 60%, Senior 27%. The senior gap widens at every threshold.

Why bucketed % rather than mean: mean time-on-list is dominated by the long tail of stuck animals. The 30/60/90-day rate captures the front of the funnel — what proportion of the cohort moves quickly. For comparing age groups, the bucketed view is more honest about which age groups are getting adopted at all.

Known caveat: Petfinder age buckets are shelter-assigned and the boundary between Young and Adult is inconsistent. The non-monotonic Young vs Adult ordering (Young slightly outperforms Adult on every threshold) likely reflects bucket inconsistency rather than a true preference reversal.

02 / Kitten season — the 2× supply swing

Cohort: 2024 cat listings by publish month · n = 313K

Counts all cat listings published per month in 2024. August published the most (35,353); April published the fewest (17,743). The 2× peak-to-trough swing is the kitten-season effect: spring births enter the shelter system in summer at roughly twice the off-season volume.

The dog parallel finding (dog seasonality, finding 05 on the dog side) shows only a 1.3× swing across the same year. Cat seasonality is roughly twice as severe as dog seasonality.

Known caveat: the 2× ratio compares the single peak month (August) to the single trough month (April). The full June/July/August summer run averages 34K listings/month while the March/April trough averages 18K — a comparable 1.9× ratio. The headline is robust to which months are picked as "summer" and "off-season."

03 / Cat geography — 5.7× state spread

Cohort: 2024 adopted cats by state (≥1,000 listings) · n ≈ 380K

Compares mean time-on-list across listing state, filtered to states with at least 1,000 adopted cats in 2024. Means range from Nevada (29 days) to Texas (165 days), a 5.7× spread — wider than the dog spread (3.1×). The same pattern of Northeast/West being faster than Southern interior holds.

Known caveat: several states (UT, OK, KS, WV, AL, IN, LA, AR) show means in the 290–580 day range. These outliers likely reflect listing-staleness rather than genuine adoption dynamics and are excluded from the headline ratio. The state-level pattern is also reflected in Shelter Animals Count outcome data.

04 / Cat euthanasia — Hawaii's 20% rate, 9× state spread

Source: Shelter Animals Count national database · 2025 aggregate · n = 3.4M cat outcomes

Compares state-level cat shelter euthanasia rates using SAC's 2025 aggregate. National rate: 8.1%. State range: New Hampshire 2.2% to Hawaii 19.8% — a 9× spread, wider than the dog spread (4.1×). California — the state with by far the largest cat outcome volume (≈400K) — sits at 11.2%.

The Hawaii outlier is consistent across years and reporting categories. Hawaii's geography (island ecosystem, no easy interstate transport pipeline) and high feral cat density both contribute. AK (12.5%) and AL (12.5%) round out the high end; the Northeast (NH, ME, VT) and Pacific Northwest (OR, WA) cluster at the low end.

Known caveat: as with the dog euthanasia finding, "Shelter Euthanasia" includes medical, behavioral, and capacity-driven categories. SAC publishes the breakdown separately; the headline rate is the combined total.

05 / Cat age penalty — 2.3× kitten-to-senior

Cohort: 2025 adopted cats by age bucket · n = 318K

Compares mean time-on-list across Petfinder's four age buckets for cats. Means: Kitten 46 days, Young 91, Adult 83, Senior 104. The age penalty is steeper for cats than for dogs (2.3× vs 2.3× in absolute terms but materially worse in real days — senior cats wait nearly twice as long as senior dogs).

Known caveat: Petfinder cat age buckets are shelter-assigned and the boundary between Young and Adult is inconsistent. The non-monotonic pattern (Young > Adult) likely reflects adopter preference for either kittens or fully-grown adults rather than a true age-time relationship.

06 / Cat breed — 1.6× spread

Cohort: 2024 adopted cats by primary breed (n ≥ 500) · within-year resolutions

Groups adopted cats by Petfinder primary breed label, restricted to breeds with at least 500 adoptions in the 2024 cohort, and computes mean time-on-list within each breed. Means: Ragdoll 31, Maine Coon 35, Bengal 38, Siamese 40, Russian Blue 42, Domestic Long Hair 41, Domestic Medium Hair 40, Domestic Short Hair 50.

Recognizable purebreds adopt faster than the generic Domestic Short/Medium/Long Hair categories that make up the bulk of shelter cat listings (~60% of the cohort). The 1.6× headline ratio compares Ragdoll (fastest) to Domestic Short Hair (slowest among the qualifying breeds).

Known caveat: "breed" labels for cats are even more shelter-assigned than for dogs — most cats listed as "Domestic Short Hair" are simply uncategorized mixed-breed cats. The breed effect for cats should be read as a finding about how shelters categorize and present cats as much as about adopter preference.

Known limitations

Data access for journalists, researchers, and shelter staff

The full research notebook (data preparation, statistical models, failed analyses, robustness checks) is available on request. We do not publish the raw Shelter Animals Count export — SAC's data-use agreement reserves redistribution rights — but we are happy to walk through specific findings, share the cleaned cohort definitions, and provide aggregated cuts by state, breed, or shelter for academic use.

For data requests, methodology questions, or follow-up reporting: john@truthfulpaws.com.