Skip to main content

METHODOLOGY

How we score every card

The full recommendation engine, published. Every weight, every filter, every assumption — so you can check our work instead of trusting our word.

Scoring Methodology v1.5Last updated
Version history — what changed, and whether it moved any ranking

The rule we hold ourselves to: the version moves when a ranking moves; the date moves when anything on this page changes. A correction that alters a published figure without reordering a single shortlist gets a new date and the same version, so that a version number always answers “could my result have changed?” and never merely “did you edit the page?”. Every persisted recommendation is tagged with the scoring version that produced it, which is why bumping it is not free.

  • v1.523 October 2026ranking moved
    Renewal benefits now count. Some cards give points back each year you pay the renewal fee, and nothing in a year the fee is waived: HDFC credits the Infinia 12,500 points “upon fee realization”. We add that value in the years the fee is billed and leave it out when your spend clears the waiver, so for these cards the waiver is worth less than the fee it saves. In force since 15 October for HDFC and since 16 October for the other cards with such a benefit; recorded here now.
  • v1.411 October 2026ranking moved
    Credit-score minimums that no bank or card app publishes are gone from our card data: a card now carries a score only where its issuer or app states one, in their words. If you tell us your score, a card with no published figure is judged on the same general score ladder as every other such card. Where the published figure is advice (“750 or more improves your chances”) rather than a condition, falling short of it lowers a card’s odds but no longer marks it unlikely on its own; only a score under 650 does. If you do not give a score, nothing changes. Minimum incomes and ages follow the same rule: we show only the ones the bank publishes. Where our income figure differed from the bank’s, we now use the bank’s, except where we judge the bank’s too low to recommend a card on: there we keep a stricter figure of our own, which we never show as the bank’s. That moves a few cards between income bands — the Swiggy BLCK HDFC Bank card, for which HDFC asks ₹1 lakh a month, is now suggested from that income up — and changes nothing if you do not give your income.
  • v1.35 October 2026ranking moved
    Reward-type fit is judged on the rewards you can actually use: a card whose points redeem only inside one brand’s shop no longer counts as matching a points or miles preference unless you named that brand (in force since 1 October, recorded here now). A city typed with its state or a locality — “Mumbai, Maharashtra”, “South Delhi” — is read as the metro it names, and a city we cannot place no longer costs any card points. Cards that tie on score are ordered the same way every time.
  • v1.22 September 2026ranking moved
    A card’s OWN booking channel — the Scapia app, Jupiter Flights, Paytm Travel — is now valued as the routed channel it is, at the same coverage share as a bank’s side portal, rather than falling to the narrow single-brand floor. It had been priced 5–18x under a structurally identical issuer-portal row, which emptied travel shortlists of travel co-brands.
  • v1.11 September 2026ranking moved
    A hard filter for closed-audience cards; reward currencies locked to one brand now score zero for readers who did not name that brand; milestones with a spend threshold ramp up instead of counting in full, reaching full value only around twice the gate; membership and voucher perk factors grounded.
  • v1.016 August 2026no ranking moved
    First-year value now charges the joining fee and applies no renewal waiver, because that waiver is earned over a year the applicant has not lived through. A published figure changed and no ranking did, so the version was deliberately held — see the rule below.

Every recommendation on CardAdvisor comes from one algorithm, applied identically to every card we track. No editor reorders results. No issuer buys a slot. What follows is the actual engine — not a simplified story about it.

How CardAdvisor recommends: spending profile, then four-factor scoring, then a ranked shortlist.Your spending profile5-step profilerScoring engine4 weighted factorsRanked shortlist₹ value + plain reasons
You describe your spending; the engine scores every card on four weighted factors; you get a ranked shortlist with rupee values and plain-language reasons.

Step 1 — Hard filters

