Signal

Datablit Signals are aggregation(eg. count, sum, avg etc) metrics. Signals are computed over a grouping id called entity id eg. flight_id. device_id, user_id

Eg. No of user orders in last 24hrs

Following basic terminologies will help you to create and understand signals.

Signal key

It's unique lowercase string that you can define to use as signal key. We recommed to use shorter length to save memory. You can refer this in rule. eg. orders_24h

Entity ID

It's grouping key on which signal aggregtion happens. eg. user_id, flight_id

Aggregation window

An aggregation window defines the time period over which signals are grouped. For example: if you want to count the number of orders in the last 24 hours, the aggregation window is 24 hours.

Freshness

It represents the maximum time difference between an event’s occurrence and signal computation — a measure of how up-to-date your signal is relative to when it was generated. Example: A user opens an app at 8:30, 8:40, 9:00, 9:10, 9:30, etc. If you want to compute the total number of sessions in the last hour and evaluate this every hour (at 8:00, 9:00, etc.), the signal’s freshness would be 1 hour. This means the computed session count will be 1 hour.

In short, the aggregation window is about grouping and freshness is about delay.

Signal Types

Based on aggregation window and freshness requirements, you can choose how you want to create a signal.

**Real time for high freshness(< 1 minute) and upto 24 hours aggregation window ** - These are ideal for scenarios requiring immediate data updates, making it a solid option for business to personalise at scale and take immediate action. Example: Number of sessions in the last hour

Batch processing works best when you need in depth analysis at set intervals - As the name suggests, used to process data in batches. If you need to aggregate a large number of data points over longer periods and can tolerate a few hours of freshness. Example: Number of orders in the last 1 year with 12-hour freshness

Comparison of Signal Types

Signal TypeAggregation WindowFreshnessComputationExample Use Case
Realtime SignalShort (e.g., 1 hour)High (< 1 minute)For each eventNumber of sessions in the last hour
Batch SignalLong (e.g., 1 years)Lower (few hours)After specific duration (e.g., every 6 hours)Number of orders in the last 1 years (12-hour freshness)

Realtime Aggregation Types

It refers to how data points or events are grouped. Realtime signals support two types of aggregation:

  • Count: The number of times an event occurs
  • Sum: Sum a specific field name from events
Aggregation TypeSignal
SUMtotal_order_amount
STATICplan_type
COUNTno._of_order

Signal Examples

SignalEntity idSignal typeAggregation windowFreshness
Number of user orders in last 24hrsuser_idRealtime24 hoursHigh(< 1 minute)
Number of flight booked in last 4hrsflight_idRealtime4 hoursHigh(< 1 minute)
Total user order amount in last 30 daysuser_idBatch30 daysLow(>= 1 hour)