I got to know that the Sitecore Segmentation list is useful for this task. If your experience analytics is all set with proper configurations then it will track which contact has hit which profile card pages.
You can go to the segmentation lists and apply the rule to match the pattern card for the contacts and then that will give you the filtered list as per ...
When website user is anonymous his data is stored in session and appears in xDb only when session is ended.
You can force flush contact with his session in xDb by:
var manager = Factory.CreateObject("tracking/contactManager", true) as ContactManager;
This is not from a configuration standpoint.
Before Sitecore 9.2 it was not easy to remove old data that isn’t
relevant anymore. (Unless you are using a 3rd party integration)
A new API has been made available to maintain and purge data withing
xDB. This can help to reduce the size of the xDB database and gives
you more control on what data you want to keep....