data & analytics · modeling

"Active member" should mean the same thing in every report you publish.

When finance and operations bring different customer counts to the same meeting, the problem is usually the model. We design dimensional models, with Data Vault 2.0 where history matters. Semantic layers then define each metric once, inside tools your team already licenses.

platforms
data-analytics / data-modeling 5 platforms
01 · SOURCES 02 · INTEGRATION LAYER 03 · PRESENTATION LAYER 04 · SEMANTIC LAYER CRM: accounts · contacts CRM accounts · contacts CIAM and ERP: logins · customers · invoices CIAM and ERP logins · customers ·invoices Data Vault 2.0: hubs · links · satellites Data Vault 2.0 hubs · links ·satellites Conformed keys: one person · one key Conformed keys one person · one key Dimensional model: facts at a grain · SCD dimensions Dimensional model facts at a grain · SCDdimensions Metric definitions: dbt · semantic views · Power BI Metric definitions dbt · semantic views ·Power BI Reports and AI tools: dashboards · natural-language queries Reports and AI tools dashboards ·natural-languagequeries
SnowflakeDatabricksdbtMicrosoft Fabric
in short·15-second read

Data modeling defines how data is structured so it can be stored, joined and analyzed consistently.

Cohash designs conceptual, logical and physical models for Snowflake, Databricks and Microsoft Fabric. We build dimensional star schemas for reporting, Data Vault 2.0 for auditable history across many sources, and semantic layers that define metrics once. We work in erwin, ER/Studio, SqlDBM or dbt.

you probably need this if
  • "Active member" or "customer" means something different in each team's report.
  • Every new report needs a custom join because there are no conformed dimensions.
  • Source systems change often and you need history that holds up in an audit.
Ask an engineer facts checked 2026-10-20 · 2 sources
how it runs
  1. 01Discover
  2. 02Model
  3. 03Implement
  4. 04Maintain
you keep
  • Conceptual and logical data models
  • Physical models in your modeling tool and in code
  • Metric and dimension definitions for the semantic layer
+ 2 more documents
who does it
Data modeler (dimensional, Data Vault)Analytics engineer (dbt)Data architect dbt Analytics Engineering Certification
platforms
the story · data modeling

From the first call to a setup your own team can run.

Here's what usually prompts a call about your Data Modeling, what we do about it and in which order, and where you end up.

  1. chapter 01 · where it hurts

    Why teams reach out

    • "Active member" or "customer" means something different in each team's report.
    • Every new report needs a custom join because there are no conformed dimensions.
    • Source systems change often and you need history that holds up in an audit.
  2. chapter 02 · what we change

    How we solve it

    • Conceptual and logical models
    • Dimensional modeling
    • Data Vault 2.0
    • Semantic layers
    • Modeling tools
    • CRM and identity entities
  3. chapter 03 · how it runs

    Our approach

    • Discover
    • Model
    • Implement
    • Maintain
  4. chapter 04 · where you end up

    What changes

    • Analysts query star schemas with a handful of joins now.
    • Ask finance and sales how many customers there are and you get one answer, from a definition with an owner.
    • Conceptual and logical data models
    • Physical models in your modeling tool and in code
what we do

Where we spend the hours

6 areas of work, each one done by an engineer who has run it in production.

  1. Before anyone writes a table, we agree the business entities and relationships with domain owners. That way the model reflects how the business actually talks.

  2. Star schemas with conformed dimensions, slowly changing dimension handling and fact tables at a declared grain.

  3. Hubs, links and satellites bring many sources together with full history. We only add that layer where auditability or frequent source changes make it worth it.

  4. Metrics and dimensions defined once in dbt's semantic layer, Snowflake semantic views or Power BI semantic models, then reused by reports and AI tools.

  5. Models maintained in erwin Data Modeler, ER/Studio or SqlDBM, with forward and reverse engineering to the target platform.

  6. We reconcile customer, account, member and user entities across CRM, CIAM and ERP. Otherwise one person ends up with several keys.

capability 01 / 06in production

Conceptual and logical models

Before anyone writes a table, we agree the business entities and relationships with domain owners. That way the model reflects how the business actually talks.

capability 02 / 06in production

Dimensional modeling

Star schemas with conformed dimensions, slowly changing dimension handling and fact tables at a declared grain.

capability 03 / 06in production

Data Vault 2.0

Hubs, links and satellites bring many sources together with full history. We only add that layer where auditability or frequent source changes make it worth it.

capability 04 / 06in production

Semantic layers

Metrics and dimensions defined once in dbt's semantic layer, Snowflake semantic views or Power BI semantic models, then reused by reports and AI tools.

capability 05 / 06in production

Modeling tools

Models maintained in erwin Data Modeler, ER/Studio or SqlDBM, with forward and reverse engineering to the target platform.

capability 06 / 06in production

CRM and identity entities

We reconcile customer, account, member and user entities across CRM, CIAM and ERP. Otherwise one person ends up with several keys.

typical situations

Situations we walk into

We pieced these together from Data Modeling situations that come up a lot. They're patterns. You won't find a specific client in them.

case file 01

A Data Vault that only its builder can query

composite · not a client story
  1. Beforethe situation

    An earlier team built a Data Vault 2.0 layer of hundreds of hubs, links and satellites on Snowflake. It loads reliably, but analysts query it directly, each report needs a dozen joins, and point-in-time logic is copied from report to report.

  2. What we dothe work

    We keep the vault as the integration layer and add point-in-time and bridge tables where queries need them. Dimensional marts go on top for the main subject areas, with conformed customer and product dimensions, and analyst access moves to the marts.

  3. Afterwhere you end up

    Analysts query star schemas with a handful of joins now. The vault still holds history and the audit trail. Point-in-time logic lives in one place.

