Skip to content

Original research

Credit card portfolio research

Questions tested with the constraint solver and the card data as of each report's stated date.

Methods, assumptions, and verification dates are documented in each report.

Solver-backed reports

These studies compare modeled portfolios under stated spending profiles and eligibility assumptions. They are evidence about the tested profiles—not universal prescriptions.

Read our model methodology before interpreting the results.

Open data

Download the data

The aggregates behind Which Cards Show Up in Optimal Wallets? A 252-Household Solver Report (Q4 2026), as plain files. They hold counts, shares and profile definitions only, never an individual household’s spending or result. Card catalog as of October 10, 2026.

Free to cite with a link to the source.

  • q4-2026-card-frequency.csv

    Cards in optimal wallets. How often each of the most common cards appeared in the solver's optimal wallets: overall and within each archetype, for the 2-card cash, 5-card cash and 2-card travel runs. One row per scenario, card and group.

    CSV · 240 rows

  • q4-2026-top-wallets.csv

    Most common 2-card pairs. The ten pairs of cards that were optimal for the most profiles in the 2-card cash run.

    CSV · 10 rows

  • q4-2026-archetypes.csv

    Household archetypes. The seven archetypes the 252 synthetic households were drawn from, with their monthly spend.

    CSV · 8 rows

  • q4-2026-archetype-results.csv

    Results by archetype. Modeled net value at 2 and 5 cards, the gain from the extra cards, how often a fee card was optimal, and how close the best $0-fee pair came. Cash mode.

    CSV · 8 rows

  • q4-2026-profile-ranges.csv

    Profile definitions. The monthly spending ranges each archetype's households were drawn from. A category that is not listed for an archetype is always $0.

    CSV · 111 rows

  • q4-2026-card-removal-tests.csv

    What happens without a card or its credits. Follow-up solves for the wallets that included a card: re-solved with the card's credits valued at $0, or with the card excluded.

    CSV · 7 rows

  • q4-2026-optimal-wallet-report.json

    All tables in one file. Every table above plus the method notes, limitations, license and this data dictionary.

    JSON

Data dictionary: every column in every file

q4-2026-card-frequency.csv

ColumnTypeMeaning
scenariotextcash_2_cards (free tier, cash mode), cash_5_cards (5-card limit, cash mode) or travel_2_cards (2-card limit, travel mode).
card_keytextOptimalCardSetup card id; the card page is /cards/<card_key>.
card_nametextCard name as shown on the site.
annual_fee_usdusdAnnual fee in dollars at the snapshot date.
grouptextall (every profile) or an archetype id from the archetypes file.
walletsintegerProfiles whose optimal wallet included this card.
group_profilesintegerProfiles in the group: 252 for all, 36 for each archetype.
share_pctpercentwallets divided by group_profiles, in percent.

q4-2026-top-wallets.csv

ColumnTypeMeaning
scenariotextAlways cash_2_cards.
rankinteger1 is the pair that was optimal for the most profiles.
card_1_keytextFirst card id (alphabetical by id).
card_1_nametextFirst card name.
card_2_keytextSecond card id.
card_2_nametextSecond card name.
walletsintegerProfiles for which this pair was the optimal wallet.
share_pctpercentwallets divided by 252, in percent.

q4-2026-archetypes.csv

ColumnTypeMeaning
archetypetextArchetype id, or all for every profile.
labeltextDisplay name.
descriptiontextOne-line description of the archetype.
profilesintegerSynthetic households in the group.
median_monthly_spend_excl_rent_usdusdMedian total monthly card spend across the group's profiles, excluding rent.
min_monthly_spend_excl_rent_usdusdLowest monthly spend of any profile in the group, excluding rent.
max_monthly_spend_excl_rent_usdusdHighest monthly spend of any profile in the group, excluding rent.
median_monthly_rent_usdusdMedian monthly rent for archetypes that pay rent on a card; blank otherwise. Rent earned nothing in these runs.

q4-2026-archetype-results.csv

