User Tools

Site Tools


provenance:statistics:pvalue_corrections

This is an old revision of the document!


Provenance: statistics:pvalue_corrections

Working notes behind pvalue_corrections — every query with its population and denominator, the scripts and their unedited output, the fold and its residue, the quotes checked against source papers, the external sources and how each was verified or rejected, the review log, and what could not be established. Corpus-level caveats that apply to every page on this site are on corpus and are not restated here.

1. What this page is backing

Item Value
Content page pvalue_correctionsnew, not an extension of anything
Report script scripts/report_pvalue_corrections.mjs
Free-text fold it depends on scripts/mcc_fold.mjs — 11 procedure families plus two non-correction buckets, with a self-test
Quote verification scripts/quote_check.mjs –statistics multiple-comparison-correction (the –statistics filter was added for this page)
Stale-number guard scripts/check_page_numbers.mjs, whole-page, with –code
Non-corpus number ledger out/pvalue-external-facts.txt
Runnable code published on the page out/adjust_pvalues.py
Data data/extract/run1/extractions.jsonl — 5,859 papers, 7 venues, 2010–2026 — plus a regex sweep over all 5,869 paper.cols.txt full texts
Written 2026-08-13, against the corpus as extended on 2026-08-11 (commit 8a6b843)

Creating, not extending, and not overlapping. statistics:pvalue_corrections was a red link promised from start. The only neighbouring page that existed when this was written is study_preregistration, which touches multiplicity in one subsection (“For scale: the rest of the inference-hygiene stack is thin too”) and cites this page forward. That subsection's figures (15.3% of inferential, 24.5% of hypothesis-test papers) agree with this page's; this page keeps the hypothesisTest denominator throughout and adds the corrected-vs-tuple distinction the preregistration page did not need. Nothing was overwritten and no neighbouring figure was contradicted.

Reachability needed no work: start already lists P-value corrections in its outline, and study_preregistration links it twice.

2. The number the task started from, and what happened to it

The task specification quoted a figure from the old corpus. Both the numerator and the denominator moved, and one distinction the old figure did not make turned out to matter.

Old corpus (4,322 papers) This corpus (5,859 papers)
inferential population 1,302 1,762
papers with a multiple-comparison-correction tuple 203 (15.6%) 269 (15.3%)
…of which actually corrected not distinguished 265
“Bonferroni named in…” 84 141 papers, folded (105 tuples say exactly Bonferroni correction; 90 distinct strings fold to 11 families)

Two things the task's framing got right and one it did not. Right: the correction is skipped in the setting that needs it, and the page's central table quantifies that (12.9% of crawl papers vs 38.6% of user studies). Not right: inferential is the wrong denominator. A paper whose only statistics tuple is correlation or regression may have no p-value family at all, and 41.5% of the corpus never gets past descriptives. The population that needs a correction is the 1,025 papers with a hypothesis-test tuple, and the page uses that throughout. Over inferential the rate is 15.0%; over hypothesisTest it is 24.1%. Publishing 15.0% as “how often the field corrects” would have understated it by a third.

3. Populations and denominators

Tag Definition N
all every extraction record 5,859
withAnyStats statistics.length > 0 5,456
inferential at least one statistics[].kind that is not descriptive-only 1,762
hypothesisTest at least one statistics[].kind == “hypothesis-test” 1,025
regression / correlation at least one tuple of that kind 391 / 458
humanSubjects participants.length > 0 1,357
crawled crawlConfig !== null || studyTypes.includes('automated-web-crawl') 1,120

inferential, crawled and humanSubjects match OVERVIEW.md exactly (1,762 / 1,120 / 1,357), which is the check that the report's population code is the same code as the dossier's.

4. Every query, with its population

cd /workspace/artifacts/wiki
node scripts/mcc_fold.mjs                                   # fold self-test
node scripts/report_pvalue_corrections.mjs                  # every figure on the page
node scripts/report_pvalue_corrections.mjs --wiki           # DokuWiki tables
node scripts/quote_check.mjs --statistics multiple-comparison-correction --show 62
python3 out/adjust_pvalues.py --demo                        # the published code's output
cat out/pvalue-report.txt out/adjust_pvalues_demo.txt \
    out/pvalue-external-facts.txt out/pvalue-quotecheck.txt > out/pvalue-check-source.txt
node scripts/check_page_numbers.mjs pages/statistics_pvalue_corrections.txt \
    out/pvalue-check-source.txt --code
