# Verified supplementary statistical tables

Supplement v1.0.0 (2026-09-30); calculated from aggregate dataset version 2026-09-13. Included with Zenodo article version 3.0; the v3 deposit is prepared but not yet published. Tested with Node.js v24.15.0. Tables and documentation: CC BY 4.0; script: MIT. Run `node scripts/ydna-supplement.mjs` in the repository, or `node calculate-supplement.mjs` beside the archived aggregate-data.json and census-inputs.json, to reproduce; `--json` returns full precision and `--csv` returns counts. Normal intervals use z = 1.959963984540054. No manuscript or input data are changed by running the script.

## Interpretation and corrections

Intervals assume independent Bernoulli sampling within each fixed paternal-island stratum and treat weights as known. The variance uses the proposed plug-in p(1-p)/n formula, without a finite-population correction. With community-based, non-probability recruitment, these are conditional fixed-stratum sampling-model intervals, not design-based national confidence intervals. Recruitment bias, residual relatedness, weight uncertainty, and mismatch between resident and paternal-origin populations are not captured.

Census-resident standardisation is the main standardised summary, not a validated national paternal-lineage estimate. The weights cover residents of both sexes and all ages, not paternal-grandfather origins. Table 1 is an illustrative scenario of undocumented origin; a named source is still required. Close agreement with the census-standardised calculation does not establish its provenance or validate either weighting scheme for the target population. An overlap of marginal intervals is not a test of agreement. The pooled fixed-stratum and pooled Wilson intervals answer different sampling-model questions.

The variance ratio below compares the supplied fixed-stratum model with a simple binomial model at the pooled proportion; it does not establish the actual survey design effect or a genetic variance component. Cramér’s V describes association in these counts, not historical causation.

For zero cells, distinguish the upper endpoint of a two-sided 95% interval (0.88%) from a one-sided 95% upper confidence bound (0.72%).

## S1. Combined category by paternal-island group

| Island | Count / n | % | Wilson 95% CI | Width (pp) |
| --- | --- | --- | --- | --- |
| Santiago | 369 / 417 | 88.49 | 85.07–91.21 | 6.14 |
| São Vicente | 47 / 199 | 23.62 | 18.25–29.98 | 11.73 |
| Santo Antão | 32 / 103 | 31.07 | 22.95–40.55 | 17.60 |
| Fogo | 15 / 107 | 14.02 | 8.68–21.85 | 13.16 |
| Sal | 58 / 111 | 52.25 | 43.04–61.31 | 18.27 |
| Boa Vista | 29 / 82 | 35.37 | 25.89–46.16 | 20.27 |
| São Nicolau | 38 / 89 | 42.70 | 32.93–53.06 | 20.13 |
| Maio | 57 / 76 | 75.00 | 64.22–83.37 | 19.15 |
| Brava | 21 / 73 | 28.77 | 19.65–40.01 | 20.35 |
| Pooled (Wilson) | 666 / 1257 | 52.98 | 50.22–55.73 | 5.51 |

## S2. Pooled haplogroups

| Haplogroup | Count | % | Wilson 95% CI |
| --- | --- | --- | --- |
| E1b1a | 465 | 36.99 | 34.37–39.70 |
| R1b | 318 | 25.30 | 22.97–27.77 |
| E1b1b | 184 | 14.64 | 12.79–16.70 |
| E1a | 145 | 11.54 | 9.89–13.42 |
| A1a | 46 | 3.66 | 2.75–4.85 |
| J | 43 | 3.42 | 2.55–4.58 |
| I2a | 25 | 1.99 | 1.35–2.92 |
| G2a | 15 | 1.19 | 0.72–1.96 |
| E2b | 10 | 0.80 | 0.43–1.46 |
| T | 6 | 0.48 | 0.22–1.04 |

## S3. Weighting sensitivity

| Haplogroup | Pooled | Table 1 scenario | 2021 census residents | Equal islands |
| --- | --- | --- | --- | --- |
| A1a | 3.66 | 4.41 | 4.37 | 2.95 |
| E1a | 11.54 | 12.74 | 12.67 | 10.65 |
| E1b1a | 36.99 | 45.69 | 45.09 | 29.36 |
| E1b1b | 14.64 | 13.51 | 13.57 | 16.15 |
| E2b | 0.80 | 1.05 | 1.04 | 0.52 |
| R1b | 25.30 | 17.45 | 17.96 | 31.76 |
| I2a | 1.99 | 1.31 | 1.34 | 2.48 |
| G2a | 1.19 | 0.84 | 0.86 | 1.56 |
| J | 3.42 | 2.59 | 2.67 | 4.04 |
| T | 0.48 | 0.41 | 0.42 | 0.53 |
| Combined | 52.98 | 63.89 | 63.17 | 43.48 |

| Island | Residents 2021 | Pooled | Table 1 scenario | 2021 census residents | Equal islands |
| --- | --- | --- | --- | --- | --- |
| Santiago | 273988 | 0.331742 | 0.571000 | 0.557756 | 0.111111 |
| São Vicente | 75845 | 0.158313 | 0.156000 | 0.154397 | 0.111111 |
| Santo Antão | 36950 | 0.081941 | 0.070000 | 0.075219 | 0.111111 |
| Fogo | 33754 | 0.085123 | 0.064000 | 0.068713 | 0.111111 |
| Sal | 33615 | 0.088305 | 0.064000 | 0.068430 | 0.111111 |
| Boa Vista | 12798 | 0.065235 | 0.030000 | 0.026053 | 0.111111 |
| São Nicolau | 12306 | 0.070804 | 0.022000 | 0.025051 | 0.111111 |
| Maio | 6330 | 0.060461 | 0.013000 | 0.012886 | 0.111111 |
| Brava | 5647 | 0.058075 | 0.010000 | 0.011496 | 0.111111 |

