Back to articles list Articles Cookbook
5 minutes read

How SQL supports data-driven organization

Typical business users make decisions based on gut feelings, but this can't get them so far. In this article, we'll look at how learning to write basic SQL queries helps your company become a data-driven organization.

Businesses face many decisions. Do we increase our advertising budget in one region or the other? Are certain products selling quickly enough? What we should do if they aren't? Most of these decisions are driven by intuition, but organizations that make the most business impact use data-driven decision-making. To start, let's first look at the types of data that organizations collect and use.

Types of data used by organizations

Organizations have data lying in various data silos. The number and flavor of these silos depend on your organization's area of specialization.

  • Example 1: If you're working for a small web retailer, then your only data source is likely your website's database, with a multitude of spreadsheets that various employees produce to handle their day-to-day work.
  • Example 2: If you're working for a large enterprise company like an insurance company, you will have many heterogeneous data from different departments—accounting, sales, HR, and others. All of this data needs to be centralized.
  • Example 3: Perhaps you're working for a company that is a mixture of these two—one that has classical processes but a strong web presence. Here, your data may or may not be centralized. Decision-makers may opt to implement data-driven processes only in some departments.

Tying the data together

Organizing all this data is a major endeavor that usually results in a centralized data store. Data stores are a repository of the organizational data specifically built for reporting and analytical purposes. They come in two forms: operational data stores and data warehouses. The difference lies in data historization:

  • Operational data stores house unified data of the company at a point in time; data is usually collected in near-real time, and typical users are operational CRM teams.
  • Data warehouses, on the other hand, house data that is historized and collected in batches, during a fixed time slot of the day.

Organizations that are on the path to becoming more data driven tie their data together in a data store. This process is known as data integration.

When looking at data-driven decisions in huge enterprises, a business intelligence maturity model is compared against a benchmark to see where the organization stands in relation to how its current business processes fulfill its desired functions. The more an organization is mature, the more its processes are supporting complex and challenging business goals. Data-driven organization is by definition highly mature. Here's an example of a business intelligence maturity model from Gartner.

If you're low on the maturity scale, don't fret. Small businesses can still make good data-driven decisions. It's not the size of the data that matters—it's how you use it.

How to identify important data

Data with the most relevant business value is naturally the most important data. So If your organization places more emphasis on growth, then marketing data is the most important. On the other hand, if you are highly regulated, then perhaps the most important data is plain old accounting data.

Now that you've identified the sources of data you will use to make informed decisions, what do you do next? You can certainly dump your data into spreadsheets and use various functions there, but this approach is often inefficient and inflexible. A more professional and popular approach is to write SQL queries.

How does SQL help make data-driven decisions?

What would a typical setup look like for your decision analysis if you have one data silo? First, you should identify all the data entities in your relational database (or databases).

Entities in databases are represented with tables, so you need to find the tables that hold the data you need. Here are just a few examples of business data that can be represented as tables in a relational database:

  • Customer information
  • Store locations
  • Website sales
  • Business expenses

By querying this data, you can answer relevant business questions—and perhaps uncover new questions that need answering.

Use of SQL in marketing: a real-world example

Look at a simple example of how to use SQL in marketing. Let's say you're working for a marketing department and need a good metric to calculate the churn of your advertising, audience, and funnel. The information of your churn, when compared with your industry's churn, will guide your decision-making. For example, are you experiencing slowdowns at some stage of the funnel?

First, you need to identify your reach. To calculate reach, some advertising channels will show us exact numbers (e.g., the number of views on YouTube), but some will not. For example, if we are not the owners of the website, we cannot know how many views a certain blog post has. This is where our gut feeling can come in. By using a heuristic—i.e., a rule of thumb—we can define a fixed number to approximate our reach in a certain channel. Let's say our gut feeling tells us that the whole blog channel has a reach of 1000 views per post. We'd define this reach in SQL like so:

SELECT CASE WHEN channel = 'blog' THEN 1000 ELSE reach END modified_reach FROM media_reach;

With a well-defined reach, you can now expand your analysis to answer other question: In what countries do we have the most reach?

SELECT,SUM(CASE WHEN channel = 'blog' THEN 1000 ELSE reach END) sum_modified_reach FROM media_reach JOIN country ON (media_reach.country_id =

Of course, this is just a single example of how SQL can help you answer business questions. SQL is a powerful language with plenty of possibilities. If you don't know SQL yet, it's just about time.

Where to go from here

  • Data stores and business goals
  • Business maturity and maturity models
  • SQL's importance in data-driven decision-making

What do you think? Is data-crunching necessary, or can decision-making be purely analytical? Let me know in the comments!