New in Signals: ML training datasets
Build labeled training tables directly from the attribute groups you've already defined in Signals, with no separate modeling layer to maintain.
Training a behavioral model usually means rebuilding your attribute definitions a second time against historical data. That second copy is where training-serving skew creeps in, a common reason a model can test well and then underperform once it’s live.
The Signals dataset builder removes that second copy. Snowplow Signals released a new capability in the Python SDK that builds a labeled training table directly from an attribute group you've already defined. Describe the outcome you want to predict, and Signals will either run the queries for you or hand you the generated SQL to inspect, version, and run yourself. Either way, the dataset lands in your own warehouse schema, and a preview comes back to the SDK as a pandas DataFrame, so you can start training without leaving your notebook.
How it works
Define a goal with the dataset builder SDK, such as a completed purchase, and it finds the sessions where that goal occurred and places a labeled anchor at that event. It then recomputes point-in-time accurate attributes from everything that happened before the labeled anchor. Alternatively you can supply your own table of labeled anchors and have the dataset builder focus on ensuring the recomputation of the attributes is accurate..
One definition, not two
The attribute group you already use to serve live features is the same definition the dataset builder replays over history, so the values you train on match what your application serves in production. There's nothing in between to keep in sync when a definition changes.
Signals defines goals with the same grammar it uses for attributes, so the dataset builder auto-generates the labeled rows from what you’ve already defined. Each attribute is computed only from events before the moment you're predicting from, so nothing that happens afterward can leak into training.
Use cases to start with
The dataset builder is built for propensity models that predict what a user is about to do from their behavior in the current session, purchase intent, trial conversion, churn, next-best action. These models act on behavior while it's still unfolding, which is also what makes them hard to get right. The inputs are live, fast-changing attributes rather than static warehouse columns, so any gap between training and serving shows up at the exact moment you’re trying to act. If most of what your model reads is behavior rather than data that updates once a day, this is where the dataset builder has the most to offer.
- Session purchase propensity. Score intent to buy while a visitor is still browsing, and act on it in the same session.
- Trial-to-paid conversion. Predict which trial accounts are likely to upgrade, based on feature activation, breadth of product used, and teammate invites.
- Booking or inquiry intent. Identify high-intent visitors on travel and marketplace sites from search refinement and listing behavior.
- Registration or paywall timing. Choose the moment to prompt someone, based on what they've already consumed.
- Content next-action propensity. Predict the next play, save, or share from a sequence of prior interactions.
How to get started
For current customers, the dataset builder ships inside the existing snowplow-signals Python SDK. Get access by upgrading to the SDK. The docs cover the full workflow: defining anchors, every parameter the builder takes, checking on a run, and the tables it writes. There’s also a worked example notebook that runs the whole thing in Colab.
For new customers, the Snowplow free trial gives you a live environment with the full product for 14 days. No credit card required. You can use the trial to stand up a pipeline, send your first events, and try Signals in Console.