Reference: Formulas
Complete formula reference for A House Divided. All values are sourced directly from game code. Formulas marked with (*) use diminishing-return normalization curves — see the NPI Normalization section below.
Primary Score Formulas
State-Level Primary Score
Used for: US House, US Senate, US Governor, US State Senate, UK Commons, UK Regional Council, DE Bundestag, JP Shūgiin, JP Sangiin.
Maximum: 100 points
| Component | Range | Formula |
|---|---|---|
| Policy alignment | 0–40 | `max(0, 40 − ( |
| Favorability | 0–35 | (favorability / 100) × 35 |
| Political Influence | 0–25 | normalizeNPI(politicalInfluence) × 25 (*) |
econDiff=|candidateEcon − partyEcon|socialDiff=|candidateSocial − partySocial|- Each point of Manhattan distance from party platform costs 2 alignment points
- Perfect alignment (distance 0) = 40 pts; distance 20 = 0 pts
Quick alignment reference:
| Manhattan distance | Alignment score |
|---|---|
| 0 | 40 |
| 2 | 36 |
| 5 | 30 |
| 10 | 20 |
| 20 | 0 |
NPP primary score penalty: When at least one player is in the same party's primary, all NPP candidates in that primary receive a ×0.5 multiplier on their total score. An NPP with a raw score of 70 competes at an effective 35 against you.
Presidential Primary Score
Used for: US President only.
Maximum: 100 points
| Component | Range | Formula |
|---|---|---|
| Policy alignment | 0–40 | `max(0, 40 − ( |
| Party Organization (home state) | 0–25 | (min(100, max(0, partyOrganization)) / 100) × 25 |
| National Political Influence | 0–25 | normalizeNationalReachPresidentialPrimary(NPI) × 25 (*) |
| Favorability | 0–10 | (favorability / 100) × 10 |
Key differences from state formula:
- Favorability is only worth 10 points (vs 35 in state races)
- Party org is a major factor — maxes out at 25 pts when home-state org = 100
- NPI normalization curve is different — uses a national-reach curve rather than a linear normalization
Canvassing Formula
Cost: $100 + 1 action. Home state / region only.
baseBoost = 0.05 (percentage points)
distance = |charEcon − demoEcon| + |charSocial − demoSocial|
alignmentMult = max(0.1, 1.0 − distance × 0.15)
seasonMult = isCampaignSeason ? 2.0 : 1.0
rawBoost = baseBoost × alignmentMult × seasonMult
adjustedBoost = rawBoost × (1 − |currentModifier| / 20) // diminishing returns
newModifier = clamp(currentModifier + adjustedBoost, −20, +20)
- Campaign season = election active with
endTimewithin 4 hours (4 turns) - Cap: ±20 percentage points turnout modifier
- Decay: 2% of current value per turn toward zero
Alignment multiplier table:
| Manhattan distance | Alignment multiplier |
|---|---|
| 0 | 1.0 × |
| 3 | 0.55 × |
| 5 | 0.25 × |
| 6.6+ | 0.1 × (floor) |
Campaign Upgrade Costs and Effects
Fundraising (10 levels, no maintenance)
| Level | Upgrade cost | Actions | Income/turn |
|---|---|---|---|
| 0 (base) | — | — | $20,000 |
| 1 | $50,000 | 10 | $35,000 |
| 2 | $120,000 | 15 | $60,000 |
| 3 | $250,000 | 20 | $100,000 |
| 4 | $500,000 | 25 | $150,000 |
| 5 | $900,000 | 30 | $200,000 |
| 6 | $1,500,000 | 40 | $350,000 |
| 7 | $2,500,000 | 50 | $600,000 |
| 8 | $4,000,000 | 60 | $1,000,000 |
| 9 | $6,500,000 | 75 | $2,500,000 |
| 10 | $10,000,000 | 90 | $5,000,000 |
Ground Game (5 levels, ongoing maintenance)
Passive effect applies to presidential general elections only. Maintenance is cumulative across all purchased levels.
| Level | Upgrade cost | Actions | Effect | Maintenance/turn |
|---|---|---|---|---|
| 1 | $55,000 | 10 | +3% swing states | $5,500 |
| 2 | $110,000 | 15 | +6% swing states | $16,500 |
| 3 | $220,000 | 20 | +9% swing states | $38,500 |
| 4 | $440,000 | 25 | +12% swing states | $82,500 |
| 5 | $880,000 | 30 | +15% swing states | $170,500 |
Media Spending (5 levels, ongoing maintenance)
Passive effect: +0.5% favorability per level per turn (presidential races only). Doubles during final 4 turns (season multiplier 2×).
| Level | Upgrade cost | Actions | Effect | Maintenance/turn |
|---|---|---|---|---|
| 1 | $60,000 | 12 | +0.5%/turn favorability | $6,000 |
| 2 | $120,000 | 16 | +1.0%/turn favorability | $18,000 |
| 3 | $240,000 | 20 | +1.5%/turn favorability | $42,000 |
| 4 | $480,000 | 24 | +2.0%/turn favorability | $90,000 |
| 5 | $960,000 | 28 | +2.5%/turn favorability | $186,000 |
Opposition Research (5 levels, no maintenance)
Passive effect: Debuffs target candidate favorability by level × 0.5% per turn. Presidential races only.
| Level | Upgrade cost | Actions | Effect |
|---|---|---|---|
| 1 | $40,000 | 8 | −0.5%/turn to target |
| 2 | $80,000 | 12 | −1.0%/turn to target |
| 3 | $160,000 | 16 | −1.5%/turn to target |
| 4 | $320,000 | 20 | −2.0%/turn to target |
| 5 | $640,000 | 24 | −2.5%/turn to target |
Campaign season multiplier: All campaign passive effects (Media Spending, Opposition Research, Travel Presence, Primary Campaign bonus) double during the final 4 turns of an election.
Vote Accumulation (General Elections)
Per-Turn Vote Pool Weighting
Early turns (all turns except final 4):
turnPool = 0.75 × totalPool / (totalTurns − 4)
Final 4 turns:
turnPool = 0.25 × totalPool / 4
The final 4 turns collectively deliver 25% of all votes cast in an election.
Total Appeal Pipeline (per demographic group, per candidate, per turn)
reach = normalizeNPI(influence) // 0–1 for state races
appeal = (50 − |econDiff|×5 − |socialDiff|×5)² / 100 + normalizeNPI(influence) × 25
approval = favorability / 100
partyOrg = 0.5 + (statePartyOrg / 100) × 0.5 // 0.5× to 1.0×
Office Strength Multipliers
| Office | Strength weight |
|---|---|
| Governor | 1.0 |
| President | 1.0 |
| House / State Senate | 0.9 / 0.85 |
| Senate | 0.8 |
NPI Normalization (*)
Political Influence (PI) and National Political Influence (NPI) pass through normalizing curves before use in formulas. The exact curves are logarithmic; approximate outputs:
| PI value | normalizeNPI output |
|---|---|
| 0 | 0.00 |
| 10 | ~0.33 |
| 20 | ~0.53 |
| 50 | ~0.83 |
| 100 | ~1.00 (effective cap) |
Presidential NPI uses a separate curve (normalizeNationalReachPresidentialPrimary) that can exceed 1.0 at very high NPI, reflecting national celebrity.
Party Organization Scalars
Party org (0–100) affects:
| Effect | Formula |
|---|---|
| General election vote scalar | 0.5 + (statePartyOrg / 100) × 0.5 (range 0.5× to 1.0×) |
| Presidential primary score | (statePartyOrg / 100) × 25 (range 0–25 pts) |
A state party org of 0 cuts your general vote total in half compared to a fully organized state.
Turnout Modifier Decay
Each turn: newModifier = currentModifier × 0.98
Effect accumulates over turns:
| Turns since canvassing | Modifier remaining |
|---|---|
| 0 | 100% |
| 4 | ~92% |
| 10 | ~82% |
| 20 | ~67% |
Related
- Reference: Turn Order — Phase execution order.
- Election Mechanics — Full election structure and vote accumulation.
- Primaries — Declaration rules and NPP dynamics.
- Canvassing — Turnout boost formula in detail.
- Campaign Strategy — Upgrade tables and action allocation.