ColumnTypeMeaning
grouptextArchetype id, or all for every profile.
labeltextDisplay name.
profilesintegerSynthetic households in the group.
median_net_value_2_cards_usdusdMedian annual net value of the optimal 2-card wallet: modeled rewards minus annual fees after conservative credit values. Blank for all.
median_net_value_5_cards_usdusdSame for the optimal 5-card wallet. Blank for all.
median_gain_usdusdMedian per-profile difference between the 5-card and 2-card net value, per year.
mean_gain_usdusdMean of that difference.
min_gain_usdusdSmallest difference in the group.
max_gain_usdusdLargest difference in the group.
median_gain_pctpercentMedian per-profile gain as a percentage of the 2-card net value.
wallets_with_fee_cardintegerOptimal 2-card wallets that included at least one card with an annual fee.
share_with_fee_card_pctpercentwallets_with_fee_card divided by profiles, in percent.
zero_fee_within_25_profilesintegerProfiles whose best 2-card wallet of $0-fee cards was within $25 a year of the overall best 2-card wallet.
zero_fee_within_25_pctpercentzero_fee_within_25_profiles divided by profiles, in percent.
zero_fee_median_shortfall_usdusdMedian yearly value given up by using $0-fee cards only.

q4-2026-profile-ranges.csv

ColumnTypeMeaning
archetypetextArchetype id from the archetypes file.
spend_categorytextOptimizer spend-category id, for example dining or groceries_instore.
monthly_low_usdintegerLow end of the monthly range in dollars.
monthly_high_usdintegerHigh end of the monthly range in dollars.
probability_presentfractionProbability that a household has any spend in the category (1 means always). The amount is uniform between low and high, rounded to the nearest $5.

q4-2026-card-removal-tests.csv

ColumnTypeMeaning
testtextcredits_valued_at_zero (every credit on the card set to $0, a Premium setting) or card_excluded (the card removed from the candidates).
scenariotextcash_2_cards or travel_2_cards.
card_keytextOptimalCardSetup card id.
card_nametextCard name.
annual_fee_usdusdAnnual fee in dollars at the snapshot date.
wallets_testedintegerProfiles whose optimal wallet had included the card.
wallets_still_selectedintegerOf those, wallets that still included the card after its credits were set to $0. Blank for card_excluded.
median_value_lost_usdusdMedian yearly value of the new best wallet below the original optimum.
max_value_lost_usdusdLargest such difference. Blank for credits_valued_at_zero.
replacement_cardstextCards that entered the new best wallet in place of the original, each with the number of profiles in which it entered (a profile can add more than one card), separated by semicolons.

Blank cells mean the value does not apply. usd columns are dollars per year unless the name says monthly; percent columns run from 0 to 100 and fraction columns from 0 to 1. Files are UTF-8 with a header row. The JSON file holds the same tables plus the method notes and limitations.

Cite and reuse

Cite our research

Free to cite with a link to the source.

Quote the figures, reuse the tables, and download the data files. Name OptimalCardSetup, link to the report you used, and give its date: card terms change, and each report states the catalog date it was run on. Open a report below for a ready-made citation and link.

2-Card vs 5-Card Wallets: A Four-Profile Solver Report

Suggested citation

OptimalCardSetup. (2026, October 7). 2-Card vs 5-Card Wallets: A Four-Profile Solver Report. https://optimalcardsetup.com/blog/q3-2026-two-card-wallet-report

Link to this report (HTML)

<a href="https://optimalcardsetup.com/blog/q3-2026-two-card-wallet-report">2-Card vs 5-Card Wallets: A Four-Profile Solver Report</a> by OptimalCardSetup

Do Annual-Fee Cards Actually Out-Earn Free Wallets? We Made the Solver Choose

Suggested citation

OptimalCardSetup. (2026, July 12). Do Annual-Fee Cards Actually Out-Earn Free Wallets? We Made the Solver Choose. https://optimalcardsetup.com/blog/annual-fees-optimal-wallet-report

Link to this report (HTML)

<a href="https://optimalcardsetup.com/blog/annual-fees-optimal-wallet-report">Do Annual-Fee Cards Actually Out-Earn Free Wallets? We Made the Solver Choose</a> by OptimalCardSetup

Which Cards Show Up in Optimal Wallets? A 252-Household Solver Report (Q4 2026)

Suggested citation

OptimalCardSetup. (2026, October 10). Which Cards Show Up in Optimal Wallets? A 252-Household Solver Report (Q4 2026). https://optimalcardsetup.com/blog/q4-2026-optimal-wallet-report

Link to this report (HTML)

<a href="https://optimalcardsetup.com/blog/q4-2026-optimal-wallet-report">Which Cards Show Up in Optimal Wallets? A 252-Household Solver Report (Q4 2026)</a> by OptimalCardSetup

Run your own profile

A study is a benchmark, not your answer.

Your spending, existing cards, fee tolerance, and reward valuations can produce a different portfolio.

Run the optimizer — free