The 5% indicates that Ra table updates have happened but Qmax updates have not. There are several issues that could causes this. It's hard to tell without a log file, but based on your profile, it looks like you are using too high a current in your learning cycle. A Qmax update during learning requires 90% of Qmax to be discharged from the battery. If the current is too high or the taper doesn't get the battery full enough, it can be hard to meet the 90% requirement.
Please follow these steps exactly with a new pack (IT hasn't been enabled yet):
When no close Qmax value is known:
1. Even though accurate capacity is unknown, set Qmax and design capacity to the cell capacity shown in the data sheet. Do not send IT enable command 0021.
2. Send SMB command 46, word 0006 to turn on the FETs.
3. Discharge the pack down to termination voltage at a C/5 rate.
4. Let it relax for 5 hours or more.
5. Send the IT enable command (0021). Bits QEN and VOK in Operation Status are set.
6. Charge pack to full capacity until the taper current is reached and the FC bit is set.
7. Let it relax for 2 hours. Qmax is learned at this point; this can be verified by MaxError changing to 3% and Update Status to 5.
8. Discharge the pack down to terminate voltage at the typical low rate of your application. For laptops, it is usually C/5. The MaxError changes to 1%, and the Update Status changes to 6.
9. Repeat steps 4 and 6 to 8 one more time to verify the gas-gauging accuracy.