Behavioural Modelling Development Update - Q4 2021

From the Q4 2021 release of FastStats, the following development updates have been implemented for the handling of Dimensions - also referred to as Behavioural Features - in behaviour-based modelling:

New Behavioural Feature types

Two new types of Behavioural Feature have been added:

  • Count distinct

  • Time since first

New more flexible time frames

The specification of a time frame is now more flexible - see Behaviour-based Modelling - Flexible Time Frame

Improved menu operation and dialogs

All behavioural modelling options are now grouped under a single menu and Dimensions are largely generated through dialogs. Some of the previous menu options remain available where they offer additional functionality.

The Behavioural Features currently available are predominantly based on RFV aggregations; they share a common structure in that the definition of each feature involves:

  • settings specific to the feature - e.g. Count or Value settings

  • additional time frame settings to limit the date range being aggregated

  • optional other criteria to further limit the records being aggregated

Once an RFV feature has been created, you can edit or convert it to a different type, in which case the defined time frame and settings are retained.

You can also modify the time frames and criteria independently, and on multiple dimensions simultaneously. For more on this, see Modifying the time frames of multiple Dimensions below.

Combinations represent a different type of Behavioural Feature - often defined at a transaction level, rather than being aggregations to the person level. For more on this, see Combinations below.

Ability to more easily add different types of criteria

As with time frames - you can either add criteria when creating a Behavioural Feature, or modify the criteria independently for existing features.

Criteria are used to limit which transactions are processed by the Behavioural Feature, with the possible criteria being dictated by the transaction table. For example, a Behavioural Feature which counts bookings requires criteria that can be applied to the Bookings table.

Clicking the Add Criteria button opens a dialog and offers you two ways to create criteria:

  1. based on a variable

  2. based on an existing Dimension

Criteria based on a variable can be created based on a variable from the transaction table or below. When the variable is from a lower table, the criteria are automatically created as a Combination. For example, when creating criteria for the Bookings table, you could make criteria based on a Bookings variable, such as count bookings to the United States. However, if the variable is from the lower Activities table, the criteria would be based on the combination of activities - for example, count bookings which contain only sports activities.

The text on the button updates accordingly and launches the appropriate dialog.

It is also possible to create criteria based on an existing Dimension which is at the transaction level. Currently this would only ever be a Combination that has previously been defined at this level. See Combinations below.

Better handling of data absence

A new option "to distinguish no records matching criteria from no records in time frame" enables Behavioural Features to be more predictive. For example, when calculating "the count of bookings to Africa in the last year", the number of people who had not been to Africa is distinguished from those who had simply not been on holiday last year. The option is only available once criteria have been set and it results in a missing value being used for people with no records at all in the time frame - i.e. a value of 0 indicates that a person did have a booking to somewhere, just not to Africa.

Use of this option is highly recommended since it highlights the effect of the criteria on whether a person is in the Analysis Selection.

The option is currently only available for counts.

The option results in a missing value being applied when a person has no bookings in the time frame; it is indicated by the asterisk in the name "Count*":

Simpler application of calculations

From Q4 2021, calculations - which were previously all visible - are shown only in the appropriate section, and only when applicable. For example:

  • a proportion relative to total - is only available when at least one criterion has been set

  • a change from the previous time frame - is not available when the open-ended 'sometime' option is used

When multiple criteria are set, it is possible to calculate the proportion in different ways. The following example would calculate the percentage of Gold or Silver Grade holiday bookings from all those bookings made to Europe in the time frame:

The alternative would be to calculate - out of all the Gold and Silver bookings - the percentage of bookings that were made to Europe.

Modifying the time frames of multiple Dimensions

You can modify the time frames of multiple Dimensions simultaneously. However, as it is not possible to specify a date variable that applies to all, this option is not enabled when the Dimensions are from different transactional tables.

The dialog applies the settings made to each of the selected Dimensions and so, for example, the count of bookings to Africa and the count of bookings to the Americas can be modified together to use, either a different time frame, or to be based on Travel Date rather than Booking Date.

Note that, when the selected Dimensions already differ themselves in terms of time frame, the new dialog is populated with the most common options. For example, in the screenshot below, two of the three Dimensions selected are set to "sometime before" and, as a result, when you select to modify the time frame, it also defaults to "sometime before". Any settings defined are then applied to all selected Dimensions - it is not possible to maintain the different date periods.

Some of the previously available menu options remain, where the functionality they offer is a short cut to repeated use of dialogs - e.g. to allow a date variable to be changed on multiple Dimensions in a single step, as shown below:

Modifying criteria for multiple Dimensions

You can also modify the criteria for multiple Dimensions simultaneously although, in some cases, when Dimensions already have different existing criteria, the criteria is locked and cannot be modified.

The simplest case is when the Dimensions all share the same criteria. For example, if you have several Dimensions using the criteria "Continent=Africa", editing is straightforward; the criteria are listed and editable and can, therefore, be edited or removed.

A more complicated case arises when you edit Dimensions with different criteria values for the same variable - e.g. count bookings to Africa and count bookings to Europe. In this case, the criteria that differ are listed, but cannot be modified since they are not shared by all the Dimensions. You can, however, add new criteria - for example, to count bookings with sports activities.

A similar case arises when the Dimensions have criteria based on different variables. For example, if you edit the Dimensions when one has a criterion based on continent, and another on a combination of activities, the criteria are listed, but locked, since there is no change that can be applied to all. Other criteria can still be added which will apply to all Dimensions - e.g. Booking grade - Gold/Silver.

You cannot add new criteria using a variable that is already in locked criteria; this would be in conflict for the Dimension in which it is in use.


Combination options are now presented in a dialog. A Combination feature is essentially a 'yes/no' selection which categorises as to whether they involve a combination of some transactional item.

There are two main types of Combination, the fundamental difference being the level at which the transactions are grouped:

1. Grouping level is set to the same level as the modelling level - typically "Person"

  • This creates a feature which identifies whether a person has, for example, been to a range of holiday destinations in the given time frame. In this case, the date variable for the time frame is taken from the transactional table - e.g. Bookings.

2. Grouping level is set to any other level below the modelling level

  • This creates a feature which classifies e.g. bookings as to whether they involve, for example, some combination of activities. In this case, the date comes from the grouping table - which is also Bookings in this example.

When Combinations are created at a transactional level, they can subsequently be combined using the right-click menu option. For example, a booking could be classified based on it involving “some Food & Drink activity” and “no Sports activity”.

Any Combination Dimension created in this way can be used as the basis of a criterion for an RFV feature through the “Based on existing dimension” option, mentioned previously. In this example, the Count feature is having its criteria modified to only count bookings which do not involve any sport activity:

Further menu options

In addition to the new dialogs, some existing right-click options have been retained for modifying time frames and criteria. For example:

  • it is possible to generate multiple Dimensions in a single click, each of which uses a different time frame unit

  • you can create multiple Dimensions, each of which uses a different category as the basis of its criteria

Batch processing

The processing of large numbers of behavioural modelling Dimensions has been improved to be more practical on large customer systems. Dimensions are processed in batches of 10 (as reported in the log window) and results returned for each batch on completion.