The Ultimate Guide to Data Modeling
Learn why data modeling underpins everything you do in your business and is essential for driving business outcomes.
Craig Dennis
July 9, 2024
|14 minutes
![data modeling graph.](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fpwmfmi47%2Fproduction%2F0d3cf3d5b1dec6763a9c8ce6a5d11592e0304b73-2000x1046.jpg%3Fw%3D2000&w=3840&q=75&dpl=dpl_BmRX3CJk4r3UUZXNz1pu3sWXKKaM)
If your pantry is anything like mine, then you probably have a whole bunch of cans, spices, and ingredients scattered about without any logical organization–and your fridge is probably the same way: mystery containers of food, expired items, etc.
Data is the same way. Unless it’s been carefully curated, stored, labeled, and organized, it’s an unusable mess. This is the exact reason why companies spend so much time on data modeling. It’s the single most important process in the entire data lifecycle.
This article, you’ll learn:
- What is data modeling?
- Why is data modeling important?
- How does data modeling work?
- Important concepts in data modeling
- Three types of data models
- Data model examples for boosting business value
- Data modeling use cases
- Data modeling tools
What is Data Modeling?
Data modeling is the process of transforming raw data into actionable insights and conceptualizing the logical hierarchy and relationships of your data in a way that is specific to your business to create custom entities like households, subscriptions, purchases, etc. Data modeling helps define the relationships between your data so you can understand how it relates back to custom entities that you define.
Data modeling transforms your raw data by merging and joining tables, correcting formatting problems, and standardizing and validating data to ensure high data quality so you can power analytical or operational use cases throughout your business.
How Does Data Modeling Work
You can best understand data modeling by breaking it down into four stages. Each can be seen as a different layer, built up from the previous, to aid in structuring your data within the data warehouse. Keeping these layers separate helps you have more control over your data flow and more easily manage your data and scale layers when needed.
- In the source layer, raw data is ingested into the data warehouse to create a centralized location for your business data. This creates a great base for building a single source of truth in your organization and making your data more accessible.
- In the staging layer, you perform light transformations like filtering, validation, or normalizing your raw data. Keeping this layer separate reduces distractions when modeling and helps you ensure you have high data quality to model from.
- In the modeling layer, you create models based on the business logic required to power your use cases and answer important questions. This is where you transform and merge data and tables to create the data models you need to power your use cases, which can be reused throughout your company. Without these models, you’d constantly have to manipulate your data each time you need it.
- In the presentation layer, you put your data models to work and produce the needed business outcomes. This can involve creating dashboards or reporting for analytics to clearly understand the performance of certain areas within your business, using the insights to create new audiences, or sending data into downstream tools through data activation. This is where you turn insights into action and create tangible results from your data models.
Ultimately, there's no perfect data modeling technique. Data modeling strictly depends on your team size, data infrastructure, data volume, and the KPIs you want to drive. The data models you decide to build will be directly linked to the challenges your business is trying to solve and the underlying data stored in your warehouse.
Why is Data Modeling Important?
Data modeling is critical if you’ve invested in your data infrastructure. Without it, you essentially have piles of data you’d have to sift through to get any value. There are three main reasons why data modeling is so important to your business.
- Deeper Understanding: Data modeling makes your raw data more accessible, usable, and understandable, allowing you to utilize it in different departments throughout your business. Your data models can help power reporting and dashboards, uncovering insights that would otherwise be buried.
- Standard Definitions: Without data modeling, defining your company logic may not be consistent. If someone has to calculate a definition from scratch every time, there can be slight differences, which can vary results. Data modeling allows you to create a standard definition for terms within your business so you can be confident the same results are produced every time.
- Improve Efficiency: Because data modeling introduces structure to your data, it removes any redundant or duplicate data, resulting in faster and more efficient queries.
Important Concepts in Data Modeling
There are a lot of important terms and concepts in data modeling, and understanding these terms is the key to building great models. Here are the most important concepts to keep in mind:
- Entity-Relationship Diagram (ERD): A visual tool used to represent entities and their relationships within a database, illustrating how data is structured and interconnected.
- Schema: The blueprint that defines the data organization within database tables, including fields, relationships, views, and indexes, guiding how data is stored and accessed.
- Tables: Collections of related data entries in a database, consisting of rows (records) and columns (attributes), which form the fundamental structure for data storage.
- Entities: Objects or concepts that store data within a database, each representing a distinct set of attributes or properties.
- Primary key: A unique identifier for each record in a database table, ensuring that each entry can be uniquely distinguished.
- Related Models: Describe the relationships between entities within a database, which can be one-to-one, one-to-many, or many-to-many, impacting data retrieval and integrity.
- Normalization: A database design process to reduce redundancy and dependency by organizing fields and table relationships, ensuring efficient data storage.
- Denormalization: Combining normalized tables into larger tables to improve database read performance, often at the cost of some redundancy.
- DAGs: A structure used to represent tasks in a workflow, where nodes represent tasks and directed edges define dependencies, ensuring tasks are executed in the correct order without cycles.
The Three Types of Data Modeling
There are three types of data models, each with a different level of abstraction, which makes them suitable for different purposes and for different people to view them.
- Conceptual modeling is a high-level model that shows what the tables contain. Typically, they are created by business stakeholders or data architects so they can scope and define business logic. It's a form of modeling that avoids going into technical details.
- Logical modeling builds on the conceptual model by detailing the specific attributes, keys, and relationships between entities. Typically, it’s created by data architects and business analysts and helps develop a technical map and data structures of business logic.
- Physical modeling translates the logical model into a database schema, specifying tables, columns, data types, and constraints. This is the model that will be used in implementation. A database administrator (DBA) or developer would typically create this model.
Real-Life Data Model Examples
Data models are the underlying foundation for boosting business value from your data. Certain data models are essential to give you insights into how to power your use cases. You can split them into two types: core entity models and analytical models.
Core Entity Models
Core entity models represent the primary entities, objects, and data points unique to your business and are essential for driving day-to-day operations. Due to differing datasets and use cases, these models can vary significantly from one business to another. For example, a B2B company might focus on entity models related to client accounts, contracts, and service agreements, whereas a D2C company would prioritize entity models concerning individual customers, online transactions, and product inventories.
Some examples of these core entity models are:
- Users represent individuals who interact with your business. User models can contain customer behavioral data like total logins, purchases, and preferences. They can help create a single user profile to personalize campaigns and understand behavior holistically.
- Accounts represent the financial or organizational records associated with a user or business entity. Account models can contain the number of users within the accounts, contract length, subscription, and the sales rep that owns the account. They can help to understand an account’s health and where there might be opportunities to expand usage.
- Households represent a group of users that live together in the same house. Household models can contain individual IDs, device IDs, household income, and collective preferences. They can help you see what products a household member has purchased so you can withdraw marketing the same products to others in the same household.
- Products represent the products, features, or services you offer your customers. Product models can contain categories, prices, inventory status, and sales history. They can help you understand your best-selling products based on region so you can keep the right inventory level.
- Subscriptions represent your customers' recurring revenue streams. Subscription models can include subscription start and end dates, renewal rates, subscription tier, billing cycle, and status (active, canceled, or paused). They can help you forecast revenue, identify at-risk subscribers, and plan upsell opportunities.
Analytical Models
Analytical models help aggregate, analyze, and derive insights from your data. These models provide a high-level view of your business, allowing you to get a pulse check on overall performance or the performance of specific departments. Analytical models are often more complex and can contain computed values. For example, a B2B company might use analytical models to analyze client engagement, sales pipelines, and contract renewals, whereas a D2C company might focus on analytical models related to online sales, customer retention, and marketing campaign effectiveness.
Some examples of analytics models are:
- Customer lifetime value estimates the total revenue you can expect from a customer throughout their lifetime. It can help you understand how much you can afford to acquire users, and you can use it to create lookalike audiences where you can target customers with the same characteristics as high-value customers.
- Churn prediction identifies customers likely to stop using your product or service. Knowing who these customers are means you can deploy strategies to retain them. For example, you could segment customers with a high chance of churning and launch marketing campaigns educating them on the value of your product to retain them.
- Prosperity scores assess the likelihood of a customer performing a specific action, such as making a purchase or responding to a marketing campaign. They use historical data and predictive analytics to understand what product offers a customer will most likely convert next. You can use a prosperity score to personalize your campaigns with products that customers are most interested in to help increase conversions.
- Customer acquisition cost (CAC) calculates the total cost of acquiring a new customer. Knowing this figure lets you calculate your advertising budget and how much you can spend. Understanding this at a campaign level means you can stop underperforming campaigns to reduce ad spend.
Data Modeling Use Cases
Data modeling is one of the most important components of your business, as it unlocks your use cases. Here are some of the biggest use cases data modeling can enable for companies
- Analytics helps you find insights and opportunities to improve parts of your business or identify areas that are performing well and should be expanded. Using Business Intelligence (BI) tools and dashboards, you can visualize these insights clearly, making it easier to understand and communicate findings across your business. Because it allows you to reuse data models, you can be confident that any analysis performed will produce the same outcomes. Analytics can help you model data on your customer behavior to identify customers who have added an item to a cart but abandoned it and send them an email to entice them to complete the purchase.
- AI/ML both help to automate repetitive tasks that can waste valuable time and identify patterns in your data to predict future outcomes or behaviors. However, the effectiveness of both AI and ML depends on the quality and organization of your data. A strong data foundation is crucial because AI and ML are only as good as the data they’re trained on. By properly modeling and maintaining your important data, these technologies can access the accurate and relevant information they need to make informed decisions. For instance, with a solid data foundation, AI can help a chatbot respond to customer queries faster than a human, and ML can help identify fraudulent activity on accounts by analyzing data based on customers and their financial history.
- Data Activation is all about turning your data into actionable insights. It involves taking the data within your data warehouse and sending it into your downstream tools so you can act on the insights revealed by your analytics. These insights, made visible through data modeling, transform raw data into a usable and accessible format. For example, by modeling your customer data to understand their behavior and preferences, you can segment them and personalize your emails with relevant content. This drives meaningful actions that enhance customer engagement and business outcomes.
Data Modeling Tools
When it comes to data modeling, many tools are available today that can help simplify and streamline the process. Here are some of the most common ones that data engineers and analytics engineers tend to rely on:
- dbt stands for Data Build Tool and is a SQL-first data transformation and modeling tool that allows you to transform data within your warehouse using SQL and Python. They pioneered the concept of data transformations in the warehouse, moving away from ETL (Extract, Transform, Load) to ELT (Extract, Load, Transform). The platform lets you write modular SQL queries, manage business logic, and orchestrate data workflows so you can repeatedly use your created models. dbt offers a code-centric approach, enabling your data models to be version-controlled, well-documented, and thoroughly tested to give you confidence in your data and its quality.
- AWS Glue is a fully managed, serverless ETL (Extract, Transform, Load) service provided by Amazon Web Services that helps you model your data and automate ETL's other steps. The platform provides a data catalog that assists you in discovering data to create your models, as well as a feature called Glue Crawlers, which infers schema and creates metadata tables in the Glue Data Catalog. AWS Glue is great at handling complex transformations by providing over 250 built-in templates that don't require you to write any code.
- Dataform is a data transformation tool specifically designed for Google Cloud Platform (GCP) and provides an environment for building, testing, and deploying SQL-based data transformation workflows within BigQuery. One of the features is an interactive compiled graph with a clear overview of data dependencies to help you better understand and manage your data models. Dataform offers version control and collaboration so you have well-documented and maintained data models and an easier way for your team to build compiled data models. You can also build your data models using SQLX files that allow for Javascript to be embedded into the SQL for more dynamic and flexible data transformations.
Conclusion
Data modeling is one of the most important tasks you should focus on in your business. It’s the one thing that you tie back to the use cases throughout your business. Without it, you’ll blindly make decisions you have no idea will turn out positive.
Once you’ve created your data models, you can’t let them die in your data warehouse. You need to get value out of them by using them to power your use cases. You can easily do this through a Composable CDP that has helped sync your data into your downstream tools. If you want to know more about how Hightouch can help, book a demo with one of our solutions engineers.