Spam Text Relief aggregate data, methodology version 2 Units: FTC reporting records and FCC complaint tickets, separately. Neither is a count of unique people, verified events, total calls or legal violations. FTC records are grouped by Created_Date; FCC tickets by date_created with issue='Unwanted Calls'. Monday-Sunday windows use each source's reported date. weekly.csv: week_start, week_end, ftc, ftc_robocall_share (fraction 0-1), fcc. Blank FCC values are missing, never zero. daily.json supplies aggregate daily denominators. weekly.json includes derived statistics and source caveats. input-manifest.json lists FTC release URLs, byte hashes, sizes and retrieval dates where retained. Old cache retrieval dates are unknown, not invented. Reproduce: save weekly.json, daily.json and reproduce.py in one directory. Run python3 reproduce.py. It checks totals, medians, paired sample sizes, volume ratio, average weekday shares and both Pearson correlations. Raw FTC reproduction: download the manifest's distinct release URLs into a private directory, renaming DNC_Complaint_Numbers_ to DNC_. Check each file's SHA-256 against the manifest; a later replacement may no longer match. Set FTC_CACHE_DIR to that directory, then run: python3 ftc-recompute.py --week YYYY-MM-DD --output ./recomputed No API paging is needed. Do not republish raw records. Historical source files may become unavailable; hashes document inputs but cannot restore lost files. Deduplication: hash the complete parsed row, including all source columns. Retain the greatest multiplicity for each identical row in any one release. Thus duplicate releases are suppressed across dates and suffixes, while two identical rows within one release remain two records. The source has no stable report identifier: independent identical reports across releases and overlap cannot be distinguished. This is an assumption, not verified unique counts. Coverage: seven observed Created_Date values are required for an FTC chart week. This is not proof of complete publication. Current index discovery has no fixed suffix ceiling; files can be revised and late backfill can change counts. Historical cache gaps are not evidence of agency nonpublication. Separate partial snapshot (October 16, 2026): reporting-snapshot-2026-10-16.json contains October 5–8 FTC daily aggregates within the requested October 5–11 window. October 9–11 are missing, not zero. It also records the separate seven-date FCC aggregate. These unequal windows are NOT comparable weekly totals and do not enter weekly.csv, weekly.json or the chart statistics. The snapshot includes its own release inventory, input hashes, retrieval timestamps, FCC aggregate query provenance and CC BY 4.0 compilation-only license. Raw source rights remain separate. To reproduce the partial FTC count, use its ftc.source_files_used URLs and hashes with the raw reproduction procedure above, passing --week 2026-10-05. Compare total_reports and by_day against the snapshot. The diagnostic recompute can describe a partial window; it does not promote it into the weekly series. For FCC, rerun the snapshot's daily-count query and sum n. Later source changes may produce different counts; do not silently replace a dated snapshot. Comparisons: weekday shares are each day's count divided by its week's total, then averaged with equal weight across matched seven-observed-day weeks. Weekday-profile Pearson r has seven points. Weekly-total r has the published paired_week_count observations. Neither estimates a causal effect. Agencies are not summed. No significance or independent-observation claim is made. Citation: Spam Text Relief, Unwanted-call reporting data, method version 2, https://spamtextrelief.com/data/, data-through date and your access date. Identify FTC/FCC as primary sources and this publication as the analyst. Source terms apply to original releases; no agency endorsement is asserted. Dataset license: Creative Commons Attribution 4.0 International (CC BY 4.0) https://creativecommons.org/licenses/by/4.0/ Applies to Spam Text Relief's original FTC/FCC aggregate compilations, including those accompanying earlier weekly analyses, to the extent the publication holds copyright or similar rights. Share and adapt, including commercially, subject to the license. Where attribution is required, credit Spam Text Relief, identify the dataset and data-through date, link to the data page and license, and indicate changes. No endorsement is implied. Underlying agency releases retain their source rights status and terms; no rights are claimed over public-domain material. This grant does not cover article prose, branding or third-party material. Attribution may be made in a reasonable manner; the data-through date is a suggested citation aid. Full scope: https://spamtextrelief.com/data/#dataset-license