How do banks calculate credit card points for general spending cards?

Last Updated:

Here's how to calculate credit card points with general spending cards (and how rounding policies affect you)

What’s harder than splitting the atom? Reconciling credit card points.

Those of you who obsessively track your points down to the last digit will know what I’m talking about. It’s rarely the case that transaction amount * mpd rate= total miles, because of how banks calculate and round points. In fact, rounding policies may mean you don’t always get the headline rates that banks advertise.

How do banks calculate credit card points?

Yes but no

For example, if you spend S$9.99 in Singapore on your UOB PRVI Miles card, you may think you’ll earn S$9.99*1.4=13.99 miles.

Not quite. UOB rounds your S$9.99 transaction down to the nearest S$5, and give you 3.5 UNI$ for each block of S$5. However, since there’s an odd number block here, the 3.5 UNI$ is further rounded down to 3 UNI$, which is equal to 6 miles. Therefore, your mpd isn’t 1.4, it’s actually 0.6 (and yes, this means that if you spend S$4.99, you earn zero miles)!

Which banks offer transaction level points breakdowns? Read this guide to find out
Advertising

It’s an extreme case, of course, and the effect gets smaller as your transaction gets bigger, but it does show how rounding can mess up what should otherwise be a simple calculation.

In this post, we’ll look at the rounding policies of different general spending cards in the market.

Calculating points with General Spending Cards

Here’s how each general spending card rounds and awards points, sorted by the minimum spend required to earn points.

CardRemarksMin Spend to Earn Points 
UOB PRVI Miles AMEX/MC/VisaRound down transaction to nearest S$5, divide by 5, then multiply by 3.5 (local) or 6.0 (FCY). Round down to the nearest whole numberS$5
UOB Visa Infinite MetalRound down transaction to nearest S$5, divide by 5, then multiply by 3.5 (local) or 5.0 (FCY). Round down to the nearest whole numberS$5
KrisFlyer UOB Credit CardRound down transaction to nearest S$5, divide by 5, then multiply by 6.0 (local or FCY)S$5
OCBC VOYAGERound down transaction to nearest S$5, divide by 5, multiply by 6.5 (local) or 11 (FCY). Round to the nearest whole numberS$5
OCBC 90NRound down transaction to nearest S$5, divide by 5, multiply by 6.0 (local) or 10 (FCY). Round to the nearest whole numberS$5
DBS Altitude AMEX/VisaDivide transaction by 5 and multiply by 3.0 (local) or 5.0 (FCY). Round down to the nearest whole numberS$1.67 (local)
S$1 (FCY)
Citi PremierMiles Round down transaction to nearest S$1, then multiply by 1.2 (local) or 2.0 (FCY). Round to the nearest whole numberS$1
Citi PrestigeRound down transaction to nearest S$1, then multiply by 3.25 (local) or 5.0 (FCY). Round to the nearest whole numberS$1
HSBC Visa InfiniteRound transaction to nearest S$1, then multiply by 2.5 (local) or 5.0 (FCY).  Round down to nearest whole number. If cardholder has “Step Up Earn Rate” (Spent >S$50K in previous year), multiply by 3.125 (local) or 5.625 (FCY)S$0.50
Maybank Visa InfiniteRound transaction to the nearest S$1, then multiply by 3.0 (local) or 5.0 (FCY)S$0.50
AMEX KrisFlyer Credit CardMultiply transaction by 1.1 (local) or 2.0 (FCY in Jun/Dec), then round to the nearest whole numberS$0.46 (local)
S$0.25 (FCY)
AMEX KrisFlyer AscendMultiply transaction by 1.2 (local) or 2.0 (FCY in Jun/Dec), then round to the nearest whole numberS$0.42 (local)
S$0.25 (FCY)
SCB Visa InfiniteMultiply transaction by 2.5 (local and FCY), then round to the nearest whole number.
Bonus 1.0 (local) and 5.0 (FCY) points is contingent on hitting S$2K in a statement cycle and is awarded later
S$0.20
SCB X CardFor local, multiply transaction by 3.0, then round to nearest whole number. For FCY, multiply by 3.0, round to nearest whole number, then multiply by 2.0, round to nearest whole number, then addS$0.17
BOC Elite Miles World MastercardMultiply transaction by 4.5 (local) or 9.0 (FCY), no rounding
S$0.01