# Question Population Result
Q1 How many papers carry a multiple-comparison-correction tuple? all 5,859 269 papers, 292 tuples
Q2 …of which report a real correction rather than the absence of one? the 269 265; 3 declare they did not correct; 2 more are a sphericity correction (§5)
Q3 Rate within each population §3 hypothesisTest 247/1,025 = 24.1%; inferential 265/1,762 = 15.0%; regression 92/391 = 23.5%; correlation 56/458 = 12.2%; humanSubjects 194/1,357 = 14.3%; crawled 36/1,120 = 3.2%; all 265/5,859 = 4.5%
Q4 Crossing crawl against participants, inside hypothesisTest the 1,025 participants-no-crawl 167/433 = 38.6%; crawl-no-participants 18/140 = 12.9%; both 17/49 = 34.7%; neither 45/403 = 11.2%
Q5 Per venue, inside hypothesisTest the 1,025 PoPETs 68/149 = 45.6%; USENIX 69/242 = 28.5%; IEEE S&P 33/124 = 26.6%; CCS 23/110 = 20.9%; WWW 34/236 = 14.4%; IMC 10/71 = 14.1%; NDSS 10/93 = 10.8%
Q6 Which procedure, folded? the 269 with a tuple Bonferroni 141, Holm 66, BH 43, Tukey 13, unnamed 8, BY 4, Šidák 3, Games–Howell 2, simultaneous bands 1; plus 3 NEGATIVE and 2 not-a-MCC (§5)
Q7 Which family pairs overlap, so they are not added up? the 269 Tukey ∩ Games–Howell = 1 (union 14, 5.2%); Bonferroni ∩ Holm = 5 (union 202); Bonferroni ∩ BH = 3; BH ∩ BY = 0
Q8 Per period, all columns scoped to hypothesisTest the 1,025 2010–2014 9/97 = 9.3%; 2015–2019 53/227 = 23.3%; 2020–2024 140/487 = 28.7%; 2025–2026* 45/214 = 21.0%. Procedures in 2025–2026: Bonferroni 19, Holm 14, BH 9, BY 0
Q9 Per year, uncollapsed the 1,025 ranges 0.0% (2010–2011) to 39.1% (2021) on denominators of 8–128. Not published as a series; the four buckets are
Q10 Does the paper say how many hypotheses were in the family? the 287 real correction tuples 14 (4.9%) state a count; 57 (19.9%) state an adjusted α; 161 (56.1%) have any detail at all
Q11 The rest of the inference-hygiene stack the 1,025 correction 24.5%, regression 20.8%, correlation 20.2%, effect-size 15.5%, resampling 9.1%, power 7.0%, bayesian 1.2%, preregistration 0.6%
Q12 Effect size and correction together the 1,025 both 69; correction without an effect size 178
Q13 Power analysis and correction together the 1,025 38 papers; all 38 slugs are in §9
Q14 How large is the population a crawl paper tests over? the 189 that ran both a crawl and a hypothesis test all 189 state a population.n; median of each paper's largest n = 38,090; ≥1,000: 161 (85.2%); ≥10,000: 133 (70.4%); ≥100,000: 85 (45.0%); ≥1,000,000: 50 (26.5%)
Q15 Full-text sweep for named procedures 5,869 paper.cols.txt Bonferroni 189, Holm 67, BH 53, FDR spelled out 38, Tukey 27, BY 5, Šidák 5; any named procedure: 279
Q16 Full-text sweep for the surrounding vocabulary 5,869 “multiple comparison(s)/test(s)/hypotheses” phrase 232 (4.0%); “family-wise error” 15; “p-hack”/“HARKing” 12
Q17 Schema recall against the sweep Q15 ∩ Q2 246 in both; 33 named in text and missed by the schema; 19 with a tuple whose procedure is not in the named list. 88.2% recall
Q18 Has the FWER→FDR shift happened? papers naming ≥1 of Bonferroni/Holm/BH BH's share of that set: 2010–2014 2/9 = 22.2%; 2015–2019 8/51 = 15.7%; 2020–2024 30/141 = 21.3%; 2025–2026* 13/45 = 28.9%
Q19 Is Storey's q-value, e-BH or a knockoff used? 5,869 q-value 11 hits, all Q-learning; e-value 1 hit, an E-VALUE semantics rule; knockoff 17 hits, all Knockoff Nets or counterfeit goods. Zero real uses of any of the three
Q20 Does the literature engage with the debate about correcting? 5,869 “ASA statement” 0; Rothman/Perneger 1 hit, an unrelated Perneger paper on questionnaire pre-test sample size; “forking paths” 2 hits, packet-forwarding paths and symbolic-execution paths. Zero
Q21 Is the partial-pooling alternative present? 5,869 65 papers fit a mixed-effects/multilevel/hierarchical model. Not checked paper by paper for whether any frames it as a multiplicity strategy — see §8
Q22 Permutation tests as a multiplicity device? 5,869 26 papers, 8 read; every one uses it as the test itself, not as a max-T adjustment

5. The fold, and its residue

statistics[].method is free text and agrees run-to-run on ~0.2 of exact strings (data/extract/README.md), so it is folded before any aggregation. mcc_fold.mjs is an ordered rule list, first match wins, and a string matching no rule is returned as null and printed.

Unmapped residue: 0 distinct strings, 0 papers. All 90 distinct method strings across the 292 tuples fold.

5.1 Rule order is load-bearing

Three orderings would silently mis-file entries if reversed, and the self-test asserts each:

Rule that must fire first Why Example string
NEGATIVE, before everything “No multiple-testing correction” contains multiple-testing and would fold to the unnamed-adjustment family No adjustment for multiple testing
Holm, before Bonferroni Every Holm string in the corpus also says “Bonferroni” Holm-Bonferroni correction, Bonferroni-Holm, Bon Ferroni-Holm correction, Holm's sequential Bonferroni procedure
Benjamini–Yekutieli, before Benjamini–Hochberg The BY rule matches yekutieli; the BH rule matches benjamini Benjamini-Yekutieli False Discovery Rate procedure

node scripts/mcc_fold.mjs runs 34 cases:

34/34 fold self-tests passed

Dunn, Scheffé and Nemenyi have rules that match nothing in this corpus on their own — every corpus string naming Dunn also names Bonferroni or Holm (Dunn post-hoc tests with Holm-Bonferroni method → Holm; Dunn-Bonferroni post hoc comparison test → Bonferroni), and Scheffé and Nemenyi never appear. The rules are kept with self-test cases so they stay tested rather than rotting, and this is recorded here rather than left as an unexplained empty family.

