Backward Inactivity components

When a customer withdraws $10,000 from her account, you might want to determine whether she has made any other withdrawals larger than $5,000 within the past two months. For this, you would use a Backward Inactivity component.

The Backward Inactivity component uses the following primary settings.

Triggering event
This is the event that causes the component to execute its logic. The timestamp of this event is compared with the Blocking event's timestamp to determine whether the time span between the two events is greater than the Time span specified in the component.
Time span
The Time span is used in conjunction with the Blocking event. It sets the period of time prior to the Triggering event that is used as a criterion against which the system compares the timestamp of the Blocking event.
Blocking event
A Blocking event is an event prior to the Triggering event that the system evaluates to determine if the timestamp falls within the specified Time span.

The component functions as follows.

  • The Backward Inactivity component stores the timestamp of the most recent Blocking event.
  • When the Triggering event arrives, the component compares the Blocking event timestamp to the Triggering event timestamp. If the Blocking event timestamp falls before the backward-looking Time span, or if no Blocking event has been received yet, the component fires.
  • If the Blocking event timestamp falls within the backward-looking Time span, the component does not fire.
  • When no Blocking event is specified in the Blocking Event panel, you must choose the Use the firing of this component as a blocking event option described below. The component fires when it receives the Triggering event,

Additional options

In addition, you can use either or both of the following options.

Use the firing of this component as a blocking event
If you select Use the firing of this component as a blocking event, then the timestamp of the most recent firing of this component is saved as the most recent Blocking event timestamp.

For example, suppose you have a trigger system where a component named C_1 sends its event as the triggering event to BI_1, a Backward Inactivity component that uses this option.

When C_1 fires for the first time, BI_1 fires, because BI_1 has never fired before, and its blocking event timestamp has not yet been set. After BI_1 fires, the firing event timestamp of BI_1 is then used as the blocking event timestamp. The next time C_1 fires, BI_1 compares the blocking event timestamp to the timestamp of C_1, and BI_1 fires again if the difference is greater than the Time span set in BI_1.

Use creation date if no blocking event
By default, if the Triggering event occurs, and no Blocking event occurred before the triggering event, the component fires. If you check Use creation date if no blocking event, the component uses its creation date as the start of the time span if the Blocking event did not occur.