The AN-045 rank-1-in-tight bandwagon pattern PARTIALLY survives under rank-at-commission but attenuates substantially: sponsor effect at rac1-tight is +6.59pp (n=20 sp) vs +12.20pp under final_rank (AN-045). The non-tight rac1 baseline is +2.71pp, so the bandwagon-in-tight signal is real but smaller than AN-045 suggested — most of the +12.20 was Simpson's-style aggregation. Critically, the AN-040 rank-2 over-statement VANISHES under ex-ante rank (rac2 sponsor effect: −0.46 non-tight, +4.20 tight) — candidates who ended at rank 2 over-stated because they were polled at varied positions during the campaign, not because rac2 commissioners inflate. Thin-cell surprise: rac3+ in tight shows sponsor effect of +18.64pp (n=14 sp) — a viability-grab pattern worth following up but currently underpowered. Within-candidate FE specs are all n.s. (sponsored-cell n=12-39 limits 3-way power). Yellow confidence descriptive.
Question
AN-045 found the largest tight-race sponsor-bias amplification at final rank 1 (+4.80pp non-tight → +12.20pp tight). But final_rank is an ex post outcome — the candidate's commissioning incentives depend on their position when the poll was commissioned, not on who eventually won. A candidate sitting at rank 1 during the campaign who finishes rank 2 should behave like a leader-bandwagon when commissioning; a candidate who finishes rank 1 but trailed during the campaign should behave like a coordination-demanding runner-up.
Rank-at-commission (the candidate's rank in the most recent prior neutral poll before this poll's commissioning) is the ex ante measure. AN-028 already established that the AN-027 coordination signal holds under this temporal alignment. This analysis applies the same alignment to the AN-045 bias-amplification decomposition.
If the AN-045 rank-1-in-tight pattern holds under rank_at_commission, the bandwagon-supply-side mechanism is confirmed as an ex ante incentive, not an ex post selection artifact. If it disappears, AN-045's finding was Simpson's-style aggregation across heterogeneous within-candidate trajectories.
Design
Sample: AN-001 analysis_table candidate-poll rows whose candidate has
at least one prior neutral (independent or pollster-self) poll in the
same muni with date_end < this poll's date_start. Following AN-028's
framework, this restriction is intrinsic to the rank-at-commission
definition.
Rank-at-commission computed per row via pd.merge_asof:
- For each (politico_id, muni_id), build a sorted list of prior neutral polls' (date_end, rank_in_poll)
- For each candidate-poll row, take the most recent prior neutral poll's
rank as
rank_at_commission
Bins: {1, 2, 3+} mirroring AN-045. tight_race = I(race_margin ≤ 0.08).
Specs (matching AN-045 ladder):
- Spec 1 (pooled OLS): full set of interactions
- Spec 2 (within-candidate FE)
- Spec 3 (within-candidate + institute FE + methodology controls)
- Spec 4 (race × week FE, strict clean comparator)
Plus 6-cell descriptive companion: mean error for sponsored vs non-sponsored within each (rank_at_commission_bin × tight) cell.
Results

