Attributes - KPI (User Group Slab/Tier)

currentUserGroup - Slab Information Attributes

Attributes on Slab Information

Use string operators for name-based attributes and numeric operators for number-based attributes. For date attributes, use date-time sub-attributes.

String Operators (for slabName, initialSlabName)

OperatorDefinition
containsTrue if the string contains the specified substring
matchesTrue if the string matches the specified regular expression
==True if the string equals the specified value
isNullTrue if the string is null
isNotNullTrue if the string is not null

Numeric Operators (for slabNumber, initialSlabNumber)

OperatorDefinition
==True if the number equals the specified value
!=True if the number does not equal the specified value
>True if the number is greater than the specified value
>=True if the number is greater than or equal to the specified value
<True if the number is less than the specified value
<=True if the number is less than or equal to the specified value
isNullTrue if the attribute value is null
isNotNullTrue if the attribute value is not null

Date Sub-Attributes (for slabChangeDate, slabExpiryDate)

Sub-AttributeDefinition
isAfterTrue if date is after the specified date/time
isBeforeTrue if date is before the specified date/time
isNullTrue if the date is null
isNotNullTrue if the date is not null
year, month, dayOfMonthExtracts the respective calendar component
daysDiffDifference in days between the attribute and specified date
dateDiffDifference in days, months, or years (depending on parameters)

slabName

Profile: currentUserGroup
Attribute: slabName
Meaning: Current loyalty tier name of the group (for example, "Gold").
Type: String
Syntax: currentUserGroup.slabName[Operator][Value]

ProfileAttributeSub-AttributeOperatorExample
currentUserGroupslabNameNA==currentUserGroup.slabName == "Gold"
currentUserGroupslabNameNAcontainscurrentUserGroup.slabName.contains("ol")
currentUserGroupslabNameNAisNullcurrentUserGroup.slabName.isNull()
currentUserGroupslabNameNAisNotNullcurrentUserGroup.slabName.isNotNull()

Examples

Example 1 : Target groups in the "Gold" tier.
Expression: currentUserGroup.slabName == "Gold"
Example 2 : Identify groups with tier names containing "Silv".
Expression: currentUserGroup.slabName.contains("Silv")
Example 3 : Check for groups without a defined tier name.
Expression: currentUserGroup.slabName.isNull()

initialSlabName

Profile: currentUserGroup
Attribute: initialSlabName
Meaning: Loyalty tier name of the group before the current event.
Type: String
Syntax: currentUserGroup.initialSlabName[Operator][Value]

ProfileAttributeSub-AttributeOperatorExample
currentUserGroupinitialSlabNameNA==currentUserGroup.initialSlabName == "Silver"
currentUserGroupinitialSlabNameNAmatchescurrentUserGroup.initialSlabName.matches("S.*r")
currentUserGroupinitialSlabNameNAisNullcurrentUserGroup.initialSlabName.isNull()
currentUserGroupinitialSlabNameNAisNotNullcurrentUserGroup.initialSlabName.isNotNull()

Examples

Example 1 : Target groups whose previous tier was "Silver".
Expression: currentUserGroup.initialSlabName == "Silver"
Example 2 : Identify groups whose previous tier matches pattern "P.*um".
Expression: *_currentUserGroup.initialSlabName.matches("P._um")**
Example 3 : Check for groups missing previous tier information.
Expression: currentUserGroup.initialSlabName.isNull()

slabNumber

Profile: currentUserGroup
Attribute: slabNumber
Meaning: Current tier number of the group (for example, 1, 2, 3).
Type: Integer
Syntax: currentUserGroup.slabNumber [Operator] [Value]

ProfileAttributeSub-AttributeOperatorExample
currentUserGroupslabNumberNA==currentUserGroup.slabNumber == 1
currentUserGroupslabNumberNA>currentUserGroup.slabNumber > 2
currentUserGroupslabNumberNAisNullcurrentUserGroup.slabNumber.isNull()
currentUserGroupslabNumberNAisNotNullcurrentUserGroup.slabNumber.isNotNull()

Examples

