This is more a theoretical question. Assuming that we have a CRM that is the source of truth for the user base, so the users aren't in the Sitecore user manager/core database and any sign-up data goes to the CRM. If we want to see analytics at the individual level, with the profile and all, does that involve extra calls to xDB, or pretty much the same calls as always? That is, when it comes to analytics, is the core db a factor in any way with the user base, or is it a matter of creating a contact card, etc, to do that profile tracking?
When the user logs in, you would make a call to CRM and fill the contact facets with the CRM data. You would also send any information you need to send back to the CRM. You would need to make sure you add an identifier to the contact that matches something in CRM. We have 4 identifiers for our users. 1 for email and 3 for the 3 external systems.
Then on a regular schedule, you would regather the data from CRM and update the contact facet. Once a day, once an hour, etc...
The regular schedule is up to you on how to do. We use DEF and call a .NetCore app that makes xConnect calls to update the contacts.