Should I Invest in NPS to claim tax benefit on extra Rs 50,000

National Pension Scheme was launched on 1st January 2004 by the government of India to provide financial security for its citizen post retirement. Since then NPS has received lukewarm response from the market mainly because for the following reasons:-

  • Withdrawal before retirement is very restricted
  • After retirement, it is made compulsory to invest at least 40% of corpus in annuity plan
  • NPS is EET scheme. It means amount received after retirement is taxable
  • NPS has exposure to equity market and hence it is considered riskier investment as compared to EPF or PPF scheme

To increase the popularity of NPS, Finance minister Arun Jaitley had announced additional tax deduction of Rs 50,000 over and above limit of 1.5 lacs if investment is made in NPS scheme. The tax deduction of Rs 50,000 is especially beneficial for 30% tax bracket tax payee as it will help in saving Rs 15,000+ Cess annually.

The announcement certainly helps in raising awareness of the NPS among common public but it is still not preferred choice of investment. There are many who argue that inspite of tax benefits, NPS is still not attractive investment option for pension planning.

But I believe, after the announcement of tax deduction, investment of Rs 50,000 in NPS makes sense for high tax bracket (30%) taxpayer. Here in this blog, I have tried and prepare a comparative analysis between investment as an option in NPS and any other scheme.

In the analysis, it is assumed that taxpayer is in 30% tax bracket even after claiming maximum tax deduction of 1.5 lacs limit as per Chapter VI-A (section 80C). Age of investor is assumed to be 30 years and retirement age is 60 years.

The analysis is carried out to quantitatively observe the impact of tax benefits on saving if investment is made under NPS. Rs 50,000 are taken as basis for the analysis as tax benefit is valid only for that amount. Below table compares the amount you will receive after retirement if you invest Rs 50,000 in NPS or Other than NPS.


Other Than NPS

Amount available for investment



Actual amount available for investment post tax