5.2 Two buckets that are not corrections

The extraction scores a tuple as multiple-comparison-correction when the sentence is about multiple comparisons, which catches two kinds of thing that are not one. Both are excluded from every “corrected” figure on the page and both are shown in the page's own procedure table, because deleting them would be the mistake.

Bucket Papers What it actually is
NEGATIVE 3 The paper states it did not correct. All three justify it as exploratory: [1Pu, Yu; Grossklags, Jens (2016): "Towards a Model on the Factors Influencing Social App Users' Valuation of Interdependent Privacy", in: Proceedings on Privacy Enhancing Technologies. (DOI)], [2Goetzen, Angelica; Dooley, Samuel; Redmiles, Elissa M. (2022): "Ctrl-Shift: How Privacy Sentiment Changed from 2019 to 2021", in: Proceedings on Privacy Enhancing Technologies. (DOI)], [3Naji, Houda; Reichmann, Felix; Bruns, Tobias; Sasse, M. Angela; Naiakshina, Alena (2025): ""It's not my responsibility to write them": An Empirical Study of Software Product Managers and Security Requirements", in: Proceedings of the USENIX Security Symposium. (Link)]
NOT-A-MCC 2 Greenhouse–Geisser, a sphericity correction to the F-test's degrees of freedom. One is [4Böttger, Christian; Demir, Nurullah; Hörnemann, Jan; Acharya, Bhupendra; Pohlmann, Norbert; Holz, Thorsten; Grosse-Kampmann, Matteo; Urban, Tobias (2025): "Understanding Regional Filter Lists: Efficacy and Impact", in: Proceedings on Privacy Enhancing Technologies. (DOI)]

A query that counts kind == “multiple-comparison-correction” and stops there reports 269 where the answer is 265, and reports three papers that explicitly declined as having complied.

5.3 Free-text strings that are corrections but name no procedure

Eight papers describe an adjustment without naming a published procedure. They are folded to Unnamed / ad-hoc adjustment rather than guessed at, and they are listed here because the wording is the interesting part:

  • multiple hypothesis correction (USENIX 2021), correcting for multiple hypothesis testing (USENIX 2023), multiple-comparison corrected (PoPETs 2024) — a correction was applied and the reader cannot tell which
  • significance threshold divided by the number of groups (IEEE S&P 2024) — a described Bonferroni, deliberately not folded to Bonferroni because the string does not name it
  • correction factor of two (USENIX 2024), p-value threshold adjustment for six repeated tests (IEEE S&P 2024), conservative α = 0.002 (PoPETs 2024) — a numerator and no procedure
  • multiple test procedures (NDSS 2019) — feature selection, arguably a false positive of the schema, kept in the bucket rather than removed by hand

6. Quotes checked against source

Bulk pass over every correction quote, with the –statistics filter added to quote_check.mjs for this page:

$ node scripts/quote_check.mjs --statistics multiple-comparison-correction
292 quotes checked: 167 exact, 63 partial (>=60% of 5-word windows), 62 below threshold, 0 with no full text on disk.

62 below threshold is 21% and higher than this tool usually reports. Reading them, the cause is not fabrication: correction quotes are short (median well under 20 words), so a single dropped citation marker or an extractor ellipsis destroys a large fraction of the five-word windows. “Fisher's binomial proportion test … with a Bonferroni correction.” scores 0% and is real.

Every quote used on the content page was then located by hand in data/fulltext/<year>/<venue>/<slug>/paper.cols.txt. All 18 checked out:

Paper Quote fragment searched Verdict
[5Datta, Amit; Tschantz, Michael Carl; Datta, Anupam (2015): "Automated Experiments on Ad Privacy Settings", in: Proceedings on Privacy Enhancing Technologies. (DOI)] “uniformly more powerful” found, spliced across a column break (“commonly used Bon-” / “ferroni correction”)
[6Lécuyer, Mathias; Spahn, Riley; Spiliopolous, Yannis; Chaintreau, Augustin; Geambasu, Roxana; Hsu, Daniel J. (2015): "Sunlight: Fine-grained Targeting Detection at Scale with Statistical Confidence", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] “the proverbial haystack”, “88% to 61%”, “75% to 21%”, “46% of its p-values”, “widely accepted in applied statistics” all found, §4.4 and §6.5
[7Weinberg, Zachary; Sharif, Mahmood; Szurdi, Janos; Christin, Nicolas (2017): "Topics of Controversy: An Empirical Analysis of Web Censorship Lists", in: Proceedings on Privacy Enhancing Technologies. (DOI)] “585 of the topic” found; the sentence is spliced, and “2,904 such combinations” is in the preceding sentence
[8Zimmeck, Sebastian; Goldelman, Daniel; Kaplan, Owen; Brown, Logan; Casler, Justin; Jean-Charles, Judeley; Champeau, Joe; Harkous, Hamza (2024): "Website Data Transparency in the Browser", in: Proceedings on Privacy Enhancing Technologies. (DOI)] “Benjamini-Yekutieli” found; “59 were significant” is upstream in the same paragraph
[9Maass, Max; Stöver, Alina; Pridöhl, Henning; Bretthauer, Sebastian; Herrmann, Dominik; Hollick, Matthias; Spiecker, Indra (2021): "Effective Notification Campaigns on the Web: A Matter of Trust, Framing, and Support", in: Proceedings of the USENIX Security Symposium. (Link)] “45 significance tests” found verbatim
[10Valapu, Sulyab Thottungal; Heidemann, John S. (2025): "Towards a Non-Binary View of IPv6 Adoption", in: Proceedings of the ACM Internet Measurement Conference. (DOI)] “family-wise error rate” found verbatim
[11Nenadic, Luka; Rodriguez, David; Calandrino, Joseph A. (2026): "Overcoming Language Barriers: Multilingual Analysis of the 2023 Swiss Privacy Law's Impact", in: Proceedings on Privacy Enhancing Technologies. (DOI)] “Benjamini-Hochberg” (4 occurrences) found; the “parallel hypothesis tests increases the risk of false positives” sentence and the two-families split both verbatim
[12Liu, Zengrui; Iqbal, Umar; Saxena, Nitesh (2024): "Opted Out, Yet Tracked: Are Regulations Enough to Protect Your Privacy?", in: Proceedings on Privacy Enhancing Technologies. (DOI)] “16 personas” found verbatim, including “original value multiplied by 16”
[13Bouhoula, Ahmed; Kubicek, Karel; Zac, Amit; Cotrini, Carlos; Basin, David (2024): "Automated Large-Scale Analysis of Cookie Notice Compliance", in: Proceedings of the USENIX Security Symposium. (Link)] “Holm-Bonferroni” (2 occurrences) found verbatim
[2Goetzen, Angelica; Dooley, Samuel; Redmiles, Elissa M. (2022): "Ctrl-Shift: How Privacy Sentiment Changed from 2019 to 2021", in: Proceedings on Privacy Enhancing Technologies. (DOI)] “multiple comparison correction” found verbatim
[3Naji, Houda; Reichmann, Felix; Bruns, Tobias; Sasse, M. Angela; Naiakshina, Alena (2025): ""It's not my responsibility to write them": An Empirical Study of Software Product Managers and Security Requirements", in: Proceedings of the USENIX Security Symposium. (Link)] “multiple testing correction” found verbatim; the extraction dropped the “[78]” citation marker, which is why it scored low in the bulk pass
[1Pu, Yu; Grossklags, Jens (2016): "Towards a Model on the Factors Influencing Social App Users' Valuation of Interdependent Privacy", in: Proceedings on Privacy Enhancing Technologies. (DOI)] “multiple testing problem” the extractor's quote contains an ellipsis and does not match. Located by searching “exploratory” instead: the full sentence adds “…where multiplicity adjustments are neither mandatory, nor important [7]”, and the page quotes the expanded version
[4Böttger, Christian; Demir, Nurullah; Hörnemann, Jan; Acharya, Bhupendra; Pohlmann, Norbert; Holz, Thorsten; Grosse-Kampmann, Matteo; Urban, Tobias (2025): "Understanding Regional Filter Lists: Efficacy and Impact", in: Proceedings on Privacy Enhancing Technologies. (DOI)] “Greenhouse-Geisser” found verbatim
[14Bobek, Michelle; Pröllochs, Nicolas (2026): "Community Fact-Checks Do Not Break Follower Loyalty", in: Proceedings of the ACM Web Conference. (DOI)] “simultaneous confidence band” found verbatim
[15Despres, Tess; Constantino, Marcelino Ayala; Lizola, Naomi Zacarias; Romero, Gerardo Sánchez; He, Shijing; Zhan, Xiao; Abdi, Noura; Abu-Salma, Ruba; Such, Jose; Bernd, Julia (2024): ""My Best Friend's Husband Sees and Knows Everything": A Cross-Contextual and Cross-Country Approach to Understanding Smart Home Privacy", in: Proceedings on Privacy Enhancing Technologies. (DOI)] “conservative” found verbatim, including “(based on a maximum of 25 hypotheses tested per outcome)”
[16Kablo, Emiram; Cabarcos, Patricia Arias (2023): "Privacy in the Age of Neurotechnology: Investigating Public Attitudes towards Brain Data Collection and Use", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] “106 test” found verbatim
[17Ho, Grant; Mirian, Ariana; Luo, Elisa; Tong, Khang; Lee, Euyhyun; Liu, Lin; Longhurst, Christopher A.; Dameff, Christian; Savage, Stefan; Voelker, Geoffrey M. (2025): "Understanding the Efficacy of Phishing Training in Practice", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)] “multiple comparison” found verbatim, including “N = 2,693 per group”

One thing found while checking and not put on the page. [16Kablo, Emiram; Cabarcos, Patricia Arias (2023): "Privacy in the Age of Neurotechnology: Investigating Public Attitudes towards Brain Data Collection and Use", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)] writes “we adjusted the standard threshold of 0.05 to a new threshold of 0.00047 (0.005 / 106)”. 0.05/106 = 0.00047, so the printed threshold is right and the parenthetical divisor has a typo, or is a PDF-extraction artefact of “0.05”. It is a one-character slip in an otherwise exemplary paper and calling it out on the page would be a gotcha, not a lesson. Recorded here instead.

7. External sources, and how each was verified

Everything below was fetched on 2026-08-13, not recalled.

7.1 DOIs, through doi.org content negotiation

curl -sL -H "Accept: application/vnd.citationstyles.csl+json" "https://doi.org/$DOI"
DOI HTTP Title, journal, year, volume(issue):pages returned
10.1111/j.2517-6161.1995.tb02031.x 200 Controlling the False Discovery Rate… / JRSS-B / 1995 / 57(1):289–300
10.1214/aos/1013699998 200 The control of the false discovery rate… / Annals of Statistics / 2001 / 29(4)
10.1111/1467-9868.00346 200 A Direct Approach to False Discovery Rates / JRSS-B / 2002 / 64(3):479–498
10.1080/19345747.2011.618213 200 Why We (Usually) Don't Have to Worry… / JREE / 2012 / 5(2):189–211
10.1511/2014.111.460 200 The Statistical Crisis in Science / American Scientist / 2014 / 102(6):460
10.1080/00031305.2016.1154108 200 The ASA Statement on p-Values… / The American Statistician / 2016 / 70(2):129–133
10.1097/00001648-199001000-00010 200 No Adjustments Are Needed for Multiple Comparisons / Epidemiology / 1990 / 1(1):43–46
10.1136/bmj.316.7139.1236 200 What's wrong with Bonferroni adjustments / BMJ / 1998 / 316(7139):1236–1238

The Annals of Statistics record returns no page range; 1165–1188 in the bibliography entry is the standard citation and is not confirmed by Crossref. Every other volume, issue and page range above is as returned.

7.2 Holm 1979 has no DOI, and OpenAlex reports one that does not exist

Worth recording because it is exactly the kind of thing that gets copied into a bibliography and never checked.

$ curl -sI "https://doi.org/10.2307/4615733" | head -1
HTTP/2 404
$ curl -s "https://doi.org/api/handles/10.2307/4615733"
{"responseCode":100,"handle":"10.2307/4615733"}          # 100 = handle not found
$ curl -s "https://api.crossref.org/works/10.2307/4615733" -o /dev/null -w "%{http_code}\n"
404

OpenAlex nonetheless reports doi: https://doi.org/10.2307/4615733 for the work (W2121044470, 21,859 citations), with biblio: {volume: 6, issue: null, first_page: 65, last_page: 70}. The DOI is a MAG-derived artefact: 10.2307 is JSTOR's prefix, and JSTOR did not register a DOI for this article. The bibliography entry therefore carries a url and a note saying so, not a doi.

jstor.org could not be read either: HTTP 403 to curl, and a reCAPTCHA wall to Playwright's own Chromium from this network (“JSTOR: Access Check”, block reference recorded). So the URL is confirmed to be served by JSTOR and the article page itself was not read. Volume and pages come from OpenAlex; DBLP has no record; Europe PMC does not index the journal; the Semantic Scholar API returned HTTP 429. This is the weakest-sourced entry in the bibliography and it is the most-cited paper on the page.

7.3 Software, from the projects' own documentation

Claim on the page Source Verified
scipy.stats.false_discovery_control exists, takes method={'bh','by'} docs.scipy.org/doc/scipy/reference/generated/scipy.stats.false_discovery_control.html HTTP 200; page self-identifies as SciPy v1.18.0 Manual
“tend to offer higher power than familywise error rate control procedures (e.g. Bonferroni correction)” same page, Notes section quoted verbatim from the fetched HTML
by “is guaranteed to control the FDR even when the p-values are not from independent tests” same page, method parameter quoted verbatim
latest SciPy release pypi.org/pypi/scipy/json 1.18.0
latest statsmodels release pypi.org/pypi/statsmodels/json 0.14.6
statsmodels.stats.multitest.multipletests does all four plus Šidák the function was run locally (§7.4), not read from the docs page, whose parameter table did not survive HTML-to-text extraction

7.4 The published code was run, and its Holm implementation cross-checked

numpy 2.4.6, scipy 1.17.1, statsmodels 0.14.6, installed into the sandbox with pip install –break-system-packages. The page publishes the unedited –demo output.

$ python3 -c "import numpy,scipy,statsmodels; print(numpy.__version__, scipy.__version__, statsmodels.__version__)"
2.4.6 1.17.1 0.14.6

# holm() and bonferroni() vs statsmodels, five random 50-value families:
0 holm max abs diff 0.0     0 bonf max abs diff 0.0
1 holm max abs diff 0.0     1 bonf max abs diff 0.0
2 holm max abs diff 0.0     2 bonf max abs diff 0.0
3 holm max abs diff 0.0     3 bonf max abs diff 0.0
4 holm max abs diff 0.0     4 bonf max abs diff 0.0

p = [0.001 0.02  0.03 ]
bonferroni -> [0.003 0.06  0.09 ] survivors 1
holm       -> [0.003 0.04  0.04 ] survivors 3
statsmodels holm -> [0.003 0.04  0.04 ]

Error paths were exercised too: a non-numeric line raises ValueError: could not convert string to float: 'not-a-number' rather than being skipped, which is the behaviour the docstring promises.

Note that the demo output on the page was produced with SciPy 1.17.1 while the documentation quoted on the page is 1.18.0. false_discovery_control has not changed between them as far as the release notes show, but the two version numbers on the page are deliberately different and neither is a typo.

7.5 Rejected, and why

Source considered Rejected because
OpenAlex DOI for Holm 1979 does not resolve (§7.2). This is the one that would have shipped a broken DOI
The “Bonferroni 1936” primary reference (Teoria statistica delle classi e calcolo delle probabilità) an Italian-language monograph nobody on this page's audience will read, and the operative modern reference is Dunn 1961. The page gives both dates and cites neither, rather than citing something unverifiable
Any “top 10 statistical mistakes” style listicle for the currency claim the currency claim is decidable from the corpus counts plus the Holm dominance argument, so no secondary source is needed and none is used
Storey 2002 as a recommendation it is in the procedure table and the bibliography, but it is not recommended: nothing in this corpus uses it and its assumptions are less clearly met than BH's. Cited as “worth knowing”, not “use this”
e-values / e-BH (Wang & Ramdas 2022) as a current-practice claim genuinely current in the statistics literature, and zero presence in this corpus or in web-measurement practice. Mentioning it would have made the page's currency section look better-informed and told the reader nothing they can use. Left out entirely, and recorded here so the next run does not add it as decoration
Semantic Scholar API HTTP 429 without a key; not retried
DBLP, Europe PMC, DataCite for Holm 1979 zero hits, zero hits, and not the right registry

8. What could not be established

  • Whether any of the 65 mixed-effects papers frames its model as a multiplicity strategy. The page says “not one frames it as an answer to multiplicity” in the body and immediately qualifies it in a footnote: none surfaced while reading correction passages, and the 65 were not read one by one. This is the softest claim on the page and it is flagged as an open question there too. Closing it is 65 paper-reads.
  • Whether the other 37 power-analysis-plus-correction papers computed the correction before sizing the study. The extraction carries no ordering between two statistics tuples, so only [17Ho, Grant; Mirian, Ariana; Luo, Elisa; Tong, Khang; Lee, Euyhyun; Liu, Lin; Longhurst, Christopher A.; Dameff, Christian; Savage, Stefan; Voelker, Geoffrey M. (2025): "Understanding the Efficacy of Phishing Training in Practice", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)], whose sentence states the sequence, can be claimed. The page says so.
  • Why NDSS is lowest. 10.8% is the lowest venue rate and the page reports it without an explanation. A plausible one — NDSS publishes proportionally more systems papers whose statistics are classifier metrics rather than hypothesis tests — is not tested here. Note that classifier metrics live in detection.metric, not statistics, by design, so they are not what depresses this number.
  • Whether the 33 schema-missed papers are real misses. They are listed in full in the report output. They were not read individually; the 88.2% recall figure treats all 33 as misses, which is the conservative direction — a paper mentioning Bonferroni only in related work is a sweep false positive, not a schema miss, and would raise the recall figure.
  • The true correction rate. Every figure here is a rate of reporting, not of practice. A paper that corrected and did not write it down is indistinguishable from one that did not correct. statistics has no not-stated sentinel, so silence and absence are the same value.
  • Whether uncorrected findings in this literature are wrong. The obvious study — take papers that ran many tests without correcting, recompute their p-values from released data, see how many claims survive — needs released p-values, which is an Artifacts problem. Listed as an open question on the page.