A few things to point out:

Round versus round down

It’s important to note whether your bank rounds or rounds down transaction and points amounts

  • Round means 3.6 becomes 4, 3.4 becomes 3 (.5 is always rounded up)
  • Round down means that both 3.6 and 3.4 become 3
Advertising

Obviously, the former is more generous than the latter.

For example, the AMEX KrisFlyer Ascend does not round transactions; it rounds the KrisFlyer miles awarded to the nearest whole number. Therefore, a S$36.35 transaction would earn 43.62 miles (36.35*1.2), rounded up to 44 miles.

Advertising

In contrast, the UOB PRVI Miles rounds down your transaction to the nearest S$5, then rounds down the awarded UNI$ again.  So this same S$36.35 transaction would first be rounded down to S$35, then the resulting 24.5 UNI$ (35/5*3.5) would be rounded down to 24 UNI$.

Fractional points

Of all the banks here, BOC is the only one I’m aware of which awards fractional points. If I spend S$10.80 and S$6.85, for example, I’ll get 48.6 points and 30.825 points respectively, or 79.425 points in total. Most other banks would have rounded those figures down to 48 and 30, for a total of 78.

Advertising

It’s a small difference to be sure, but it really means every cent counts.

Best cards to use for small amounts

The effect of rounding is most noticeable on small transactions. You definitely don’t want to be using UOB or OCBC cards for this, given their S$5 earning blocks!

It’s better to stick with Citibank cards or American Express ones, because their rounding policies penalise you less with small amounts. In an extreme case, the BOC Elite Miles card literally earns you points on every cent, but with their 15 June earning rate nerf, is not really worth considering. 

Credit Card Calculator

I’ve taken a stab at creating a credit card calculator for general spending cards, where you can plug in your spending amount and see how each card performs. It’s based on my own experience and community-contributed data points, so free to play around with it and update me if you see any errors in formulas. I’ll eventually add one for specialized spending cards too, so contribute your formulas if you have them! 

Excel formulas

If you’re the sort who uses Excel to calculate your points, here’s formulas to plug and play. “X” refers to the transaction amount.

CardFormula for Points
UOB PRVI Miles AMEX/MC/VisaLocal: ROUNDDOWN (ROUNDDOWN(X/5,0)*3.5,0)
FCY: ROUNDDOWN (ROUNDDOWN(X/5,0)*6,0)
UOB Visa Infinite MetalLocal: ROUNDDOWN (ROUNDDOWN(X/5,0)*3.5,0)
FCY: ROUNDDOWN (ROUNDDOWN(X/5,0)*5,0)
KrisFlyer UOB Credit CardLocal & FCY: ROUNDDOWN(X/5,0)*6
OCBC VOYAGELocal: ROUND (ROUNDDOWN(X/5,0)*6.5,0)
FCY: ROUND (ROUNDDOWN(X/5,0)*11,0)
OCBC 90NLocal: ROUND (ROUNDDOWN(X/5,0)*6,0)
FCY: ROUND (ROUNDDOWN(X/5,0)*10,0)
DBS Altitude AMEX/VisaLocal: ROUNDDOWN ((X/5)*3,0)
FCY: ROUNDDOWN ((X/5)*5,0)
Citi PremierMiles Local: ROUND (ROUNDDOWN(X,0)*1.2,0)
FCY:  ROUND (ROUNDDOWN(X,0)*2,0)
Citi PrestigeLocal: ROUND (ROUNDDOWN(X,0)*3.25,0)
FCY:  ROUND (ROUNDDOWN(X,0)*5,0)
HSBC Visa InfiniteLocal (Regular): ROUNDDOWN (ROUND(X,0)*2.5)
FCY (Regular): ROUNDDOWN (ROUND(X,0)*5)
Local (Step Up): ROUNDDOWN (ROUND(X,0)*3.125)
FCY (Step Up): ROUNDDOWN (ROUND(X,0)*5.625)
Maybank Visa InfiniteLocal: ROUND(X,0)*3
FCY: ROUND(X,0)*5
AMEX KrisFlyer Credit CardLocal: ROUND(X*1.1,0)
FCY: ROUND(X*2,0)
AMEX KrisFlyer AscendLocal: ROUND(X*1.2,0)
FCY: ROUND(X*2,0)
SCB Visa InfiniteLocal & FCY: ROUND(X*2.5,0)
SCB X CardLocal: ROUND(X*3,0)
FCY: ROUND(X*3,0)+ ROUND(X*2,0)
BOC Elite Miles World MastercardLocal: X * 4.5
FCY: X * 9

