Have been faced such a situation recently after changing one android phone to another.
In my case that was too easy to understand:
The only reason this to be occured - "just in case" and "as an experiment" (for easy contacts/data exchange in-the-field) I've turned on automatic Google synchronisation (which I never ever used before) in the old phone an then in the new one, and then tried to sync and restore all the stuff from Google.
Thereafter I've met new contacts entries multiplication after each synchronisation via MPE.
First of all I've tried apps from "Duplicate Contacts Removers" family, the best (imho) of which was found
Contact Remover Plus.
Finally, I have
At first (using settings on the phone :: Sony Xperia under Android 5.1.1.):
- Turned OFF any automatic synchronisation in the phone for each account entry separately (Google, Skype, WhatsApp etc) and globally (Settings - Accounts - Auto-sync data = Off).
- Turned OFF any back up and restore of my data to/from Google servers (Settings - Backup & reset - Backup & restore - Back up my data = Off, Off, Off).
Next (using MPE 1.8.7. App on the PC):
- Rechecked all the MPE options tied with synchronization setting them like these:
Next (using MPE client on the phone):
- Rechecked all the MPE client options tied with contact synchronization like these:
Settings - Contact-accounts to sync - Phone
Settings - Add new contacts to - Phone
And finally I've got my contact list with unique entries only and never more duplicates in the phone and MPE (which has the single "Phone" entry in the "Contacts" section of the app, and no more nothing like "All, Google, WhatsApp etc").
p.s. Now when I need my some specific account/app data to be backed up/synchronized I prefer to do it manually from the phone for an every single appropriate entry.
E.g. for Google Keep that I like a lot:
Settings - Accounts - Google - Accounts - (sync icon) my.account.at.gmail.com (tap on name to enter) - Sync Keep (touch to sync)