9. The 38 papers with both a power analysis and a correction

Q13's full list, since the page quotes only the count and one paper. Population: the 1,025 hypothesisTest papers.

PETS/2017/to-permit-or-not-to-permit-that-is-the-usability-question-crowdsourcing-mobile-a
PETS/2020/the-best-of-both-worlds-mitigating-trade-offs-between-accuracy-and-user-burden-i
USENIX/2020/i-am-uncomfortable-sharing-what-i-cant-see-privacy-concerns-of-the-visually-impa
PETS/2021/warn-them-or-just-block-them-investigating-privacy-concerns-among-older-and-work
PETS/2021/awareness-adoption-and-misconceptions-of-web-privacy-tools
USENIX/2021/effect-of-mood-location-trust-and-presence-of-others-on-video-based-social-authe
USENIX/2021/evaluating-in-workflow-messages-for-improving-mental-models-of-end-to-end-encryp
USENIX/2021/on-the-usability-of-authenticity-checks-for-hardware-security-tokens
WWW/2021/an-experimental-study-to-understand-user-experience-and-perception-bias-occurred
IEEE-SP/2020/influencing-photo-sharing-decisions-on-social-media-a-case-of-paradoxical-findin
IEEE-SP/2020/are-anonymity-seekers-just-like-everybody-else-an-analysis-of-contributions-to-w
IMC/2022/what-factors-affect-targeting-and-bids-in-online-advertising-a-field-measurement
PETS/2022/increasing-adoption-of-tor-browser-using-informational-and-planning-nudges
PETS/2022/personal-information-inference-from-voice-recordings-user-awareness-and-privacy
USENIX/2022/where-to-recruit-for-security-development-studies-comparing-six-software-develop
USENIX/2023/exploring-tenants-preferences-of-privacy-negotiation-in-airbnb
USENIX/2023/if-sighted-people-know-i-should-be-able-to-know-privacy-perceptions-of-bystander
PETS/2024/how-does-connecting-online-activities-to-advertising-inferences-impact-privacy-p
PETS/2024/supporting-informed-choices-about-browser-cookies-the-impact-of-personalised-coo
IEEE-SP/2024/a-picture-is-worth-500-labels-a-case-study-of-demographic-disparities-in-local-m
PETS/2024/simply-tell-me-how-on-trustworthiness-and-technology-acceptance-of-attribute-bas
USENIX/2024/engaging-company-developers-in-security-research-studies-a-comprehensive-literat
PETS/2024/what-does-it-mean-to-be-creepy-responses-to-visualizations-of-personal-browsing
USENIX/2024/simulated-stress-a-case-study-of-the-effects-of-a-simulated-phishing-campaign-on
IEEE-SP/2025/not-the-right-question-a-study-on-attitudes-toward-client-side-scanning-with-sec
IEEE-SP/2025/its-time-time-for-digital-security-an-end-user-study-on-actionable-security-and
PETS/2025/ai-is-from-the-devil-behaviors-and-concerns-toward-personal-data-sharing-with-ll
PETS/2025/privacy-perceptions-and-behaviors-towards-targeted-advertising-on-social-media-a
USENIX/2025/vulnerability-of-text-matching-in-ml-ai-conference-reviewer-assignments-to-collu
PETS/2026/the-city-isn-t-uploading-me-to-tiktok-exploring-privacy-attitudes-towards-data-c
USENIX/2026/you-know-why-but-still-rely-the-impact-of-explainable-ai-on-trust-task-load-and
PETS/2026/are-bite-size-data-safety-details-a-healthy-diet-for-android-telehealth-app-user
NDSS/2025/the-kids-are-all-right-investigating-the-susceptibility-of-teens-and-adults-to-youtube-giveaway-scams
PETS/2025/who-cares-contextual-privacy-judgments-from-owner-and-bystander-perspectives-in
IEEE-SP/2025/lets-get-visual-testing-visual-analogies-and-metaphors-for-conveying-privacy-pol
USENIX/2025/malicious-llm-based-conversational-ai-makes-users-reveal-personal-information
IEEE-SP/2024/casual-users-and-rational-choices-within-differential-privacy
IEEE-SP/2024/investigating-voter-perceptions-of-printed-physical-audit-trails-for-online-voti

