multi-tenant structure

Our company is a service bureau with hundreds of clients. Each client will be providing similar categories of data but with distinct definitions. Thus, each client will require their own model flow for transformation (approximately 85% of the data is the same across each client and will be processed the same. The other 15% will be custom per client.) What is the best practice for structuring dbt to support such an environment? We are limited to using the Teams license.

I’m interested in the same topic but using dbt core rather than cloud. There will be enough difference for me that they’re likely to be different repositories and I probably should git each repository (but this would make GitHub a real pain rather than dbt).

Would love to get some best practices.