Before any scoring happens, cards are removed from consideration entirely when:

  • —Either fee — the annual fee or the one-time joining fee — is more than the budget you gave us. Each is checked against it on its own, never added together: a ₹5,000 card with a ₹500 joining fee fits a ₹5,000 budget, and “Free only” admits neither fee.
  • —The card’s income bar is out of reach. That bar is the issuer’s stated minimum income, or a stricter bar of our own where we judge the issuer’s to be too low or the issuer states none — we never publish those per card — and ₹3 lakh a month for a super-premium card with no stated bar at all. Entry and mid-tier cards get a 20% grace band, because those minimums are guidelines and banks routinely approve just under. Premium and super-premium cards get no grace at all — their floors are real underwriting gates, and recommending a card you’d be declined for helps nobody.
  • —You told us a credit score below 650 and the card is premium or super-premium — that application is very unlikely to clear.
  • —It’s your first credit card and the card isn’t an entry-tier product. Premium cards are a bad first application.
  • —The card is invite-only and you don’t already hold a card from that issuer within one tier of it, or you haven’t told us your income. An issuer’s invitation ladder runs through its own cardholders, and it is climbed one rung at a time — a ₹500 co-branded card is not the step to a ₹50,000 private-banking invitation. Without that relationship the card isn’t realistically available to you.
  • —The card has been discontinued, or the issuer has quietly closed it to new applicants.
  • —The card is issued only to a closed audience — serving and retired defence personnel, doctors, members of a professional institute like the ICAI. Our profiler has no way to know you belong to one, and recommending a card most readers cannot hold is worse than staying silent. If you do belong, you almost certainly know these cards better than we do; they remain on their card pages.

Step 2 — Weighted scoring

Surviving cards are scored 0–100 by a money-first model: four weighted factors that add up to the score, plus two small additive adjustments — a lounge tiebreaker that can only add, and a where-you-live penalty that can only subtract. Net value dominates at 70% — everything the card pays you, minus everything it costs you, collapsed into a single ₹/year figure — and the remaining factors only separate cards the money has already left close together. These are the weights the production engine actually uses.

Net annual value

70%

What the card is genuinely worth to you in rupees, after everything it costs.

One money figure carries most of the score. For every spend category in your profile we compute: monthly spend × the card’s reward rate in that category × the published point value × 12. Monthly and annual earn caps are applied — a "5% cashback" card capped at ₹1,000/month is scored on the capped number, not the headline. Perks that behave like money — fuel surcharge waivers, milestone bonuses, cashback-style credits — are added in rupees, but only when they apply to you (a fuel waiver counts only against fuel you actually buy; a milestone only to the degree your spend could realistically route through this one card — credit ramps in above the spend gate and reaches full value only when your wallet spends about twice the gate, because reaching a ₹6 lakh milestone means putting ₹6 lakh on this card specifically — and golf and concierge only register on premium tiers). From that we subtract the effective annual fee — ₹0 if your total spend crosses the issuer’s waiver threshold — and the forex markup you would leak on international spend. A few cards hand points back for renewing, but only if the renewal fee is actually charged: HDFC credits the Infinia 12,500 reward points "upon fee realization". We add that back when the fee is billed and not at all when it is waived, which is the honest reading and has a counter-intuitive consequence we do not hide — clearing such a card’s waiver saves the fee but forfeits the points, so the waiver is worth far less than it looks. A ₹12,500-fee card can beat a free card, but only when the math clears the fee. Year one is calculated separately and more strictly: it charges the joining fee rather than the renewal fee, and it does not apply the renewal waiver — that waiver is earned on a year of spending an applicant has not lived through yet. The welcome bonus is added there and only there, so a one-off sweetener never masquerades as ongoing value. Ranking always uses the steady-state figure, never the first-year one.

Reward type alignment

12%

Cashback people get cashback; miles people get miles.

Full marks when the reward value the card earns you actually lands in the currency you said you want, partial when you have no preference, and next to nothing on a mismatch — points you’ll never redeem are worth nothing to you.

Eligibility confidence

10%

How likely the issuer is to actually approve you.

Cards where your income clearly meets the card’s income bar score full weight. Just under an entry or mid-tier card’s bar, inside its 20% grace band, the card is discounted and shown with a warning. Further under, or under at all on a premium card, it was already removed before scoring (step 1 above), so you never see it. The bar is the issuer’s stated minimum or, where we judge that too low or none is stated, a stricter estimate of our own that we do not publish per card. A credit score, a missed payment, your employment type and how many cards you already hold all move this number when you tell us; anything you leave blank is treated neutrally, never as a penalty.

Card quality

8%

A small editorial prior, so a thin card can’t win on arithmetic alone.

Our own expert rating for the card — the same 0–5 score shown on its page. It is deliberately the lightest weight in the model and it never overturns the money; it only separates cards whose numbers land close together. A card we haven’t rated is treated as neutral, never marked down. What the rating asks is narrow: how well does this card do the job it is sold for, judged against the cards that do the same job. It is not a verdict on how rich or how premium a card is — 4.5 and up means best in its class, 4.0 means it does its job with a weakness you can plan around, 3.5 means a clearly better card exists at the same fee, and below 3 means we would tell you not to take it. We deliberately keep fee and tier out of it, because the model already prices the money separately and counting a big fee twice would flatter expensive cards. Being honest about it: the ratings we have written so far do drift upward with fee, we have said so in our own engineering notes, and correcting that means re-reading the catalogue rather than nudging numbers.

