pdstools.ih.Schema

Schema definitions for Interaction History data.

These classes mirror the convention used by pdstools.adm.Schema and document the columns expected by pdstools.ih.IH.IH after column name normalisation (Pega py/px prefixes are stripped via pdstools.utils.cdh_utils._polars_capitalize()).

The REQUIRED_IH_COLUMNS tuple lists the minimum set of columns that must be present on the LazyFrame passed to IH. Any other columns are optional and only used when present.

Attributes

REQUIRED_IH_COLUMNS

Columns that must be present on the LazyFrame consumed by IH.

Classes

IHInteraction

Normalised Interaction History row schema.

Module Contents

class IHInteraction

Normalised Interaction History row schema.

Required columns

InteractionIDpl.Utf8

Unique interaction identifier.

Outcomepl.Utf8

Raw outcome label (e.g. "Impression", "Clicked").

OutcomeTimepl.Datetime

Timestamp of the outcome. String values are parsed via pdstools.utils.cdh_utils.parse_pega_date_time_formats().

Optional but commonly present

Channel, Direction, Issue, Group, Name, Treatmentpl.Utf8

Action / context dimensions.

Propensitypl.Float64

Model propensity emitted with the interaction.

ModelTechniquepl.Utf8

Model family (e.g. "NaiveBayes", "GradientBoost").

InteractionID
SubjectID
Outcome
OutcomeTime
Channel
Direction
Issue
Group
Name
Treatment
Propensity
ModelTechnique
REQUIRED_IH_COLUMNS: tuple[str, Ellipsis] = ('InteractionID', 'Outcome', 'OutcomeTime')

Columns that must be present on the LazyFrame consumed by IH.