Tables at build/table/an-050-bias-by-rank-at-commission-margin.csv and
the 6-cell companion at __cells.csv.
Sample construction
The rank-at-commission restriction keeps 16,810 of 27,907 candidate- poll rows (58.6%) — candidates without a prior neutral poll in the same muni drop out. Rank distribution: rac 1 → 4,942 rows; rac 2 → 4,280; rac 3 → 2,787; rac ≥4 → 5,025. Tight (race_margin ≤ 0.08) share is 35.6%, similar to AN-045.
6-cell descriptive (the cleanest read)
Mean error (pp) by (rank_at_commission, tight, sponsored), with the
sponsor effect in the rightmost column:
| RaC | Tight | n non-sp | mean | n sp | mean | Sponsor effect |
|---|---|---|---|---|---|---|
| rac 1 | non-tight | 3,156 | +4.32 | 39 | +7.03 | +2.71 |
| rac 1 | tight | 1,727 | +5.80 | 20 | +12.39 | +6.59 |
| rac 2 | non-tight | 2,835 | +0.36 | 22 | −0.10 | −0.46 |
| rac 2 | tight | 1,400 | +0.23 | 23 | +4.43 | +4.20 |
| rac 3+ | non-tight | 4,769 | +0.88 | 12 | +3.47 | +2.59 |
| rac 3+ | tight | 2,793 | +1.03 | 14 | +19.67 | +18.64 |
AN-045 vs AN-050 sponsor-effect comparison
| Cell | AN-045 (final_rank) | AN-050 (rank_at_commission) | Δ |
|---|---|---|---|
| rank 1, non-tight | +4.80 | +2.71 | −2.09 |
| rank 1, tight | +12.20 | +6.59 | −5.61 |
| rank 2, non-tight | +9.54 | −0.46 | −10.00 |
| rank 2, tight | +6.81 | +4.20 | −2.61 |
| rank 3+, non-tight | +10.91 | +2.59 | −8.32 |
| rank 3+, tight | +15.56 | +18.64 | +3.08 |
Regression specs (all underpowered for the 3-way given thin sponsored cells)
| Spec | sp | sp×rac2 | sp×rac3+ | sp×t | sp×rac2×t | sp×rac3+×t | n |
|---|---|---|---|---|---|---|---|
| 1. pooled OLS | +2.71 (1.95) | −3.17 (7.14) | −0.12 (3.43) | +3.87 (4.37) | +0.78 (8.73) | +12.17 (7.77) | 16,810 |
| 2. + candidate FE | +6.95 (2.72) * | −2.77 (4.68) | +3.36 (5.72) | −0.88 (4.23) | +4.11 (6.03) | −1.54 (8.59) | 16,810 |
| 3. + institute FE + controls | +6.79 (2.88) * | −0.47 (4.25) | +2.95 (6.52) | −3.70 (3.60) | +5.03 (5.56) | +1.65 (9.64) | 16,810 |
| 4. race × week FE, clean | +5.30 (2.04) ** | +0.07 (6.51) | +4.31 (4.46) | −3.17 (4.13) | −2.46 (9.77) | +1.81 (10.25) | 12,963 |
Cluster-robust SE on muni_id. The within-candidate FE specs (2–4)
collapse the 3-way effects to noise — only the rac1 main sponsored_by
coefficient persists (+5.30 to +6.95, all p<0.05), consistent with the
headline.
Interpretation
Three findings — one survives, one collapses, one is suggestive but thin:
The rac-1-in-tight bandwagon pattern survives but attenuates. AN-045 reported a +12.20pp sponsor effect at final_rank=1 in tight races; under rank-at-commission, the same cell gives +6.59pp (n=20 sponsored). The pattern is directionally consistent with AN-045 (rac1 sponsor effect: +2.71 non-tight → +6.59 tight, a 2.4× jump) but roughly half the magnitude AN-045 reported. The AN-045 estimate was inflated by Simpson's-style aggregation across heterogeneous within-candidate trajectories — many candidates classified as "final rank 1" were polled while at rac 2 or 3 during the campaign, and those polls inherited the rank's bias profile.
The AN-040 rank-2 over-statement vanishes under ex-ante rank. AN-040 reported +11.5pp sponsor effect at final_rank=2; under rank-at-commission, the rac-2 sponsor effect is −0.46pp non-tight and +4.20pp tight. Rank-2 over-statement is an ex-post-rank artifact, not an ex-ante commissioning behavior. Candidates who ended at rank 2 over-stated when polled — but at the moment those polls were commissioned, the candidates were at various ranks (some at 1, some at 2, some at 3+). The over-statement was misattributed to "rank 2" because that was the resolution at measurement time. The AN-040 row in
hypotheses/coordination-peak.mdshould be re-read in this light: rank-2 over-COMMISSIONING (AN-027) is real and ex-ante; rank-2 over-STATEMENT (AN-040) is mostly ex-post aggregation.Thin-cell surprise: rac-3+ in tight shows the largest sponsor effect (+18.64pp, n=14 sponsored). This is a tiny cell (only 14 sponsored polls of candidates polling at rank 3+ in their most recent prior neutral poll, in tight races) but the magnitude is striking. If this survives the rac-3+ thin-cell skepticism check, it's a viability-grab pattern — trailing candidates in close races commission polls to push themselves into the top-2 viability zone where coordination-demand mechanisms kick in. This is not the bandwagon mechanism (rac3+ candidates are not leaders) — it's a different supply-side mechanism worth characterizing.
The regression specs are all under-powered for the 3-way (sponsored cells of n=14-39 limit identification). The cell-mean descriptive is the cleanest takeaway. Yellow confidence on a rank-at-commission sharpening of the bandwagon and viability-grab patterns.
Follow-ups
AN-NNN — replicate AN-050 with date_registered anchor (extension, robustness). AN-028 found the rank-at-commission signal is robust across date_start, date_registered, and date_end anchors. The AN-050 finding should be similarly anchor-robust. Suggested script:
source/analysis/an-NNN-rac-margin-anchor-sensitivity.py.AN-NNN — rac-3+ viability-grab thin-cell triage (puzzle, highest follow-up value). The +18.64pp rac3+ tight sponsor effect on n=14 is the biggest specific finding of this analysis but desperately needs replication. Steps: (a) tabulate the 14 sponsored polls' candidates and verify they're not 1-2 high-leverage outliers, (b) repeat with a stricter rac-3+ definition (rac ∈ {3, 4} only, excluding the long tail), (c) test rac-3+ × non-tight (+2.59pp, n=12) as a placebo — absence of effect there strengthens the tight-race coordination-grab interpretation.
AN-NNN — propose viability-grab hypothesis page if the rac-3+ finding survives. Currently
bandwagon-peak.mdcovers the leader-amplification supply-side mechanism. A trailing-candidate viability-grab mechanism would be a companion supply-side hypothesis page parallel tocoordination-peak.md(which is voter-side coordination demand).