SQL is the cornerstone of today’s analytics. It is the preferred way to ask data questions and analytics tools seem to thrive or die by their ability to support it. SQL is even spreading beyond its traditional domain: the quick rise of dbt can be attributed to its ability to run data engineering—a domain of traditional programming languages—using good old SQL. But SQL is not a silver bullet, and you probably already know that.
There is a trove of linguistic research about the interconnectedness of human language and thinking (examples in the domains of color, orientation, time). It is a big idea behind the widely practiced cognitive-behavioral therapy. The most vivid examples might come from popular culture: the alien language in the blockbuster Arrival and Newspeak in the novel 1984 demonstrate how language limits of our ability to perceive the world and what is possible. What if SQL is similarly constraining us in data analysis? What if we have a big blind spot for the types of business questions we can answer using data?
But lots of business concepts aren’t easily defined this way. Consider, for instance, a sales funnel in which prospects move through a series of stages, like “In trial,” “Contract negotiation,” and “Under legal review.” These stages often have an expected order, but not a strict one. Some prospects skip stages, some proceed through them in a different sequence, some stages happen concurrently, and sometimes, if a sale cycle goes sideways, steps get repeated.