Dropping institute FE barely moves the βs: β_cpf_repeat goes from +19.11 → +18.34 pp; β_cpf_singleton from +16.78 → +16.11 pp; the other-route βs change by 0.07–0.41 pp. Institute FE was NOT absorbing an M1-individual firm-choice channel — the raw repeat-vs-singleton mean-error gap (+20.2 vs +3.5) is absorbed by candidate FE alone (i.e., candidates appearing in repeat-CPF dyads have higher baseline errors across all their polls, not just sponsored). The CPF-uniform / strategic-individual-stake (M4-leaning) reading of AN-075 sharpens under robustness. M1-individual at the dyad level is not separately identified; M1-individual at the firm-choice layer is also not separately identified.
Question
AN-075 found β_cpf_repeat ≈ +19.11 and β_cpf_singleton ≈ +16.78 within candidate FE + institute FE. The raw mean errors before FE diverge sharply (repeat +20.2 pp, singleton +3.5 pp), so the convergence under FE is the FE absorbing baselines. AN-076 tests whether the AN-075 reading ("CPF route slant is uniform across dyad structure → strategic individual stake, not relational durability") is an artifact of absorbing the firm-choice channel that the M1-individual mechanism would operate through.
If the candidate hires a particular firm because of a durable tie, the institute FE absorbs the M1 mechanism by construction. Dropping institute FE keeps candidate FE — comparing the same candidate's sponsored vs unsponsored polls — but lets the firm-choice channel speak.
Design
source/analysis/an-076-cpf-beta-no-institute-fe.py:
Identical to AN-075 except other_effects = () (no institute FE).
Keep candidate FE (politico_id entity_effects), muni-clustered
SE, same controls (log_sample_size, days_to_election,
days_to_election_sq, opponent_sponsored). Treatment dummies:
sp_cpf_repeat, sp_cpf_singleton, sp_committee, sp_party,
sp_party_name.
Results

| Treatment | AN-075 (cand + inst FE) | AN-076 (cand FE only) | Δ |
|---|---|---|---|
| sp_cpf_repeat | +19.11 | +18.34 | −0.77 |
| sp_cpf_singleton | +16.78 | +16.11 | −0.67 |
| sp_committee | +7.91 | +7.50 | −0.41 |
| sp_party | +5.71 | +5.78 | +0.07 |
| sp_party_name | +5.85 | +5.69 | −0.16 |
The largest change is 0.77 pp on the CPF repeat coefficient. Every route stays at essentially its AN-075 value. The institute FE was carrying almost no identifying weight on β.
Interpretation
The hypothesis "the institute FE absorbs an M1-individual firm-choice mechanism" is refuted. The βs barely move when institute FE is dropped, which means:
- Whatever absorbed the raw repeat / singleton mean-error gap (+20.2 vs +3.5 pp) is the candidate FE, not the institute FE. Candidates who appear in repeat-CPF dyads have systematically higher errors across all their polls (sponsored AND unsponsored). The candidate FE absorbs that.
- The within-candidate identification is the right object. For a given candidate, sponsored CPF polls overstate that candidate by +16-19 pp vs unsponsored polls of the same candidate — uniformly across repeat-vs-singleton dyad structure.
- The AN-075 CPF-uniform reading is the right reading. The slant operates at the route level (paying personally → +19 slant) regardless of whether the (firm × candidate) pair recurs. Strategic individual stake is the operative variable.
For the enforcement-puzzle ranking: M1-individual at the dyad level is not separately identified (AN-075); M1-individual at the firm-choice layer is also not separately identified (AN-076). The leading reading of AN-006's CPF +19 pp slant is strategic individual stake / M4 single-shot pricing on personally-paid polls, not durable individual-relational structure.
Caveat: n = 6 per CPF subset is unchanged from AN-075. The split is still underpowered. AN-076 says only that the FE structure isn't hiding an M1-individual signal — it doesn't rule out M1-individual operating at some other relational unit (firm × marqueteiro, statistician × candidate, cross-cycle).
Follow-ups
All-routes repeat-vs-singleton decomposition (extension, already on todo from AN-075): apply the AN-075/76 split to committee (n=359), party (n=32), party-name (n=117). Much more sample. If singleton β << repeat β on the larger routes, the M1-individual mechanism is real but the CPF cell was just too thin to detect. If βs stay route-uniform across all routes, the strategic-stake-by-sponsor-architecture reading generalizes. Suggested script:
source/analysis/an-NNN-all-routes-repeat-singleton.py.Diagnose why repeat-CPF-dyad candidates have higher baseline errors (puzzle): the AN-076 result implies that candidates who appear in repeat-CPF dyads have higher baseline error rates across all polls (otherwise candidate FE wouldn't absorb the +20.2 vs +3.5 raw gap). Why? Possibly these candidates are in races where polling is harder (informal informal sector, high mobility, hard-to-reach voters). Possibly they're candidates whose campaign committees are unusually disorganized. Not load-bearing for the headline, but worth a one-page profile of the seven candidates appearing in CPF repeat dyads vs the singleton candidates. ~30 min.
Joint write-up of AN-073 / AN-074 / AN-075 / AN-076 in the enforcement-puzzle doc (extension): the four-iteration arc converges on a specific reading (partisan M1/M3 out; CPF route carries the slant; relational structure exists at repeat-dyad layer but is not slant-carrying; strategic stake leads). The doc currently records each iteration's update; worth a section that knits them. Not an analysis follow-up.