What’s harder than splitting the atom? Reconciling credit card points.
Those of you who obsessively track your points will know what I’m talking about. It’s rarely the case that Transaction Amount * Miles Per Dollar = 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. For example, if you spend S$19.99 in Singapore on your UOB PRVI Miles card, you may think you’ll earn S$19.99*1.4=27.99 miles.
Not quite. UOB’s calculation process involves the following:
- S$19.99 transaction is rounded down to the nearest S$5, i.e. S$15
- 3.5 UNI$ are awarded for each block of S$5, i.e. 10.5 UNI$
- UNI$ are rounded down to the nearest whole number, so the 10.5 UNI$ is further rounded down to 10 UNI$, which is equal to 20 miles
Therefore, your earn rate isn’t 1.4 mpd, it’s actually 1 mpd (and yes, this means that if you spend S$4.99, you earn zero miles)!
❓ How do I check credit card points breakdowns? |
Depending on which card you use, you may be able to get a breakdown of the points per transaction. Refer to this guide for more details. |
It’s an extreme case of course (UOB isn’t the only one guilty of this; OCBC and Maybank do the same), 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 on the market.
💳 Calculating Credit Card Points |
❓ General vs Specialised Spending Cards |
Specialised spending cards are those which earn bonus points (typically 4 mpd) on certain categories/types of transactions. For example, the Citi Rewards Card earns 4 mpd on all online transactions (except travel), and the OCBC Rewards card earns 4 mpd on shopping. General spending cards earn a flat 1-1.6 mpd on all transactions regardless of category/type. |
Calculations: General Spending Cards
Here’s how each general spending card rounds and awards points, sorted by the minimum spend required to earn points.
Card | Remarks | Min. Spend to Earn Points |
AMEX KrisFlyer Ascend |
SGD: Multiply trxn. by 1.2, then round to the nearest whole number | S$0.42 |
FCY (Jun/Dec only): Multiply trxn. by 2, then round to the nearest whole number | S$0.25 | |
AMEX KrisFlyer Credit Card |
SGD: Multiply trxn. by 1.1, then round to the nearest whole number | S$0.46 |
FCY (Jun/Dec only): Multiply trxn. by 2, then round to the nearest whole number | S$0.25 | |
BOC Elite Miles World Mastercard |
SGD: Multiply trxn. by 4.5 | S$0.01 |
FCY: Multiply trxn. by 9 | ||
Citi PremierMiles |
SGD: Round down trxn. to nearest S$1, then multiply by 1.2. Round to the nearest whole number | S$1 |
FCY: Round down trxn. to nearest S$1, then multiply by 2. Round to the nearest whole number | ||
Citi Prestige |
SGD: Round down trxn. to nearest S$1, then multiply by 3.25. Round to the nearest whole number | S$1 |
FCY: Round down trxn. to nearest S$1, then multiply by 5 (FCY). Round to the nearest whole number | ||
DBS Altitude AMEX/Visa |
SGD: Divide trxn. by 5 and multiply by 3.25. Round down to the nearest whole number | S$1.54 |
FCY: Divide trxn. by 5 and multiply by 5.5. Round down to the nearest whole number | S$0.91 | |
DBS Vantage |
SGD: Divide trxn. by 5 and multiply by 3.75. Round down to the nearest whole number | S$1.34 |
FCY: Divide trxn. by 5 and multiply by 5.5 (FCY). Round down to the nearest whole number | S$0.91 | |
HSBC TravelOne Card | SGD:Multiply trxn. by 1, then round to nearest whole number, multiply trxn by 2, then round to nearest whole number. Add both figures | S$0.25 |
FCY: Multiply trxn. by 1, then round to nearest whole number, multiply trxn by 5, then round to nearest whole number. Add both figures | S$0.10 | |
HSBC Visa Infinite | SGD: Multiply spend by 2.5, round to the nearest whole number | S$0.20 |
FCY: Multiply spend by 2.5, round to the nearest whole number, then multiply by 2 | ||
KrisFlyer UOB Credit Card | SGD: Round down trxn. to nearest S$5, divide by 5, then multiply by 6 |
S$5 |
FCY: Round down trxn. to nearest S$5, divide by 5, then multiply by 6 |
||
Maybank Visa Infinite | SGD: Round down trxn. to the nearest S$5, divide by 5, then multiply by 15 |
S$5 |
FCY: Round down trxn. to the nearest S$5, divide by 5, then multiply by 25 |
||
OCBC 90°N Card |
SGD: Round down trxn. to nearest S$5, divide by 5, multiply by 6.5. Round to the nearest whole number | S$5 |
FCY: Round down trxn. to nearest S$5, divide by 5, multiply by 10.5. Round to the nearest whole number | ||
OCBC Premier Visa Infinite | SGD: Round down trxn. to nearest S$5, divide by 5, multiply by 16. Round to the nearest whole number. | S$5 |
FCY: Round down trxn. to nearest S$5, divide by 5, multiply by 28. Round to the nearest whole number. | ||
OCBC VOYAGE |
SGD: Round down trxn. to nearest S$5, divide by 5, multiply by 6.5. Round to the nearest whole number | S$5 |
FCY: Round down trxn. to nearest S$5, divide by 5, multiply by 11. Round to the nearest whole number | ||
OCBC VOYAGE (Premier, PPC, BOS) |
SGD: Round down trxn. to nearest S$5, divide by 5, multiply by 8. Round to the nearest whole number | S$5 |
FCY: Round down trxn. to nearest S$5, divide by 5, multiply by 11.5. Round to the nearest whole number | ||
SCB Journey Card |
SGD: Multiply trxn. by 3, then round to nearest whole number | S$0.17 |
FCY: Multiply trxn. by 3, round to nearest whole number, then multiply trxn. by 2, round to nearest whole number, then add the two figures | ||
SCB Visa Infinite |
SGD: Multiply trxn. by 2.5 then round to the nearest whole number* |
S$0.20 |
FCY: Multiply trxn. by 2.5 then round to the nearest whole number* | ||
UOB PRVI Miles | SGD: Round down trxn. to nearest S$5, divide by 5, then multiply by 3.5. Round down to the nearest whole number | S$5 |
FCY: Round down trxn. to nearest S$5, divide by 5, then multiply by 6. Round down to the nearest whole number | ||
UOB Visa Infinite Metal |
SGD: Round down trxn. to nearest S$5, divide by 5, then multiply by 3.5. Round down to the nearest whole number | S$5 |
FCY: Round down trxn. to nearest S$5, divide by 5, then multiply by 6. Round down to the nearest whole number | ||
*Bonus 1 (local) and 5 (FCY) points is contingent on hitting S$2K in a statement cycle and is awarded within five days after the end of the statement month |
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
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.
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.
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 OCBC or UOB cards for this, given their S$5 earning blocks!
It’s better to stick with American Express, HSBC, Citibank or Standard Chartered cards, because their rounding policies are less punitive for small amounts.
🖩 Credit Card Points 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. |
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.
Card | Formula for Points |
AMEX KrisFlyer Credit Card | SGD: ROUND(X*1.1,0) FCY: ROUND(X*2,0) |
AMEX KrisFlyer Ascend | SGD: ROUND(X*1.2,0) FCY: ROUND(X*2,0) |
BOC Elite Miles World Mastercard | SGD: X * 4.5 FCY: X * 9 |
Citi PremierMiles | SGD: ROUND (ROUNDDOWN(X,0)*1.2,0) FCY: ROUND (ROUNDDOWN(X,0)*2,0) |
Citi Prestige | SGD: ROUND (ROUNDDOWN(X,0)*3.25,0) FCY: ROUND (ROUNDDOWN(X,0)*5,0) |
DBS Altitude AMEX/Visa | SGD: ROUNDDOWN ((X/5)*3.25,0) FCY: ROUNDDOWN ((X/5)*5.5,0) |
DBS Vantage | SGD: ROUNDDOWN ((X/5)*3.75,0) FCY: ROUNDDOWN ((X/5)*5.5,0) |
KrisFlyer UOB Credit Card | SGD & FCY: ROUNDDOWN(X/5,0)*6 |
HSBC TravelOne | SGD: ROUND(X*1,0) + ROUND(X*2,0) FCY: ROUND(X*1,0) + ROUND(X*5,0) |
HSBC Visa Infinite | SGD: ROUND((X*2.5),0) FCY: ROUND((X*2.5),0)*2 |
Maybank Visa Infinite | SGD: ROUND (ROUNDDOWN(X/5,0)*15,0) FCY: ROUND (ROUNDDOWN(X/5,0)*25,0) |
OCBC Premier VI | SGD: ROUND (ROUNDDOWN(X/5,0)*16,0) FCY: ROUND (ROUNDDOWN(X/5,0)*28,0) |
OCBC VOYAGE (Normal) |
SGD: ROUND (ROUNDDOWN(X/5,0)*6.5,0) FCY: ROUND (ROUNDDOWN(X/5,0)*11,0) |
OCBC VOYAGE (Premier, PPC, BOS) |
SGD: ROUND (ROUNDDOWN(X/5,0)*8,0) FCY: ROUND (ROUNDDOWN(X/5,0)*11.5,0) |
OCBC 90°N Card | SGD: ROUND (ROUNDDOWN(X/5,0)*6.5,0) FCY: ROUND (ROUNDDOWN(X/5,0)*10.5,0) |
SCB Journey Card | SGD: ROUND(X*3,0) FCY: ROUND(X*3,0)+ ROUND(X*2,0) |
SCB Visa Infinite | SGD & FCY: ROUND(X*2.5,0) |
UOB PRVI Miles | SGD: ROUNDDOWN (ROUNDDOWN(X/5,0)*3.5,0) FCY: ROUNDDOWN (ROUNDDOWN(X/5,0)*6,0) |
UOB Visa Infinite Metal | SGD: ROUNDDOWN (ROUNDDOWN(X/5,0)*3.5,0) FCY: ROUNDDOWN (ROUNDDOWN(X/5,0)*6,0) |
Remember that the formulas above give you the number of points you can expect to receive (e.g. UNI$, DBS Points, VOYAGE Miles, OCBC$), not miles. A further calculation is necessary to convert points to miles.
Bank points | KrisFlyer miles |
1 BOC Point | 0.22 miles |
1 Citi Mile | 1 mile |
1 Citi ThankYou Point | 0.4 miles |
1 DBS Point | 2 miles |
1 HSBC Point | 0.4 miles |
1 HSBC Travel$ | 1 mile |
1 Maybank TREATS | 0.4 miles |
1 OCBC$ | 0.4 miles |
1 90°N Mile | 1 mile |
1 OCBC VOYAGE Mile | 1 mile |
1 SCB Point | 0.4 miles (for Journey, Visa Infinite) 0.29 miles (all others) |
1 UNI$ | 2 miles |
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.
For what it’s worth, you shouldn’t be doing a lot of spending on your general spending card in the first place. The first port of call should still be specialised spending cards wherever possible!
U left out the widely used DBS Woman’s world card?
See last paragraph. Will cover it in a future post!
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.
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.
An excel does the same job. An app is overkill
arrh yes.. but an app makes you a startup while an exce makes you an……. analyst.
Would be a cool product but with the glorious pool of 3000 users in Singapore, he’ll break even on producing and maintaining the app in 80 years.
Aaron – you are doing gods work!!
Please cover UOB preferred platinum card too. Thanks 🙂
I believe he posted a link to specialised spending cards above, too.
Argggggh …. I’m going back to cash. Life is so damn complicated. Here
Good article – thanks Aaron
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!
glad you found it useful! yes, was getting a lot of that type of question
Is there an error with the DBS Altitude card FCY excel formula?
Should *7.5 instead?
No, altitude gets 2 mpd on fcy. That’s equivalent of 5 points
ah, that’s right. /5*7.5 is for Hotels and Flights
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 »
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.
Thank You Aaron for taking time to prepare such a tool. This excel really helps.
Hi
What’s the. Best card to use for beauty salon treatments? Tks
no love for SCB Smart Card? Since the bonus mpd has been extended to end 2023
edit: this comment should be on the specialised spend article. my mistake
First question after reading mile lion for the last few years. For watch and jewellery purchases in the 50k+++ region, what’s the best card to use?
I know Amex plat if it’s hour glass or a 10x merchant (used to be 20x) but what about the rest? I won’t bring 10 cards and max out each 4x, is my best choice just the highest general spending card?
Thanks Aaron!
Quick question. So given that the UOB has a 2k max for 4mpd does that mean if i spend SGD 4.95, 400 times i would not have gotten any miles and since i have spent 2k SGD on the card already the next 2k i spend on the card will not allow me to earn any miles?
no, because the cap is based on bonus UNI$ awarded, not spending (we just use the terms interchangeably because most people won’t be making 400x $4.95 trxns!)
moreover, with the uob visa signature the rounding policy isn’t so punitive, read this: https://milelion.com/2022/07/12/is-uobs-points-rounding-policy-as-bad-as-it-seems/
Sorry what does Jun/Dec for amex cards refer to? e.g. “S$0.25 (FCY in Jun/Dec)”
What about SCB Smart card ? I have never been able to tally.
What’s the rule of thumb on what is a “small amount” for rounding?
Depends on which card you’re talking about, but generally <$40 is more noticeable.