Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.siftstack.com/llms.txt

Use this file to discover all available pages before exploring further.

After completing this topic, you can create a Family, add members, and configure the alignment that makes cross-Run comparison meaningful.
New to Families? Read the Overview to understand how members, alignments, statistics, and Rules work together before proceeding.

When to use this workflow

Use this workflow when you have a set of related Runs that represent a known-good or representative baseline and want to:
  • Compare new Runs against the historical spread visually in Explore
  • Compute aggregate statistics across the group (mean, standard deviation, min/max)
  • Build Rules that automatically flag when a new Run deviates from the group’s statistical envelope
A Family is the starting point for all of these workflows.

Before you begin

  • You have at least two Runs ingested into Sift.
  • Your Sift account has the Editor role on the organization containing those Runs. See Manage user access.

Complete the workflow

Step 1: Create a Family

  1. On the Sift homepage, click Families.
  2. Click Create Family.

Step 2: Enter basic information

Fill in the following:
  • Family name: A human-readable identifier; for example, Engine 5 Nominal Acceptance Tests.
  • Description (optional): What the Family represents and when to use it.
  • Client key (optional): A unique identifier for use in external systems or APIs. This cannot be changed after it is set.
  • Metadata (optional): Key-value pairs for tagging the Family with additional context, such as vehicle ID, test campaign, or configuration version. Metadata is searchable and filterable.

Step 3: Add members

In the Membership step, search for and add the Runs that represent your baseline. To add Runs individually:
  1. Use the search field to find Runs by name or Asset.
  2. Click + on each Run to include it, or select multiple Runs and use Bulk Actions > Include in Family.
To exclude a Run from analysis while keeping it in the Family for reference:
  1. Select the Run.
  2. Click or use Bulk Actions > Exclude from Family.
  3. Optionally enter a rationale. The Run appears in the Excluded tab and is not counted in aggregate calculations.

Use a candidate query to find members automatically

A candidate query is a CEL expression evaluated against each Run. Runs that match appear in the Candidates tab, where you can bulk include or exclude them.
  1. In the Membership step, click the Candidates tab.
  2. Click Add candidate query.
  3. Enter a CEL expression. For example, to match Runs whose name contains flight for a specific Asset:
    name.contains('flight') && asset_name == 'rover-1'
    
    Click Show CEL documentation in the editor for an inline syntax reference. To start from another Family’s query, click Import from existing Family and select the source Family; Sift populates the editor with that Family’s candidate query expression, which you can then modify.
  4. Click Run Query to preview matching Runs.
  5. Select the Runs and apply Include or Exclude from Bulk Actions.
The query is saved with the Family. Any future Run that matches the query but has not been explicitly included or excluded surfaces as a candidate on the Family overview page. This is the mechanism that keeps a Family current over time without manual checking. See Manage Families.

Step 4: Configure alignments

Alignments define how Runs are time-synchronized for comparison. Without an alignment, each Run’s time axis starts at its own absolute start time, making cross-Run comparison meaningless. Configure at least one alignment:
  • Run Start: T-0 is set to the beginning of each Run. Use this for Runs with a consistent structure.
  • Run End: T-0 is set to the end of each Run.
  • Timestamp: T-0 is a fixed absolute time; use this when all Runs pass through a known moment.
  • Annotation: T-0 is set when a named event occurs in each Run, such as engine ignition or valve opening. Use this when the event of interest happens at different absolute times across Runs.
You can define multiple alignments and switch between them in Explore or when configuring a Rule. Alignment names must be unique within the Family. Annotations (Phase Annotations in this case) are the most powerful method of configuring alignments. An Annotation is simply a time range that’s linked to some data to record observations, findings, or issues discovered during analysis. For example, based on your time series data, you might have a state that says the flight computer is entering startup. You can save that as an Annotation so that whenever you analyze or look at that data, you can see this is when the startup phase is happening. This saves you from having to pull up the flight computer state channel every time. When you choose Annotation and click Change, the Select Default Annotation setting allows you to look for all the annotations that are included across your Runs. You can choose which Annotation should correspond to alignments. For example, with a startup alignment, you want to look for startup Annotations on you Runs, and set those as the alignment timestamps.

Step 5: Save the Family

Click Save. Sift creates the Family and records the initial state in version history.

Verify the result

After saving:
  • The Family appears in the Families tab with a member count and the alignments you configured.
  • Included members are listed under Family Members; excluded Runs appear under Excluded.
  • If you set a candidate query, the Candidates tab shows Runs that currently match.

Next steps