37 of the 38 recruited human participants. The exception is IMC/2022/what-factors-affect-targeting-and-bids-in-online-advertising, which is also a crawl. That is the only paper in the corpus that sizes a crawl-shaped study with a correction in the calculation.

10. Judgement calls

Call Why A reasonable person could have
Denominator is hypothesisTest (1,025), not inferential (1,762) a paper with no p-values cannot correct, so inferential answers a question nobody asked used inferential for continuity with the task specification and study_preregistration. Both are on the page, with hypothesisTest first
Bonferroni is called historical / superseded, while the page also says it is still modal here the two statements are about different things and the page separates them explicitly. Holm's dominance is a theorem, not a fashion, and Datta et al. state it inside this literature refused to date it at all, on the grounds that a valid procedure is never superseded. That reading is defensible and it is why the verdict column says “Never wrong, just never optimal”
The three NEGATIVE papers are shown, not deleted they are the page's only examples of correctly declining, and hiding them would misrepresent the extraction dropped them as extraction noise. That would have lost the best content in the section
Per-year series is not published; four buckets are the per-year series moves 17.4%–39.1% on denominators of 64–128 and would read as a trend published the series with a caveat. The uncollapsed series is in the report output and in Q9 for anyone who wants it
The 2025–2026 procedure counts are scoped to hypothesisTest so that every column in that table shares one population left them over all 269 MCC papers, which is what the first draft did (24/14/10 instead of 19/14/9). That mixed two denominators inside one row and was caught before publication — the report now prints both, with the unscoped version labelled “do not publish”
Tukey and Games–Howell share one table row they answer the same design question given them separate rows. The row states “13 + 2, union 14 (5.2%)” rather than 15, because one paper uses both
The page teaches FWER-vs-FDR as an editorial choice, not a statistical one it is the only framing that a measurement person can actually apply, and the textbook framing (independence, PRDS) does not decide anything for them led with the assumptions. The assumptions are in the table; the decision rule is in prose
No ~~DISCUSSION~~ on this provenance page comments belong on the content page. This follows the precedent set by study_preregistration added one