Example 1 : Identify groups in tier number 3.
Expression: currentUserGroup.slabNumber == 3
Example 2 : Target groups above tier number 2.
Expression: currentUserGroup.slabNumber > 2
Example 3 : Check for groups without a defined tier number.
Expression: currentUserGroup.slabNumber.isNull()

initialSlabNumber

Profile: currentUserGroup
Attribute: initialSlabNumber
Meaning: Tier number of the group before the current event.
Type: Integer
Syntax: currentUserGroup.initialSlabNumber [Operator] [Value]

ProfileAttributeSub-AttributeOperatorExample
currentUserGroupinitialSlabNumberNA==currentUserGroup.initialSlabNumber == 2
currentUserGroupinitialSlabNumberNA>=currentUserGroup.initialSlabNumber >= 1
currentUserGroupinitialSlabNumberNAisNullcurrentUserGroup.initialSlabNumber.isNull()
currentUserGroupinitialSlabNumberNAisNotNullcurrentUserGroup.initialSlabNumber.isNotNull()

Examples

Example 1 : Identify groups whose initial tier was 1.
Expression: currentUserGroup.initialSlabNumber == 1
Example 2 : Target groups with previous tier at least 2.
Expression: currentUserGroup.initialSlabNumber >= 2
Example 3 : Check for groups missing initial tier number.
Expression: currentUserGroup.initialSlabNumber.isNull()

slabChangeDate

Profile: currentUserGroup
Attribute: slabChangeDate
Meaning: Date when the group's tier last changed.
Type: Date
Syntax: currentUserGroup.slabChangeDate.[Sub-Attribute](...)

Sub-AttributeDefinitionExample
isAfterTrue if the change date is after specified date/timecurrentUserGroup.slabChangeDate.isAfter(2025,1,1,0,0,0)
isBeforeTrue if the change date is before specified date/timecurrentUserGroup.slabChangeDate.isBefore(2025,12,31,23,59,59)
isNullTrue if the change date is nullcurrentUserGroup.slabChangeDate.isNull()
isNotNullTrue if the change date is not nullcurrentUserGroup.slabChangeDate.isNotNull()
daysDiffDifference in days between change date and specified datecurrentUserGroup.slabChangeDate.daysDiff(2025,5,1)

Examples

Example 1 : Identify groups whose tier changed after May 1, 2025.
Expression: currentUserGroup.slabChangeDate.isAfter(2025,5,1)
Example 2 : Target groups whose tier changed before January 1, 2025.
Expression: currentUserGroup.slabChangeDate.isBefore(2025,1,1)
Example 3 : Check for groups without a recorded tier change date.
Expression: currentUserGroup.slabChangeDate.isNull()

slabExpiryDate

Profile: currentUserGroup
Attribute: slabExpiryDate
Meaning: Date when the group's current tier will expire.
Type: Date
Syntax: currentUserGroup.slabExpiryDate.[Sub-Attribute](...)

Sub-AttributeDefinitionExample
isAfterTrue if expiry date is after specified date/timecurrentUserGroup.slabExpiryDate.isAfter(2025,12,31,23,59,59)
isBeforeTrue if expiry date is before specified date/timecurrentUserGroup.slabExpiryDate.isBefore(2025,6,30,0,0,0)
isNullTrue if the expiry date is nullcurrentUserGroup.slabExpiryDate.isNull()
isNotNullTrue if the expiry date is not nullcurrentUserGroup.slabExpiryDate.isNotNull()
daysDiffFromStringDifference in days between expiry date and a date stringcurrentUserGroup.slabExpiryDate.daysDiffFromString("2025-01-01")

Examples

Example 1 : Identify groups whose tier expires after June 30, 2025.
Expression: currentUserGroup.slabExpiryDate.isAfter(2025,6,30,0,0,0)
Example 2 : Target groups whose tier expires before December 31, 2025.
Expression: currentUserGroup.slabExpiryDate.isBefore(2025,12,31,23,59,59)
Example 3 : Check for groups missing expiry date information.
Expression: currentUserGroup.slabExpiryDate.isNull()