Population inputs retrieved from [INE’s ILHAS layer](https://webgis10.ine.cv/arcgisinecv/rest/services/INECV_GEODATA/RE2023_INDICADORES_GERAIS_EMPRESAS_ILHA/MapServer/1), in the enterprise-indicator service RE2023_INDICADORES_GERAIS_EMPRESAS_ILHA, field Pop_Res_2021 (População Residente (2021)); rechecked on 30 September 2026. The census-inputs.json file preserves the nine inputs and query. Santa Luzia has a null value and is outside the analysis groups. Population sum: 491,233. Calculations use integer populations, not rounded weights. These residence weights define the main standardised comparison, not paternal-origin population weights.

## S4. Conditional fixed-stratum intervals

| Scheme | % | SE (pp) | 95% CI | Difference (pp) | Paired difference 95% CI (pp) |
| --- | --- | --- | --- | --- | --- |
| Pooled | 52.98 | 1.15 | 50.72–55.25 | 0.00 | 0.00–0.00 |
| Table 1 scenario | 63.89 | 1.14 | 61.65–66.13 | 10.91 | 9.70–12.12 |
| 2021 census residents | 63.17 | 1.14 | 60.93–65.40 | 10.18 | 9.01–11.35 |
| Equal islands | 43.48 | 1.47 | 40.60–46.35 | -9.51 | -10.78–-8.24 |

Conditional variance ratio against pooled simple-binomial variance: 0.6730.

Table 1 minus census: **0.73 pp (paired 95% CI 0.63–0.82 pp)**. This is smaller than the 10.91-point Table 1–pooled difference. It is a numerical sensitivity result, not evidence for the provenance or population validity of either weight set.

## S5. Combined-category heterogeneity

| Statistic | Value |
| --- | --- |
| Pearson chi-square | 410.981972 |
| df | 8 |
| p | 8.374933e-84 |
| Cramér’s V | 0.571799 |
| Minimum expected count (9 × 2) | 34.32 |
| Expected cells below 5 (9 × 10) | 49/90 |
| Expected cells below 1 (9 × 10) | 18/90 |

| Island | Chi-square contribution |
| --- | --- |
| Santiago | 211.0310 |
| São Vicente | 68.8855 |
| Santo Antão | 19.8583 |
| Fogo | 65.2128 |
| Sal | 0.0238 |
| Boa Vista | 10.2166 |
| São Nicolau | 3.7805 |
| Maio | 14.7886 |
| Brava | 17.1847 |

No full 9 × 10 exact/Monte Carlo test has been run. A finite Monte Carlo run must state its test statistic, seed, number of draws, and p-value estimator; 10,000 draws cannot resolve p-values below approximately 0.0001. Aggregate counts can support a categorical exact test; they cannot reconstruct Y-STR haplotypes, networks, or lineage ages.

## S6. Santiago zero cells

| Category | Count / n | Wilson two-sided upper % | Exact two-sided upper % | Exact one-sided upper % |
| --- | --- | --- | --- | --- |
| R1b | 0 / 417 | 0.91 | 0.88 | 0.72 |
| I2a | 0 / 417 | 0.91 | 0.88 | 0.72 |
| G2a | 0 / 417 | 0.91 | 0.88 | 0.72 |
| J | 0 / 417 | 0.91 | 0.88 | 0.72 |
| T | 0 / 417 | 0.91 | 0.88 | 0.72 |
| All five combined | 0 / 417 | 0.91 | 0.88 | 0.72 |

## S7. Santiago weight sensitivity

| Santiago weight % | Combined % | Difference vs pooled (pp) |
| --- | --- | --- |
| 50.00 | 59.82 | 6.84 |
| 52.50 | 61.25 | 8.27 |
| 55.00 | 62.69 | 9.70 |
| 57.10 | 63.89 | 10.91 |
| 60.00 | 65.55 | 12.57 |
| 65.00 | 68.42 | 15.44 |

Other island weights are rescaled proportionally to Table 1. A one-percentage-point increase in Santiago weight changes the estimate by 0.5734 percentage points.

## Census publication and Monte Carlo reporting

Instituto Nacional de Estatística, Cabo Verde (2022). [INE apresenta os resultados definitivos do V Recenseamento Geral da População e Habitação (RGPH-2021)](https://ine.cv/censo2020/?p=5489), 4 April 2022. This announcement reports 505,044 people counted, including 491,233 residents, but contains no island totals. The Pop_Res_2021 field of the ILHAS layer linked above supplies the integer island totals used in the script.

For B Monte Carlo draws and b exceedances (including ties), report the estimator (b + 1)/(B + 1), alongside B, the seed, and the ordering statistic. With B = 10,000 and b = 0, the estimate is 1/10,001, approximately 0.0001; the one-sided 95% upper bound for the exceedance probability is approximately 0.00030. Zero exceedances do not by themselves establish a true p-value below 0.0001. No Monte Carlo test is claimed in this supplement.
