What level of abstraction from source do you work at?

Hoping to get some feedback on this, as I’m feeling a bit stuck.

We have customers. It’s a business domain, and clearly a hub. Salesforce holds customers in two tables - contact and account. We can bring in the primary key from both into hub_customer and have a SAT for each with the relevant fields. Note: not all fields or records from these tables are relevant, as the account table for instance also includes team members, stores etc. etc. So not all rows are customer related, and neither are all columns. Painful, but it is what it is. We can then have a SAL that relates our account ids to our customer ids, and this can hang off the hub.

Now the complexity. We have applicants. Applicants are customers at the point in time that they have an application. Additional attributes that are ‘point in time’ are associated with the applicants. Their assets, liabilities, current job etc.

Applicants are held in the applicant table, assets in the applicant_assets table etc.

From a Data Vault perspective, would you have a hub for applicants, or would you take the applicant id and add it to the customer hub? Would you have an assets hub with a sat_assets, or would you also hang sat_assets off the customer hub? I’m feeling like the latter is the wrong way to do it, but a customer asset isn’t something we talk about at a business domain level.

Keen to get your collective thoughts here.

It seems the definition of Applicant is different to customer — should be a different hub after confirming the business glossary definition with the business