Check for a Missing Event with Negation

Negation finds a required set of actions, in any order, followed by the absence of another action.

3 min readProduct documentationzinzu Any-Order Behavior User Guide

Example: Find applications where Identity Verified and Consent Received occurred, with no Application Cancelled afterward.

Build the Query

  1. Add Identity Verified, Consent Received, and Application Cancelled to the event basket.
  2. Turn on Is Negation for Application Cancelled.
  3. Leave Is Negation off for the two required events.
  4. Add any system filters needed for the required set.
Illustration: Any-Order query with Application Cancelled marked as Is Negation.

How It Works

zinzu first collects the required positive events for the same EventOwner, regardless of their order. Unrelated activity between them is skipped.

Once every required occurrence matches and the system filters pass, zinzu starts checking each subsequent record for the negated event.

Checking continues until one of these happens:

What happensResult
The negated event appearsINCOMPLETE
The EventOwner’s records end within the selected query date range, without the negated eventCOMPLETED
The sequence record limit is reached, without the negated eventCOMPLETED_LIMIT_REACHED

Unrelated records do not invalidate the sequence, but they still count toward the sequence record limit. This limit counts records from the start of the sequence; it does not restart when negation checking begins.

Examples

For the query above:

Records in chronological orderOutcome
Identity Verified → other activity → Consent Received → other activity → end of dataCOMPLETED
Consent Received → Identity Verified → Application CancelledINCOMPLETE when cancellation appears
Identity Verified → Consent Received → unrelated records until the sequence limitCOMPLETED_LIMIT_REACHED
Application Cancelled → Identity Verified → Consent Received → end of dataCOMPLETED; cancellation occurred before negation checking started
Identity Verified → end of dataINCOMPLETE; Consent Received never matched

If the required set qualifies on the EventOwner’s final record, the sequence can complete without any additional records.

When to Use It

Application checksFind applications with Identity Verified and Consent Received, followed by no Application Cancelled in the remaining observation period.

Operational checksFind orders with Inventory Checked and Payment Authorized, followed by no Order Cancelled in the remaining observation period.

Illustration: Authorized orders without cancellation.

Important Notes

  • Only one event can have Is Negation enabled. At least one positive event is required.
  • Negation checks records after the required set qualifies. Earlier occurrences of the negated event do not invalidate that set.
  • There is no separate waiting duration for negation. Observation ends at the EventOwner’s selected data boundary or the sequence record limit.
  • Duration Length constrains the required positive set; it does not limit how long negation is observed.
  • A completed result confirms absence only within the records examined. COMPLETED_LIMIT_REACHED means later records were not checked for that sequence.
Continue readingSubmit the query
Search documentation · Esc to close
Open original image ↗