Derived table · PPP, COVID EIDL, pandemic unemployment and other relief programs
Justice Department pandemic-relief announcements by year
Justice Department press releases on pandemic relief fraud, counted by year and by what each one announces: new charges, pleas, convictions, sentences, civil settlements, civil suits, forfeitures and everything else. 56 rows.
Download CSV 3 KBData dictionary CSVAt a glancePreviewColumnsHow to useBefore you quote a row
At a glance
Measured on the served file on 2026-09-24; the checksum above is the file these numbers describe.
year + stage · uniqueWhat it is
One row is one calendar year and one stage. releases counts press releases. distinct_announcements counts them after merging releases that announce the same event, such as a settlement posted by both the Civil Division and a U.S. Attorney's office. defendants_estimate counts the people the distinct criminal announcements name, and settlement_usd_sum adds the amounts civil resolutions say will be paid.
The companion file lists the 4,996 releases behind the table: date, headline, address on justice.gov, stage, programs named, people named and any settlement amount.
How it was built
A release is in scope when its headline or text names a pandemic relief program: the Paycheck Protection Program, COVID EIDL, pandemic unemployment benefits, the Employee Retention Credit, the Restaurant Revitalization Fund, the Shuttered Venue Operators Grant, the Provider Relief Fund and the uninsured-testing program, CARES Act and American Rescue Plan money, rental assistance, economic impact payments, and the Feeding Our Future child-nutrition fraud. The task force's standard closing paragraph is removed first, so it cannot bring a release in by itself. Spanish and Portuguese versions of English releases are left out.
The stage comes from the headline, or from the first 400 characters when the headline has no stage word. Releases that bundle unrelated cases (takedown summaries, office results, grand-jury lists) are OTHER, as are warnings and office news.
The rules were checked by reading 415 releases. Of 102 the rules call charging announcements, 98 were (90 wholly about pandemic relief, 8 partly). Of 100 called civil resolutions, 100 were (98 wholly, 2 partly). In 2021 the charging rule was right 46 times in 46; in 2025, 47 in 50. Of 50 releases that mention fraud and COVID but fell outside the scope, none was clearly about a relief program and 4 were borderline.
People named: the larger of the number the headline gives, the number the first sentence gives and the names printed with ages, and at least one. Counted by hand on 61 releases, the estimate was exact on 59.
Every cell was computed twice, by independently written programs: 238 of 238 agree.
Preview
| year | stage | releases | distinct_announcements | defendants_named | defendants_estimate | defendants_estimate_capped20 | releases_naming_no_defendant | settlement_usd_sum | settlement_usd_median | settlements_with_amount | all_doj_releases_that_year |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2020 | CHARGED | 190 | 167 | 244 | 450 | 407 | 50 | 18429 | |||
| 2020 | PLEA | 74 | 68 | 57 | 73 | 73 | 16 | 18429 | |||
| 2020 | CONVICTED | 2 | 2 | 2 | 2 | 2 | 0 | 18429 | |||
| 2020 | SENTENCED | 48 | 47 | 31 | 48 | 48 | 16 | 18429 | |||
| 2020 | CIVIL_RESOLUTION | 0 | 0 | 0 | 0 | 0 | 0 | 18429 | |||
| 2020 | CIVIL_ACTION | 0 | 0 | 0 | 0 | 18429 | |||||
| 2020 | FORFEITURE | 3 | 3 | 0 | 3 | 18429 | |||||
| 2020 | OTHER | 159 | 105 | 0 | 105 | 18429 | |||||
| 2021 | CHARGED | 246 | 235 | 400 | 539 | 532 | 54 | 19247 | |||
| 2021 | PLEA | 211 | 202 | 157 | 241 | 241 | 75 | 19247 |
First 10 of 56 rows · cells longer than 60 characters are cut with an ellipsis · shown as text, unformatted.
Files
| File | Rows | Size | SHA-256 | |
|---|---|---|---|---|
doj-pandemic-enforcement-by-year.csvCSV, UTF-8, header row | 56 | 2,672 B | 1c788711d8105d783f45157fff96f5af054527ae576a94c6302823b31bdf84e1 | Download ↓ |
dictionary.csvdata dictionary, 24 rows | 24 | — | built with this page | Download ↓ |
doj-pandemic-enforcement-releases.csvone row per in-scope press release | 4,996 | 1,416,826 B | ce84b78c9b3d0a0e1a44abca18fe4860cc08f2890f524494666a851cfa624e63 | Download ↓ |
code/check_enforcement.pyrebuild and check programs and the hand-read sample (code/check_enforcement.py) | — | 4,984 B | a9b81a233573e8943e877a5f8532f2cdbad72ddeae13ca79b0b7fb2cc8413d57 | Download ↓ |
code/doj_rules.pyrebuild and check programs and the hand-read sample (code/doj_rules.py) | — | 12,325 B | 401be1d948ea8ef0438e12ba8e937dd383cf6cbbb4ad31ce52e1fe1aad6f1869 | Download ↓ |
code/load_corpus.pyrebuild and check programs and the hand-read sample (code/load_corpus.py) | — | 1,082 B | f3ebd45799aa762b2a40350b733b3e23983585f6e6b543482f7e3635006d344a | Download ↓ |
code/reproduce_enforcement.pyrebuild and check programs and the hand-read sample (code/reproduce_enforcement.py) | — | 9,056 B | b1ca7292de53ec24d0874bd02b425b743a1ecf965b6aed05b1768558649c9399 | Download ↓ |
code/topup_api.pyrebuild and check programs and the hand-read sample (code/topup_api.py) | — | 2,582 B | 657ee1aa66d067c9565760748fd4779677a5a3a4167766fa145047b668b311de | Download ↓ |
code/validate_handcheck.pyrebuild and check programs and the hand-read sample (code/validate_handcheck.py) | — | 4,648 B | 58b2764786c51bcdd0ed9460731c63ef02309c51cd06726eaea2eecbe4dd4649 | Download ↓ |
code/handcheck/defendant_fresh.jsonrebuild and check programs and the hand-read sample (code/handcheck/defendant_fresh.json) | — | 3,894 B | e96976d0ab5bfebd4b71f9797d127a80bdbdeaed469b3449f546a31c656528be | Download ↓ |
code/handcheck/defendant_sample.jsonrebuild and check programs and the hand-read sample (code/handcheck/defendant_sample.json) | — | 7,760 B | 754651f5a5aa2951508db72a27918ab7cb3dc6e25a5fe39bc70937874f53f294 | Download ↓ |
code/handcheck/defendant_truth.csvrebuild and check programs and the hand-read sample (code/handcheck/defendant_truth.csv) | 40 | 5,201 B | d492d09ee8ab8223ec20070e38ade432091d1ecca4d9f14d25280376400a6d69 | Download ↓ |
code/handcheck/defendant_truth_fresh.csvrebuild and check programs and the hand-read sample (code/handcheck/defendant_truth_fresh.csv) | 24 | 3,137 B | b9e771f384476c36c821781e486d363032788d54c116538549f67508ce8ae696 | Download ↓ |
code/handcheck/doj_rules_FROZEN.pyrebuild and check programs and the hand-read sample (code/handcheck/doj_rules_FROZEN.py) | — | 12,325 B | 401be1d948ea8ef0438e12ba8e937dd383cf6cbbb4ad31ce52e1fe1aad6f1869 | Download ↓ |
code/handcheck/judgments.csvrebuild and check programs and the hand-read sample (code/handcheck/judgments.csv) | 425 | 9,617 B | f66c8093ef290a8d4426f8da830b07d8f5b312196778b857e0f9963136e4da0d | Download ↓ |
code/handcheck/judgments_new_scope.csvrebuild and check programs and the hand-read sample (code/handcheck/judgments_new_scope.csv) | 30 | 4,217 B | e91c526d6d02f33d9811f57019596173dc42a773810aec6fbdff9bccd91ea2eb | Download ↓ |
code/handcheck/new_scope_sample_urls.jsonrebuild and check programs and the hand-read sample (code/handcheck/new_scope_sample_urls.json) | — | 3,376 B | dc544f0f9e03585b7347a43af7c45787a7a18120d37ae58bb6757fe156d1edb9 | Download ↓ |
code/handcheck/precision_rows.csvrebuild and check programs and the hand-read sample (code/handcheck/precision_rows.csv) | 455 | 62,711 B | ea6298d27e451fe17efbe225123525a98071a1d2c1e68edc06413dc810224352 | Download ↓ |
code/handcheck/precision_rows_final.csvrebuild and check programs and the hand-read sample (code/handcheck/precision_rows_final.csv) | 455 | 64,983 B | 499e4f31e341bbfe8acb4b936fef3fca5cf82f62f35622a37181ae6f0e4580f3 | Download ↓ |
code/handcheck/recall2_judgments.csvrebuild and check programs and the hand-read sample (code/handcheck/recall2_judgments.csv) | 50 | 6,064 B | b10ecacca6a629c7b2cbf4edfa527c161bc3a160668376a621437617ceb3d308 | Download ↓ |
code/handcheck/recall2_sample_urls.jsonrebuild and check programs and the hand-read sample (code/handcheck/recall2_sample_urls.json) | — | 5,574 B | ad58acad1e768f5558090e7c29faa16129f5939818e29d2424029a50aa71d3b8 | Download ↓ |
code/handcheck/recall3_judgments.csvrebuild and check programs and the hand-read sample (code/handcheck/recall3_judgments.csv) | 50 | 6,174 B | 704861f972789aac5e2934eff38ecf699d5c9d6eeb62692e0f1e645bbbcae4b9 | Download ↓ |
code/handcheck/recall3_sample_urls.jsonrebuild and check programs and the hand-read sample (code/handcheck/recall3_sample_urls.json) | — | 5,581 B | 40d955cfb09b6ae6572f64c261b2562d2dd9b0be903c40975d9b71d2961608ee | Download ↓ |
code/handcheck/recall_final_judgments.csvrebuild and check programs and the hand-read sample (code/handcheck/recall_final_judgments.csv) | 50 | 6,287 B | d7813aede6243b86eab3054269f0dcb33c7d1c00e9e4a04fd54f25b88d99fa4b | Download ↓ |
code/handcheck/recall_final_sample_urls.jsonrebuild and check programs and the hand-read sample (code/handcheck/recall_final_sample_urls.json) | — | 5,825 B | 3bf7d560dd9a53fef0d6c3c0deb21a744de449e21d9e5347a72af56fe9d810d2 | Download ↓ |
code/handcheck/sample.csvrebuild and check programs and the hand-read sample (code/handcheck/sample.csv) | 425 | 107,030 B | 1735f03ca9636cf96e35023c4282e5d223f9783fbd6f20a439450b0d2228e1ea | Download ↓ |
code/handcheck/validation.jsonrebuild and check programs and the hand-read sample (code/handcheck/validation.json) | — | 1,904 B | e094c1d421fa58d8c6ceb87d3343fd99d117c5baa10342a2a847c7aaa440007d | Download ↓ |
README.mdwhat the table is, what it does not measure, and how every number can be checked | — | 5,645 B | 663bc6a36b94feb958edf033826c07a7f828ad7c8936908d743be3fc1ab49d88 | Download ↓ |
SHA256SUMSSHA-256 of every other file on this page | — | 0 B | — | Download ↓ |
Columns
| Column | Type, measured | Blank | Distinct | Range / values | Meaning |
|---|---|---|---|---|---|
year | integer | 0 | 7 | 2K – 2K · median 2K | Calendar year of the release date. |
stage | text | 0 | 8 | CHARGED (7), PLEA (7), CONVICTED (7), SENTENCED (7), CIVIL_RESOLUTION (7), CIVIL_ACTION (7) | What the release announces, read from its headline (or its first 400 characters when the headline has no stage word): CHARGED, PLEA, CONVICTED (verdict or unspecified conviction), SENTENCED, CIVIL_RESOLUTION (settlement, consent or default judgment, agreement to pay), CIVIL_ACTION (civil suit filed), FORFEITURE, OTHER (round-ups, takedown summaries, warnings, office news). |
releases | integer | 0 | 39 | 0 – 331 · median 46.50 | Press releases with this year and stage. |
distinct_announcements | integer | 0 | 42 | 0 – 327 · median 37 | The same, counting once any release that repeats another of the same stage within 30 days (near-identical headline, identical opening text, or for civil resolutions the same amount). |
defendants_named | integer | 0 | 27 | 0 – 400 · median 1 | People printed with an age in the style "Name, 45, of City" in the distinct announcements (criminal stages only). A floor, not a count. |
defendants_estimate | integer | 28 | 28 | 2 – 696 · median 257.50 | People each distinct announcement names: the larger of the number its headline gives, the number its first sentence gives and the names printed with ages, and at least one (criminal stages only). |
defendants_estimate_capped20 | integer | 28 | 28 | 2 – 532 · median 252.50 | defendants_estimate counting at most 20 people per release, so that a few mass-defendant releases do not swing a year. |
releases_naming_no_defendant | integer | 0 | 35 | 0 – 109 · median 25.50 | Distinct announcements in which no name was printed with an age (criminal stages only). |
settlement_usd_sum | number | 49 | 7 | 0 – 306.8M · median 46.4M | For CIVIL_RESOLUTION: the amounts the distinct announcements say will be or were paid, summed. Whole settlements are counted even when pandemic relief was one of several allegations. |
settlement_usd_median | number | 50 | 6 | 107K – 2.3M · median 750K | For CIVIL_RESOLUTION: median of those amounts. |
settlements_with_amount | integer | 49 | 7 | 0 – 83 · median 26 | For CIVIL_RESOLUTION: distinct announcements that state an amount. |
all_doj_releases_that_year | integer | 0 | 7 | 14K – 21K · median 19K | Every Justice Department press release dated in that year, in the same collection, as the denominator. |
Type, blanks, distinct count, and range are measured on the file. The same table as CSV: dictionary.csv.
How to use it
Specific to this file, measured on it: keys, joins, encodings, units, and the values that will trip a naive count.
- These are announcements, not caseloads. The department does not announce every charge or settlement, and the share it announces changes. Its COVID-19 Fraud Enforcement Task Force counted about 3,500 people charged by U.S. Attorneys' offices through 2023 in 2,388 cases, under a wider definition of pandemic fraud; the charging announcements here name about 2,100 people over the same years. Its year-end False Claims Act figures report about 270 PPP civil resolutions in fiscal 2023 and more than 250 pandemic-related ones in fiscal 2024; 20 and 42 were announced.
- 2026 is a partial year, through September 22.
- 2024's people count runs high. One district round-up is headlined "Over 100 Defendants" and one gang case appears under two headlines.
defendants_estimate_capped20limits each release to 20 people. - Dollar sums follow the largest settlements. 2024 includes Kabbage's agreement to pay up to $120 million, made in its bankruptcy; 2022 includes a $24.5 million settlement in which a PPP loan was one of several allegations.
- CRLF line endings, UTF-8, 2,672 bytes.
Before you quote a row
- A charge is an accusation. A charging announcement reports allegations, and civil settlements commonly resolve allegations without a finding of liability.
- It does not cover state cases, SBA's own actions, or cases that surface only in court filings.
Justice Department pandemic-relief announcements by year, compiled from Justice Department press releases dated January 2020 to September 22, 2026. Pandemic Darlings, https://pandemicdarlings.com/data/doj-pandemic-enforcement-by-year/, SHA-256 1c788711d8105d783f45157fff96f5af054527ae576a94c6302823b31bdf84e1