Lounge access

Tiebreaker

Counted as a convenience, never as cash.

Lounge access is deliberately kept out of the rupee figure entirely, because a lounge visit isn’t cash and pretending otherwise inflates travel cards. Instead, if you told us you want lounge access, it adds up to four points to the match score — scaled by how much you actually travel — purely to separate cards that are otherwise neck-and-neck. For everyone else it adds nothing at all.

Where you live

Penalty

A card you cannot easily use where you are should not headline your list.

If you give us your city and it is outside the metros, two kinds of card lose points — never rupees. Cards on the American Express network lose ten points, because Amex runs its own network in India and offline acceptance thins out quickly beyond the big cities; that applies to every Amex-network card, whoever issues it, and not to an Amex swiped online. Standard Chartered cards lose five, for the branch footprint rather than acceptance. The rupee value is untouched and the card is never removed — the caveat is shown on the result so you can decide, since a Tier-2 reader who spends mostly online may still want the Amex. A metro city changes nothing, however you write it — “Mumbai, Maharashtra”, “Bangalore Urban”, “South Delhi” — and neither does a city we cannot place or no city at all: the penalty applies only to a city we recognise as outside the metros. This exists because a real reader in a Tier-2 city told us two of his five results were impractical for exactly this reason, and until then the city field was collected and read by nothing.

Step 3 — Diversity rule

Your top five never contains more than two cards from the same bank. If one issuer's cards sweep the scores, the third one is skipped in favour of the next-best alternative — concentration risk with a single bank is a real cost the raw numbers don't capture.

Where our point values come from

The rupee value we place on a reward point is our own estimate, computed by our valuation engine — not a number the bank publishes or endorses. Most issuers never state what a point is worth; when they do, it is usually the lowest, statement-credit route. For each card we work out the best value that card's holder can realistically extract across cash, gift vouchers, the issuer's travel portal, and airline or hotel transfer — then use that in scoring. So a figure like “an Amex Membership Rewards point is worth ₹0.60” is our own estimate for the Platinum-family cards, built on a Marriott Bonvoy 1:1 transfer — not a rate American Express quotes or guarantees, and not the theoretical ceiling either. The same point is carried at ₹0.50 on Amex's entry cards, where that route is a less realistic outcome. Conversion ratios and transfer partners change without notice, so treat every figure as an indicative best-feasible estimate, not a promise.

The assumptions — stated, not hidden

Every reward calculation depends on what a point is worth, and that's where most card content quietly cheats. Our discipline:

  • —Each card carries an explicit point value (in paise per point) — our own best-feasible estimate, shown alongside every reward percentage so the assumption is never hidden.
  • —Estimated values are shown in ₹ per year, never in raw points, so cards with inflated point counts can’t look better than they are.
  • —Where transfer partners can stretch value further, we show the realistic base value first and the optimised ceiling separately — not the ceiling dressed up as the default.
  • —All card data is sourced from issuer MITC documents and official fee schedules. Each card page shows the date its data last CHANGED — which is a change stamp, not a verification: it moves when we edit a card, not when someone re-reads the issuer document. Where a card has been checked against a named document, the page names it.

What we assume you spend, before you tell us

Several parts of this site put a rupee figure on a card before knowing anything about you — the wallet with no profile linked, the category picks on the homepage, the verdict rows on a comparison. Each one runs on an assumed spending pattern, and each of those patterns is our editorial estimate, not a measurement of anybody. They were not published anywhere until September 2026, which meant a number that decided which card you were shown rested on an input you had no way to see or argue with.

Your wallet, before you link a profile

₹21,500 a month — ₹5,000 online shopping, ₹5,000 grocery, ₹3,000 dining, ₹3,000 fuel, ₹2,000 travel, ₹2,000 bills, ₹1,000 international, ₹500 streaming. ₹2,58,000 a year.

Decides: Which categories show as gaps, and which cards the optimiser says to add.

The category picks on the homepage

One spender at ₹10,000 a month in that category.

Decides: Which card is named the best for groceries, fuel or dining before you tell us anything.

The verdict rows on a comparison

Four archetypes — an everyday spender at ₹40,000 a month, an online shopper at ₹60,000, a frequent traveller at ₹1,20,000, a high spender at ₹2,50,000.

Decides: Which of two cards is said to win, for each archetype — each card valued the way the recommender values it (rewards with their caps and merchant gates, perks and milestone bonuses at the same usage factors, and the forex mark-up on international spend), net of the annual fee including GST.