case file 02

Salesforce accounts that are sometimes people and sometimes companies

composite · not a client story
  1. Beforethe situation

    The CRM holds Person Accounts for individuals and business accounts for employers, and some records have been converted from one to the other. Finance and sales report different customer counts, because each team has quietly decided for itself what a customer is.

  2. What we dothe work

    First comes a conceptual model the business signs, which separates party, relationship and role. The logical model treats Person Accounts and business accounts as subtypes of one party. Then a customer dimension with tracked history, and one definition of 'active customer' in the semantic layer.

  3. Afterwhere you end up

    Ask finance and sales how many customers there are and you get one answer, from a definition with an owner. Converting a record between account types doesn't double-count it anymore.

case studies

Data Modeling case studies

All case studies
architecture

How source data becomes a model with metrics defined once

Source tables are integrated with full history in a Data Vault where auditability matters, then shaped into star schemas with conformed dimensions. A semantic layer defines each metric once for every report and AI tool.

How source data becomes a model with metrics defined once Source tables are integrated with full history in a Data Vault where auditability matters, then shaped into star schemas with conformed dimensions. A semantic layer defines each metric once for every report and AI tool. 01 · SOURCES 02 · INTEGRATION LAYER 03 · PRESENTATION LAYER 04 · SEMANTIC LAYER load with history load with history business keys derive direct load measures and dimensions one metric definition Sf CRM accounts · contacts CIAM and ERP logins · customers ·invoices Data Vault 2.0 hubs · links · satellites Conformed keys one person · one key dbt Dimensional model facts at a grain ·SCD dimensions Metric definitions dbt · semantic views ·Power BI Reports and AI tools dashboards ·natural-language queries
Read the diagram as text
  1. CRM → Data Vault 2.0: load with history
  2. CIAM and ERP → Data Vault 2.0: load with history
  3. Conformed keys → Data Vault 2.0: business keys
  4. Data Vault 2.0 → Dimensional model: derive
  5. CRM → Dimensional model: direct load
  6. Dimensional model → Metric definitions: measures and dimensions
  7. Metric definitions → Reports and AI tools: one metric definition
how it runs

A typical engagement

We don't start a step until the last one has produced something you can check.

  1. step 01

    Discover

    Source structures get profiled. Business definitions come from the people who actually use the data.

  2. step 02

    Model

    Conceptual, logical and physical models drafted and reviewed with domain owners.

  3. step 03

    Implement

    Physical models built in dbt or DDL, loaded with real data and checked against known totals.

  4. step 04

    Maintain

    Model change process, naming standards and documentation handed to your team.

you keep

What you're left with

We write these for your Data Modeling setup, and they're working documents. Your team should be able to keep things running from them long after we've gone.

  • design01

    Conceptual and logical data models

    yours to keep
  • design02

    Physical models in your modeling tool and in code

    yours to keep
  • document03

    Metric and dimension definitions for the semantic layer

    yours to keep
  • design04

    Naming and modeling standards

    yours to keep
  • design05

    Model change and review process

    yours to keep
talent and delivery · data modeling

Certified engineers, wherever you need them.

Some clients want a project team, some want a couple of engineers on theirs. Either works. Onsite, nearshore or offshore, with handovers across time zones that keep things moving.

Onsite

Engineers at your sites in the US

Nearshore

Overlapping hours with US teams

Offshore

Overnight progress on your backlog

All time zones

Coverage handed over across time zones

24-hour coverage · US Central time
OnsiteUS business hours
Nearshoreoverlapping US hours
Offshoreovernight progress
Combinedhandover, not hand-off
certifications our engineers hold
roles we staff
  • Data modeler (dimensional, Data Vault)
  • Analytics engineer (dbt)
  • Data architect
  • Semantic model developer
  • Data quality analyst
01Dimensional model or Data Vault 2.0?

Dimensional models are simpler to query and suit most reporting. Data Vault 2.0 adds a layer that handles many changing sources and full history well, at the cost of more tables. Many platforms use Data Vault for integration and dimensional marts for reporting. We recommend based on source count, change rate and audit needs.

02Do we need a separate semantic layer?

If more than one tool or team calculates the same metrics, yes. Snowflake semantic views, dbt's semantic layer and Power BI semantic models each work. Pick by where most queries come from.

03Which modeling tool should we use?

Usually the one you already license. erwin and ER/Studio are common in larger enterprises with established data architecture teams. SqlDBM is browser-based and popular with cloud data teams. We work in all three.

04Can you model data from Salesforce or Facets?

Yes, and often. CRM and payer data come up a lot, especially the account, contact, member and provider entities that get duplicated across systems.

05Can you fix our existing model instead of starting over?

Usually, yes. We look at which tables are actually queried, where joins are slow and where definitions disagree, then refactor the parts causing trouble. A full redesign is rarely worth the disruption to reports that already work.

related

Often paired with

Projects on Data Modeling usually end up touching one of these, so they're worth a look.

sources 2 sources linked last checked 2026-10-20 content fingerprint be007709
  1. 01Snowflake: Summit 2025 announcements, semantic views generally availabledocs.snowflake.com ↗
  2. 02dbt Developer Hub: Model contractsdocs.getdbt.com ↗
Reviewed by the Cohash team Product names are trademarks of their owners. how we handle facts and data →
next step

Tell us what you're running. We'll tell you what we'd do first.

A 30-minute working session with a senior engineer. No slides.

useful to bring
  • The platform and the version you're on
  • Where you need to get to, and by when
  • What's custom: rules, plugins, integrations
  • Any audit finding or deadline driving it