← All reports

Manual Review: "Never Picked" Cards (0% Reward Selection Rate)

Follow-up to reports/rarity_balance_review.md. Every card below showed a
0% reward-pick rate over 30+ head-to-head offers in reports/data/card_rates.json.
This review checks, per card, whether that 0% is a genuine power signal or an
artifact of how the sim decides reward picks.

Important correction to the prior report

reports/card_rates_report.md's "reward pick%" and "shop buy%" are not
independent playtesting evidence. Both come from one function,
derive_tier_builds._card_power(), used directly as the decision rule in
run_simulator.grant_battle_reward() (best_card = max(candidates, key=card_power))
and in shop purchasing. It's a second static formula, not real behavioral data —
so "the z-score formula and the pick rate agree" (the methodology in the prior
report) is really "two formulas roughly agree," which is real signal but
weaker than originally framed.

_card_power() only recognizes ~12 hardcoded keys: dmg, block, heal,
bleed, surge_gain, cashflow_gain, hype_gain, traindata_gain,
combustion_enemy, glitch_enemy, energy_deny_enemy, draw. Any card
whose value comes from something else — conditional/scaling payoffs, discard
synergies, hand-size scaling, percent-based damage, "double X" multipliers,
enemy debuffs like Influence — gets zero credit for that part of its
effect. A 0% pick rate on one of those cards means "the scorer can't see this
card's real effect," not "this card is weak."

Also found in the process: three curse cards (Standard Contract,
Blackout, Hallucination) are registered in CardDatabase.cs's per-sector
card lists that feed RewardUI.cs's normal 2-candidate battle reward —
confirmed by grep, not a sim-only artifact. If that's intentional
(a small chance of a "trap" reward), fine; if not, that's a separate bug from
anything below, worth a decision on its own.

Genuinely weak (real reasoning agrees with the 0% pick rate)

Card Rarity Cost Effect Why it's actually weak
Power Grid Rare 2 Double Surge Zero floor value — with 0 existing Surge it's a do-nothing 2-cost card. Even at 3 Surge, doubling to 6 is worth less than a card that just gives 6 of something directly.
Cascading Failure Rare 2 Double Enemy Glitch Same shape as Power Grid — pure multiplier, no floor value. Confirmed independently by its 6% play-rate-in-hand (rarely worth casting even when available).
IPO Rare 3 Double Hype Same "pure doubler" pattern again, at the highest cost of the three (3 energy) and 2% play rate — the worst of the pattern.
Circuit Rare 1 Swap a card in hand with one from target's deck No direct combat value (no damage/block/resource gain), outcome is random, real risk of trading a good card away. Even the original capital-efficiency formula couldn't value this (unmapped effect class, falls to a near-zero fallback). This reads as a genuinely under-designed Rare, not just undervalued.
Regulatory Stranglehold Rare 3 Enemy loses 1 energy, apply 3 Influence 3 energy (often your whole turn) for a control effect with no direct damage/block and (per EFFECT_VALUES) a low per-stack Influence weight. Also the single worst-performing Rare in the original capital-efficiency report (-0.09 efficiency, worst in Healthcare). Two independent formulas and manual reading agree here.
Machine Learning Uncommon 2 Gain 1 Training Data (permanent +1 dmg/stack, rest of combat) Compare directly to Neural Network (Rare, cost 3): 3 stacks + Draw 2 for one more energy. Machine Learning pays 2 energy for a third of that payoff with no card draw. Straightforwardly overpriced next to its own sister card, not just by the formula's judgment — confirmed by its 8% play-rate-in-hand.

Pattern worth naming: three of the six real problems (Power Grid,
Cascading Failure, IPO) are "double your own stacking resource" cards with no
base effect. That's a design-level issue, not three unrelated card tunings —
any future "double X" card should probably always carry a small guaranteed
floor effect (the way Patent Extension pairs Double Block with Bleed, so it's
never a dead card turn one).

Formula blind spots — 0% pick rate is noise, not a signal (no action needed)

Card Effect Why the 0% is misleading
Class Action Suit (Rare) 5 dmg per Bleed on target Healthcare has real Bleed-application support (Premium Bleed, Chronic Malady, Patent Extension). At 2-3 stacks this is 10-15 dmg for 2 cost — good, just invisible to a scorer with no "per-stack payoff" key.
Flare Stack (Uncommon) Dmg = target's Combustion Energy sector has real Combustion application (Oil Slick +3, Oil Derrick +2, Controlled Burn +2) — this is a legitimate scaling payoff the scorer can't see.
Data Center (Uncommon) 5 Block per card in hand, max 25 Genuinely build-order-dependent (best played before other cards), not modeled at all by a flat formula. Real design tension, not a bug.
Pivot (Uncommon) Discard hand, draw 5, exhaust "Discard-then-draw" isn't a weighted key anywhere — a 5-card refresh is real value the formula just doesn't see.
Insurance Claim, Terminal Diagnosis, Quarterly Growth, Family Legacy, Efficiency Filter, Campaign Donation, Injunction Per-Bleed block / %-missing-HP damage / %-Block damage / per-turn-number block / apply-a-condition effects Same story: each uses a conditional/scaling/status-application effect with no corresponding key in the 12-field scorer.

Plain filler commons — 0% pick rate is expected, not a problem

Firewall, Insurance, Sterile Shield, Transformer, Cache Hit, Ground Wire, FDA
Filing, and similar "flat block/draw" commons will always lose a random
pairwise comparison against any card with bonus upside, by construction —
that's what makes them Commons. Their existence and low win rate in this
metric is by design, not a bug. No action recommended.


Manual review by Claude, cross-referencing derive_tier_builds.py,
combat_sim.py, CardDatabase.cs, and each card's .tres effect definition.