Concepts

Technical concept

Computed fields are defined in the schema at the UserPoint level.

The plugin behind it performs computations on a regular basis of a function's result, based on the user activities and profile updates.

Definitions

Computed Field

A computed field is an instance of a Datamart function applied within a specific context. To use it, it must be declared in your schema.

Computed Field Function

A Computed Field Function is a plugin of type COMPUTED_FIELD_FUNCTION, which can be created via the API following the standard process or through the computing console interface.

Notions

A computed field is defined by these elements:

  1. State: The data stored to build the result. It is the history. Each new activity updates the State.

    → the state is closely related to the Lookback Window - i.e. the historical depth of events to be analyzed.

  2. Logic: The logic can be very simple (like a formula, a sum, a count…) or more complex (like a logical operation).

  3. Result: The data calculated and stored. It contains the score(s) to be used.

    The result can be either a single variable or an object, depending on the complexity of the computation. It is computed from the State

Other interesting concepts to take into consideration:

  • Input Data: Either new userActivities, either userProfile update, either both.

  • Period Update: The regularity of updates (every x days - by default x=1).

Lifecycle

  1. INITIAL – The instance is created with this status.

  2. INITIAL_LOADING – Once declared in the schema and successfully validated, an initial loading job is triggered.

  3. ACTIVE – The computed field becomes active if the job is completed successfully.

Drawing
Computed field lifecycle

Technical flow

To better understand how a computed field works, here are the technical steps and the relation with the methods:

  1. Initialization: The computed field is declared in the schema.

  2. State Updates: Triggered by new user activities or profile updates.

  3. Result Calculation: The result is computed based on the current state.

  4. Storage: The result is stored for querying.

Last updated

Was this helpful?