A milestone bonus with no published spend gate

Pro-rated against ₹3,00,000 of annual spend.

Decides: How much of that bonus counts towards a card’s value.

The last row is not an assumption about you — it is a fallback for a perk whose own terms we could not pin down. But it multiplies with the first, and the product is the part worth stating plainly: a reader with no profile carries ₹2,58,000 of assumed annual spend, that is pro-rated against ₹3,00,000, and so every milestone bonus in the catalogue that has no published spend gate is credited to them at 86%. Nobody chose 86%. It fell out of two editorial numbers picked at different times for unrelated reasons, and it moved silently whenever either of them moved. It is written down here, and asserted in a test, because a figure that decides money should not be an accident that only the code can see. Linking a profile replaces the whole first row with your own numbers.

What can never change a ranking

Money. No issuer, bank, or network pays us for placement — and there is no mechanism in the engine to accept it. Rankings come out of the formula above.

Relationships. We hold no inventory of "partner cards". The same code path scores every card in the database.

Commissions. Some cards carry affiliate links (see How we make money), but commission status has zero weight in scoring — the engine has no input for it, and never will.

Where this model is wrong

Every one of these is a place our engine is known to diverge from what a card actually does. They are listed with the direction of the error, because “approximate” without a direction is not a disclosure — you cannot correct for it. Each entry is tied to the code it rests on and checked against that code on every build, so a limitation we fix stops appearing here rather than lingering as decoration.

This is what we know about. It is not a bound on what we do not.

A lounge is worth ₹0 in the rupee figure, however many visits it gives you.

Lounge access is a convenience, not cash you can spend elsewhere, so it is deliberately excluded from the annual value we publish and applied instead as a small ranking edge for readers who said they want it. If lounges are the reason you want a card, our ₹ figure understates it — read the lounge counts on the card page rather than the value.

A co-brand card can only earn credit for its headline perk if you name the brand — and some brands have nowhere to be named.

Perks locked to one partner (a hotel status, an airline’s own currency) are credited in full to readers who named that partner and not at all to anyone else, because 3% of a Marriott status describes no real person. The gap is that the profiler only offers pickers for some brands. Where a partner has no picker, its card can never rank on that perk — that is a hole in our questionnaire, not a verdict on the card.

A co-brand card gets no special credit at its own partner.

How much of a category you route through a named merchant is worked out from the reward row’s own wording, which cannot see whose card it belongs to. So the ICICI MakeMyTrip card’s MakeMyTrip row is credited the share a random reader sends to MakeMyTrip, not the share its own holder does — which is certainly higher. Co-brand cards are understated at their own partner.

Two travel rows on one card can each claim a share of the same flight spend.

Travel is split into flights, hotels and ground so a card’s rows partition it instead of competing. But two rows reaching the same leg by different routes — a bank portal and a travel agency, when a flight booked through the portal is also an agency booking — are treated as separate and can sum to more of your flights than either alone. The total is held under the leg by the size of the numbers, not by anything enforcing it.

A cap an issuer states per DAY is modelled as if it were only the monthly one.

A reward row can carry a monthly cap and an annual cap, and nothing else. Where an issuer also caps a benefit per day — HDFC’s SmartBuy has both a daily and a monthly ceiling — only the monthly figure is applied, because reaching it would require booking on more days than the daily cap allows. Cards with a daily cap are OVERSTATED. On the HDFC Diners Club Privilege we can put a figure on it: at ₹50,000 a month of travel we credit ₹1,250 a month of SmartBuy points, while a reader who books that travel in one sitting is held to ₹1,000 by HDFC’s 2,000-point daily ceiling — about ₹3,000 a year too much on that one card. Note what binds: the monthly cap of 4,000 points is never reached, so modelling it correctly changes nothing. Every other card with a daily cap is overstated by some amount we have not computed, because the size depends on how many days a month you book on — and choosing that number for you is an editorial judgement we have not made rather than a calculation we have not run.

The calculator has no rent box, so rent lands in “everything else”.

Rent is usually the largest single payment a cardholder makes and almost every card either excludes it or charges a fee on it. The calculator collects nine spend figures and rent is not one of them, so rent typed into “other spends” earns the card’s ordinary rate and the estimate comes out too high. The recommender and the wallet do model rent; this one page does not.

Check our work

Found a number that doesn't match the issuer's current terms? Tell us and we'll fix it — that feedback loop is part of the methodology too. For 30 cards we already publish the full working: every material field, the issuer page it came from, the date we retrieved it, and every field that check did not back up.