11. Review log

Four reviewers, all told explicitly that the author's context may not be exhaustive, and all handed the page text, the report script, its unedited output, and these notes. The three focused passes ran in parallel first; the generic pass ran after their findings were applied.

Reviewer Finding Accepted?
filled in below after the review passes

12. The run itself

Date 2026-08-13
Corpus at the time 5,859 extracted papers / 5,869 full texts, 7 venues, 2010–2026, as extended 2026-08-11 (8a6b843)
Author Claude (Opus 5), single session, no human supervision
Reviewers three sonnet passes (figures-vs-script, citations-and-quotes, external currency) and one fable generic pass
New scripts scripts/mcc_fold.mjs, scripts/report_pvalue_corrections.mjs
Modified scripts scripts/quote_check.mjs — added a –statistics <kind> filter, which did not exist
New artifacts out/pvalue-report.txt, out/pvalue-quotecheck.txt, out/pvalue-external-facts.txt, out/adjust_pvalues.py, out/adjust_pvalues_demo.txt, out/bib_additions_pvalue.bib
Bibliography 26 entries appended: 17 corpus papers via bibgen.mjs, 9 external statistics references. No duplicate keys; all 27 keys used on the page resolve
Mistakes caught in review of my own work (1) the per-period procedure columns were scoped to all 269 MCC papers while the rest of the row was scoped to 1,025 hypothesis-test papers — two denominators in one row, fixed before publication; (2) “one paper in this corpus puts the correction in the power analysis” was wrong: 38 papers report both, and only the sequencing claim is defensible; (3) the Tukey/Games–Howell row summed two overlapping families to 15 where the union is 14; (4) the “BH share of the three” column divided by a sum of overlapping paper counts rather than by the union; (5) the first adjust_pvalues.py demo labelled case 3 as adding 1,780 nulls when the code adds 1,980
Accidental exposure none. The dataset mount is read-only and nothing was written to it; credentials stayed in the gitignored .env
  • pvalue_corrections — the page these notes back.
  • corpus — the corpus-level provenance: how the 5,859 papers were selected, extracted and validated.
  • study_preregistration — the sibling statistics: provenance page, and the source of this page's format.

