Methodology
Our methodology
How we model card setups and report solver proof status
Card terms last verified Aug 2, 2026.
OptimalCardSetup is a math-first credit card portfolio optimizer. Rather than relying on editorial opinion or generic “best of” lists, we use a constraint programming solver to search eligible card portfolios against your actual spending. The result states whether optimality was proven or the solver returned its strongest valid setup at the time limit.
A proven result is scoped to the selected catalog, objective, spending assumptions, redemption values, constraints, and data snapshot used for that run. It is not a promise about approval, eligibility, issuer terms, or a future offer.
1. How the optimizer works
At the core of OptimalCardSetup is Google’s OR-Tools CP-SAT constraint solver — the same family of solvers used in logistics, scheduling, and resource allocation at scale.
When you enter your monthly spending across categories (dining, groceries, travel, gas, etc.), the solver:
- Models every valid card combination — including which card should be used for each spending category
- Handles complex card rules — bonus category caps, tiered earning rates, spend thresholds, quarterly category selections, and transfer partner valuations
- Accounts for credits and fees — annual fees are subtracted, card credits (airline, dining, streaming, etc.) are added based on how usable they are for you
- Reports its proof status — when CP-SAT completes its proof, the result is labeled Proven Optimal. If the time limit arrives first, the strongest valid result found is labeled Best Found with its available proof gap
2. What we optimize for
The objective function maximizes net annual reward value:
Objective function
Net value = total rewards earned + usable credits − annual fees − modeled portal price markup − extra-channel cost (when the optimizer routes pooled spend through issuer portals)Rewards are valued using cents-per-point (CPP) rates based on realistic redemption values — not inflated "best case" transfer valuations. For example, Chase Ultimate Rewards points are valued at their transfer partner rate when the user has a card that enables transfers, and at the lower cash back rate otherwise.
Booking-channel routing
Some spending can be bought more than one way — a flight booked with the airline or through an issuer travel portal, groceries in store or online. For those categories you enter one amount and decide whether to leave the channel to the optimizer. Travel groups (flights, hotels, vacation rentals, car rentals and cruises, tours and activities) default to optimizer-routed; groceries and live entertainment are opt-in, because the same purchase is a weaker substitute across those channels. Any amount you enter against an exact channel is pinned and never re-routed; only the remainder is pooled.
A portal booking is not priced the same as booking direct, so each portal channel carries a modeled price markup (roughly 1.5%–14.5% depending on the portal and travel type) plus a small modeled cost for splitting a booking across an extra channel. Both are subtracted inside the objective before the solver compares options, and both are shown again in the result’s booking plan and summary, so a portal bonus only wins when it beats its own higher price.
3. Independence of results
Affiliate compensation is not a solver input or ranking criterion. The current architecture keeps compensation separate from the modeled reward objective:
- The solver’s objective function contains no commission data. It only sees earn rates, fees, credits, and spending amounts.
- Affiliate link data is stored separately from card reward rules and is not loaded by the solver at any point.
- Free-tier and Premium users run the same optimization algorithm with the same card data; Premium changes available product features and card-count limits, not the ranking inputs.
- Cards without affiliate partnerships appear in results alongside cards that do have partnerships — the solver treats them identically.
For full details on how we handle affiliate relationships, see our Affiliate Disclosure.
4. Card data sources
Card terms (earn rates, annual fees, credits, category caps, and special rules) are sourced from issuer websites and official card agreements. We review and update card data regularly to reflect current terms. If a card’s terms change, the updated data is reflected in the optimizer within our next update cycle.
We currently support 53 consumer and business credit cards across major issuers including American Express, Chase, Citi, Capital One, Bank of America, Wells Fargo, US Bank, and others.
5. Limitations
Our optimizer is constraint-based and assumption-driven; there are factors it does not account for:
- Sign-up bonuses (one-time value, not recurring annual value)
- Credit score impact of opening new accounts
- Issuer approval likelihood for specific applicants
- Subjective preferences (brand loyalty, card design, lounge access quality)
- Rotating quarterly bonus categories that cannot be predicted in advance
- Whether a recommended card is currently open to new applicants — check the availability note on the card’s page
- Actual portal prices on the day you book. The portal markups above are modeled averages of a wide, high-variance set of published price comparisons (evidence window February 2024 – April 2026, re-verified at least annually), not a live quote — an individual itinerary can be cheaper or far more expensive than the modeled average
Results represent the strongest modeled ongoing annual value found for the spending profile you provide, with a clear proof status. Your actual value may vary based on spending fluctuations and redemption choices.
6. Contact
Questions about our methodology? Reach us at [email protected].