50,000-15,000 = 35000 (Taxable

Duration of Investment



Amount receivable after 30 years (10% rate of



Re-investment in annuity (40%)


Annuity not Compulsory

Amount Receivable in lump sum pre tax



Taxable Amount

3359004 ( 60% of the lump- sum amount received )

5481188 (Only Interest Income will be taxable & not your

Tax Payable @ 30.9%



Lump sum available on maturity post tax



Total Amount available on maturity



Total Difference


Summary for NPS


Amount to be re-invested in Annuity (assuming 40% of corpus)


Lump Sum Receivable on Retirement after tax & investing in 40% annuity – NPS


Note:- Previously NPS was taxable at the time of maturity. But in the Budget 2016 announcement- Withdrawal from NPS on maturity made tax free upto 40%. In the above analysis same 40% tax deduction on corpus is assumed

Hence total saving corpus is more in NPS than any other scheme for the same rate of return. Lump sum amount received after retirement (or 60 years of age) is only marginally higher in NPS. From the above estimation, it is clear that NPS has a clear advantage over other investment scheme.

It should also be noted that amount re-invested in Annuity (assuming 40% of the corpus) is taxable as per the tax slab of individual.

Deferred Withdrawal of Lump Sum from NPS after Maturity

As per noticed issued by PFRDA dated 29th October, 2015 – Investor can deferred withdrawal of lump sum amount in up to 10 annual installments till the age of 70 years.

How is this beneficial?

Lump sum amount can be huge. Withdrawing the whole amount in a single year would have had serious tax implication as it would have taken you to highest income tax slab (30% tax slab) for that fiscal year. Therefore, withdrawing the entire amount at one go will lead to huge tax liability and put a huge dent in your pocket.

This is where, deferred withdrawal becomes beneficial. Now you can spread the lump sum withdrawal across 10 installments (assuming retirement age as 60 years) to reduce tax liability.

Let’s understand this with an example!

From the table above, lump sum available on maturity before tax is 5598340/- i.e. approximately 55 lacs. For the rest of the corpus Rs 3732226/-, you are required to purchase annuity. Suppose annuity provides 8% annual return which are approximately 3 lacs per year.

Withdrawal at a single go:-

If you do not have any other source of income, your total income will be (55+3) 58 lacs for the withdrawal year and you will be taxed according to your tax slab which is 30%. Therefore, total tax liability for the year will be ~ 17 lacs which are huge.

Withdrawal in Installment:-

If you chose to withdraw in 10 installment, your income for the year after retirement will be (55/10+3) 8.5 lacs. You will fall in 20% tax bracket. Tax liability for 8.5 lacs comes in the range of Rs 90,000. Therefore, for the next 10 years, you will be taxed 90,000 per annum and total tax paid by you at the end of 10 years will be 9 lacs.

So you see the difference. Withdrawal at a single goes put tax liability of approximately 17 lacs and if you chose to spread your lump sum withdrawal in 10 years, total tax paid is 9 lacs. Total saving worth 8 lacs!!

Note: – For simplicity, in the above example, I have not considered any tax deductions. If you consider tax saving as per chapter VI-A (Section 80), total saving would be much higher. It should also be noted that lump sum amount still with NPS (not withdrawn) will continue to grow for the duration of 10 years.

Points to Consider

  • You can defer the withdrawal till the age of 70 years. After that you need to withdraw whole amount.
  • Lump sum withdrawals need not to be in equal installment. You can withdraw as much money as you required for the coming years. The only limitation is that you can make only one lump sum withdrawal per year.
  • The main advantage of spreading the lump sum withdrawal comes from the fact that it reduces tax liability by shifting your tax slab from 30% to 20% or 10% as the case may be. But if you have other sources of income and even after spreading your lump sum amount you fall in 30% tax bracket, Deferred Withdrawal will not matter.

Why NPS is still not popular?

There are several reasons for the same & some of which are as follows:-

  • There is no guarantee of minimum return on investment made in NPS. Exposure to equity market certainly makes it riskier than other scheme.
  • We have estimated above figures with assumption of 10% return. Though 10% return is conservative, but return on NPS can be less than the presumed value.
  • There are other investment options which can give return of more than 10% on investment. Even with tax disadvantage on other than NPS option, if you can achieve return of more than 11.65%, it may prove to be more beneficial.
  • The lock-in period for NPS is very long with very limited withdrawal option. So for many investor, Liquidity concern in NPS instrument is deal breaker. (Read revised withdrawal and exit rules from NPS)

Invest in NPS if:-

  • If you lie in 30% (or 20%) tax brackets.
  • If you do not mind long lock-in period & can afford to remain invested for long time.
  • If you do not think you can get return of more than 11.65% if invest in other investment scheme.
  • If you already have utilized limit of 1.5 lacs in chapter VI deduction.

Planning for your post-retirement life is very important. Plan Well and Stay Happy.

Source :

“Unlicensed Product” error when you open an Office Professional Plus 2010 application

Some times, when open any MS Office application like outlook, excel etc, i keep get following error irrespective of my license expired or not.

“Unlicensed Product” error when you open an Office Professional Plus 2010 application”

To fix the issue, i followed following steps.

Easy fix 51006

  1. Determine whether the computer has the 32-bit or 64-bit version of Office 2010 installed. To do this, open any Office 2010 program, click File, and then click Help. The Office version is displayed next to the Version number.
  2. Close all Office 2010 programs.
  3. Click Start, type cmd in the Start Search box, and then press Enter.
  4. At the command prompt, type one of the following commands, and then press Enter:
    • If you’re running 64-bit Windows with 32-bit Office:
    • If you’re running 32-bit Windows, or running 64-bit Office with 64-bit Windows:

You can can find more help or ways to fix this issue from this MSDN help link.

Introduction to basic ODBC programming

Sample program to write basic odbc program to connect/ query/ disconnect with unicode data.

For more help we can refer to MSDN doc link and get more sample code as well.

TCPDUMP – Packet size limited during capture HTTP truncated

In Linux environment, if you want to use command base to capture network packets, you can use the following command with TCPDUMP.

The above command will dump network packet for network interface eth0 to a file call out.pcap. This file is a pcap format which you can open by Wireshark.

The above command will use a default capture size of 96 bytes and the benefit of this is to create a small output file. However, the downside is that certain large packet information will be lost and you may not see a complete picture of network communication. Especially in Wireshark, such situation will display with a message “Packet size limited during capture HTTP truncated” for large packet.

To solve this issue, use the following command.

-s 0 flag tell tcpdump to capture packet at original size (65535 bytes). And, this will create much larger output file.

Force a windows desktop application to run in 32bit process on 64bit OS

Recently, I faced an issue with a downloaded windows application binary/executable. When I double clicked, it throws error popup saying that wrong architecture mismatch. Then my target is to run that age old application to run on my latest x64 bit windows machine in seamless manner.

Some of the suggestions i got from searching net are – changing the application target platform as x86 and re-compile, generate binary. But, am not the creator of that application. Next suggestion is to change the platform to 32-bit environment in IIS settings, if that application runs in IIS context. This option as well not suited me well as my application don’t depend on IIS.

Then, I finally came to know about this particular utility called CorFlags.exe to flip the 32-bit flag on the assembly. I don’t know this is the optimal way of making this works, but for me it solved the issue. This utility mostly comes with default windows OS i guess. But, for me i found in my visual studio installation. To know more about this utility, you can refer this link. I used followed commands to flip 32-bit flag on my application which in turn forces to run as 32-bit process on a 64-bit machine.

To set the 32Bit flag, run following command in command prompt.

CorFlags.exe MyAssembly.exe /32Bit+

To turn off the 32Bit flag,

CorFlags.exe MyAssembly.exe /32Bit-

This solved my problem without much effort. But there is another solution as well – that is to write a wrapper launcher application to your target application. This can be more controlled approach and at the same time, needs to write our own code to launch this application. Anyways, I just wanted to introduce this wonderful utility called CorFlags.exe which resolved my issue in no time.

Monty Hall Puzzle

You’re on a game show and there are three doors in front of you. The host, Monty Hall, says, “Behind one door is a brand new car. Behind the other two doors are goats. Pick a door!” You think, “Well, it doesn’t matter which door I choose, every door has a 1/3 chance of having the car behind it.” So, you choose door number 1. Now it gets interesting. Monty, the host, who knows where the car is, opens door number 2 and reveals a goat. The host always opens a door to reveal a goat. The host says, “If you want, you can switch to door number 3.” What should you do? Stay with your original choice or switch to the other door? All right, so what are you going to do? Stay or switch? Well, it’s a fifty-fifty chance of winning the car in either door. Right? [Wrong!] You actually double your chances of winning the car by switching doors. And that is why the Monty Hall Problem is so evasive!

Choose an explanation to the Monty Hall Problem:

1/3 vs 2/3 – Solution #1 to the Monty Hall Problem

There is a 1/3 chance of the car being behind door number 1 and a 2/3 chance that the car isn’t behind door number 1. After Monty Hall opens door number 2 to reveal a goat, there’s still a 1/3 chance that the car is behind door number 1 and a 2/3 chance that the car isn’t behind door number 1. A 2/3 chance that the car isn’t behind door number 1 is a 2/3 chance that the car is behind door number 3.

100 Doors! – Solution #2 to the Monty Hall Problem

Imagine that instead of 3 doors, there are 100. All of them have goats except one, which has the car. You choose a door, say, door number 23. At this point, Monty Hall opens all of the other doors except one and gives you the offer to switch to the other door. Would you switch? Now you may arrogantly think, “Well, maybe I actually picked the correct door on my first guess.” But what’s the probability that that happened? 1/100. There’s a 99% chance that the car isn’t behind the door that you picked. And if it’s not behind the door that you picked, it must be behind the last door that Monty left for you. In other words, Monty has helped you by leaving one door for you to switch to, that has a 99% chance of having the car behind it. So in this case, if you were to switch, you would have a 99% chance of winning the car.

Pick a Goat – Solution #3 to the Monty Hall Problem

To win using the stay strategy, you need to choose the car on your first pick because you’re planning to stay with your initial choice. The chance of picking the car on your first pick is clearly one out of three. But, in order to win using the switch strategy, you only need to pick a goat on your first pick because the host will reveal the other goat and you’ll end up switching to the car. So you want to use the strategy that lets you win if you choose a goat initially because you’re twice as likely to start by picking a goat.

Scenarios – Solution #4 to the Monty Hall Problem

To understand why it’s better to switch doors, let’s play out a few scenarios. Let’s see what will happen if you were to always stay with your original choice. We’ll play out three scenarios, one for each door that the car could be behind (door number 1, door number 2, or door number 3). And it doesn’t matter which door you start out with, so, to keep it simple, we’ll always start by choosing door number 1.

Stay strategy, scenario 1: the car is behind door number 1. You choose door number 1, then the host reveals a goat behind door number 2 and because you always stay, you stay with door number 1. You win the car! Stay strategy, scenario 2: the car is behind door number 2. You start by picking door number 1, the host reveals a goat behind door number 3, and you’re using the stay strategy so you stay with door number 1. You get a goat and don’t win the car. Stay strategy, scenario 3: the car is behind door number 3. You pick door number 1, the host opens door number 2 to reveal a goat, you stay with door number 1, and you get a goat. So, using the stay strategy, you won the car one out of three times. That means that in any one instance of playing the game, your chance of winning the car if you choose to stay is 1/3 or about 33%.

Now let’s try switching doors. Again, we’ll always start by picking door number 1. Switch strategy, scenario 1: the car is behind door number 1. You choose door number 1, the host opens door number 2 to reveal a goat, you are using the switch strategy so you switch to door number 3. You get a goat. Switch strategy, scenario 2: the car is behind door number 2. You start by picking door number 1, the host opens door number 3 to reveal a goat, you switch to door number 2 and win the car! Switch strategy, scenario 3: the car is behind door number 3. You pick door number 1, the host opens door number 2 to reveal a goat, you switch to door number 3 and win the car again! So, with the switch strategy you won the car 2 out of 3 times. That means, that in any one instance of the game, your chance of winning the car if you choose to switch doors is 2/3 or about 67%.

Therefore, if you play the game three times and stay, on average you’ll win the car once. But if you play the game three times and switch each time, on average you’ll win the car twice. That’s twice as many cars!

ORA-01658: unable to create INITIAL extent for segment in tablespace SYSTEM

Recently I’m stuck with this error suddenly while writing data to this Oracle XE edition. Of course, it’s kind of frustrating to see this kind of errors in the middle of our tasks without even knowing the origin of these. I did few searches on the web, and able to cross the issue with below fix.

Root cause of the error:

Failed to find sufficient contiguous space to allocate INITIAL extent for segment being created.


1. Create and add a datafile to the database, for additional space to the tablespace.

2. Since, over the period the given size may gets filled as well, so what i did is to extend the size automatically as below.

After doing the above, i finally avoided this bugging issue and continue to use Oracle XE edition for project use.

Number of comparisons to find second minimum element in an Array

Given an array of numbers, we need to find the second min element with optimal number of comparisons.

Let’s compare two elements (side by side) and get next set of min element list. Recursively, we end up with lowest number in the last iteration as mentioned below.

Finding Min Using Tournament Method

Now, how many comparisons we took to find least number here are:

n/2 + n/4 + n/8 + …. = a/(1-r) = n/2*1/(1-1/2) = n

So, it took n comparisons to find the least number. Now, to find the 2nd least number, can we reuse the previous states we used to find 1st least number ? If you observe the below figure, rectangle numbers will definitely contain the 2nd least number. And, identifying these numbers is easy, each recursive iteration we are comparing side by side numbers.

The reason why we went the tournament way (as opposed to serial comparison) is that we can leverage the reverse tree to find the second minimum value with log(n) comparisons (asymptotic), hence the solution represents marked improvements over 2n (ignoring constant) comparisons as required by trivial method.

Here is the logic to find second minimum value.

The logic is that at some point the minimum element (root element) must have knocked out the second minimum element. So, by backtracking from the root element (minimum) all the way to the top and checking all the adjacent elements to the root element (for each row) we can find the second minimum. The key point to note is that at any level (above root level), the adjacent elements can be obtained by the index of root element at this level. Therefore, you don’t need to scan complete sub-array (of recursion tree at any level). The adjacent elements for n-1 level is obtained as follows:

Adjacent Left (n-1 level) : 2 * (root index for nth level)
Adjacent Right(n-1 level): 2 * (root index for nth level) + 1

Therefore, for each row of the recursion tree, you just need to perform two comparisons to find the root element index to obtain the adjacent elements of row above. Refer to Figure 3 below. One of the elements marked in green box must be second minimum.

Finding 2nd Minimum using optimized back-tracking

So, how many comparisons we make using this method. Let’s calculate (ignoring constants): 

Comparisons for finding minimum: n
Comparisons for finding 2nd minimum: log(n)
Total: n + log(n)

Thus this method offers marked improvement over crude method.