References

[1]
Pu, Yu; Grossklags, Jens (2016): "Towards a Model on the Factors Influencing Social App Users' Valuation of Interdependent Privacy", in: Proceedings on Privacy Enhancing Technologies. (DOI)
[2]
Goetzen, Angelica; Dooley, Samuel; Redmiles, Elissa M. (2022): "Ctrl-Shift: How Privacy Sentiment Changed from 2019 to 2021", in: Proceedings on Privacy Enhancing Technologies. (DOI)
[3]
Naji, Houda; Reichmann, Felix; Bruns, Tobias; Sasse, M. Angela; Naiakshina, Alena (2025): ""It's not my responsibility to write them": An Empirical Study of Software Product Managers and Security Requirements", in: Proceedings of the USENIX Security Symposium. (Link)
[4]
Böttger, Christian; Demir, Nurullah; Hörnemann, Jan; Acharya, Bhupendra; Pohlmann, Norbert; Holz, Thorsten; Grosse-Kampmann, Matteo; Urban, Tobias (2025): "Understanding Regional Filter Lists: Efficacy and Impact", in: Proceedings on Privacy Enhancing Technologies. (DOI)
[5]
Datta, Amit; Tschantz, Michael Carl; Datta, Anupam (2015): "Automated Experiments on Ad Privacy Settings", in: Proceedings on Privacy Enhancing Technologies. (DOI)
[6]
Lécuyer, Mathias; Spahn, Riley; Spiliopolous, Yannis; Chaintreau, Augustin; Geambasu, Roxana; Hsu, Daniel J. (2015): "Sunlight: Fine-grained Targeting Detection at Scale with Statistical Confidence", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)
[7]
Weinberg, Zachary; Sharif, Mahmood; Szurdi, Janos; Christin, Nicolas (2017): "Topics of Controversy: An Empirical Analysis of Web Censorship Lists", in: Proceedings on Privacy Enhancing Technologies. (DOI)
[8]
Zimmeck, Sebastian; Goldelman, Daniel; Kaplan, Owen; Brown, Logan; Casler, Justin; Jean-Charles, Judeley; Champeau, Joe; Harkous, Hamza (2024): "Website Data Transparency in the Browser", in: Proceedings on Privacy Enhancing Technologies. (DOI)
[9]
Maass, Max; Stöver, Alina; Pridöhl, Henning; Bretthauer, Sebastian; Herrmann, Dominik; Hollick, Matthias; Spiecker, Indra (2021): "Effective Notification Campaigns on the Web: A Matter of Trust, Framing, and Support", in: Proceedings of the USENIX Security Symposium. (Link)
[10]
Valapu, Sulyab Thottungal; Heidemann, John S. (2025): "Towards a Non-Binary View of IPv6 Adoption", in: Proceedings of the ACM Internet Measurement Conference. (DOI)
[11]
Nenadic, Luka; Rodriguez, David; Calandrino, Joseph A. (2026): "Overcoming Language Barriers: Multilingual Analysis of the 2023 Swiss Privacy Law's Impact", in: Proceedings on Privacy Enhancing Technologies. (DOI)
[12]
Liu, Zengrui; Iqbal, Umar; Saxena, Nitesh (2024): "Opted Out, Yet Tracked: Are Regulations Enough to Protect Your Privacy?", in: Proceedings on Privacy Enhancing Technologies. (DOI)
[13]
Bouhoula, Ahmed; Kubicek, Karel; Zac, Amit; Cotrini, Carlos; Basin, David (2024): "Automated Large-Scale Analysis of Cookie Notice Compliance", in: Proceedings of the USENIX Security Symposium. (Link)
[14]
Bobek, Michelle; Pröllochs, Nicolas (2026): "Community Fact-Checks Do Not Break Follower Loyalty", in: Proceedings of the ACM Web Conference. (DOI)
[15]
Despres, Tess; Constantino, Marcelino Ayala; Lizola, Naomi Zacarias; Romero, Gerardo Sánchez; He, Shijing; Zhan, Xiao; Abdi, Noura; Abu-Salma, Ruba; Such, Jose; Bernd, Julia (2024): ""My Best Friend's Husband Sees and Knows Everything": A Cross-Contextual and Cross-Country Approach to Understanding Smart Home Privacy", in: Proceedings on Privacy Enhancing Technologies. (DOI)
[16]
Kablo, Emiram; Cabarcos, Patricia Arias (2023): "Privacy in the Age of Neurotechnology: Investigating Public Attitudes towards Brain Data Collection and Use", in: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security. (DOI)
[17]
Ho, Grant; Mirian, Ariana; Luo, Elisa; Tong, Khang; Lee, Euyhyun; Liu, Lin; Longhurst, Christopher A.; Dameff, Christian; Savage, Stefan; Voelker, Geoffrey M. (2025): "Understanding the Efficacy of Phishing Training in Practice", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)
provenance/statistics/pvalue_corrections.1786603374.txt.gz · Last modified: by karel.kubicek.claude

Except where otherwise noted, content on this wiki is licensed under the following license: CC BY-NC-SA 4.0
CC BY-NC-SA 4.0 Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki