Introducing Causal

An overview of the product

Causal is an alternative to stitching together half a dozen tools. It replaces them all with a single, elegant system that’s built for every part of a product team: product managers, analysts, developers, DevOps, data scientists, and site reliability engineers (SREs). At its core, Causal provides a data definition language to define features, together with the tools every member of the product team needs to build, deploy, measure, maintain, and optimize these features over their entire lifecycle, from creation to deprecation.

Causal’s tools enable teams to:

  • Gather accurate data from features and store it in tables that are automatically kept up-to-date, saving time spent writing ETLs, verifying data, and updating schemas
  • Separate deploying features from displaying them to customers, allowing engineers to build more quickly and deploy with less risk
  • Configure features without writing any code, giving product, marketing, and DevOps teams the freedom to make critical updates to the site
  • Run experiments quickly, reducing the time from idea to customer value
  • Streamline machine learning model training and deployment, letting the data science team focus on model development
  • Retire features and manage technical debt, improving the overall quality of the codebase

The first step is defining the following three elements of a new feature:

  • What attributes are configurable without deploying code (e.g., the copy, the layout, or the algorithm for selecting items in a list)
  • What data to record for each impression (e.g., the user’s profile, information about the page it’s displayed on, and the items displayed in a list)
  • What events to listen for and record post-impression (e.g., clicks, shopping cart adds, and purchases)

a sample feature definition

Once a feature is defined, Causal:

  • Creates the tables needed to store the impression and event data for the feature and generates the ETLs necessary to populate these tables
  • Produces a custom, strongly typed API for engineers to use when logging impression and event data and requesting values for the feature
  • Sends feature information to Causal’s web tools, allowing teams to understand and manage features

Using Causal’s web tools, teams can:

  • Turn features off and on, or ramp traffic to them up or down
  • Set the values for each attribute of a feature
  • Assemble features into experiments
  • Deploy machine learning models to control features
  • Flag features that can be removed from the code

How Companies Use Causal

Causal tools, taken together, enable companies to manage features throughout their lifecycle. They are flexible and powerful enough to address a wide range of use cases:

  • Feature flagging
  • In-depth product analytics
  • Experimentation
  • Model training and deployment
  • Managing technical debt
Teams can use as much or as little of this system as they need, and it integrates well with other tools that manage features. If all a team needs from Causal is clean, high-quality data from a specific piece of their product or a team only wants feature flags, Causal works for that. If a team needs an end-to-end system for managing features from creation to deprecation, Causal works for that, too.