Conclusion

If your mind has turned to mush by now, I don’t blame you! That’s a lot of math to take in, so head on over to the Credit Card Calculator if you want a quick answer.

I’ve created a separate post for specialized spending cards too, which you can view here.

Aaron Wong
Aaron founded The Milelion with the intention of helping people travel better for less and impressing chiobu. He was 50% successful.

Similar Articles

Comments

Subscribe
Notify of
guest
17 Comments
Oldest
Newest
Inline Feedbacks
View all comments
Bent

U left out the widely used DBS Woman’s world card?

No miles for me

I’ve been trying to track pooled UOB uni$ and it is real difficult. The weirdest discrepancy is with UOB VS and the bonus 4mpd for foreign spend over $1000. The additional 9 uni$ is credited at the end of the statement cycle. It seems that the final two digits from what I calculate and what UOB credits are transposed. For example I calculate 3456 and the statement shows I am credited 3465. If I calculate 3190 I am credited 3109. This happens every month and is so odd.

Raeza

You should consider making an app where users can (1) set what cards they have, (2) key in amount/currency and (3) immediately get the recommended card to win at life.

freedom

An excel does the same job. An app is overkill

Keenan Lew

arrh yes.. but an app makes you a startup while an exce makes you an……. analyst.

myfatfire

Aaron – you are doing gods work!!

Cheryl

Please cover UOB preferred platinum card too. Thanks 🙂

Larry

I believe he posted a link to specialised spending cards above, too.

alian

Argggggh …. I’m going back to cash. Life is so damn complicated. Here

Good article – thanks Aaron

Tom

Thanks so much for this – I was literally going to message you the other day to request an article like this! Very relevant since I’ve started doing a lot of transactions that are either 0.83 or 1.66 depending on whether I get the MRT one way or both ways to work each day!

Yiwei

Is there an error with the DBS Altitude card FCY excel formula?
Should *7.5 instead?

Yiwei

ah, that’s right. /5*7.5 is for Hotels and Flights

LionDen

Just sharing my recent experience. I recently rang up DBS to check my points for the Altitude Visa card. I was told and assured by the CSO that even a $1 spend locally can earn points (0.6 points) and DBS will total all the points earned from each transaction before they round down the final figure. CSO mentioned that for those transactions which result in <1 point shows up as 0 in the DBS digibot because the digibot system truncate the decimal. Over at the CSO end he could see my points at transactional level – 0.6. With this it… Read more »

LYY

My DBS total points as stated in LifeStyle app: 586
Me manually summing the points I got from individual transactions: 586
Me summing my total expenditure in a statement, then apply x1.2miles/2miles to get whole DBS points: 605
This seems to suggest that they round to whole DBS points for each transaction before summing.
Unless the total DBS points they’re showing me is erroneous.

CREDIT CARD SIGN UP BONUSES

Advertisment

Featured Deals

Advertisment

Follow us

5,969FansLike
2,641FollowersFollow

RECENT COMMENTS

TAGS