Skip to main content

Configure a Model

AI model instances in BPP are configured via a JSON configuration that tells the model which data to use, what to predict, and how to train. The configuration differs per model type.

Steps​

1. Create a new model instance​

Navigate to AI Models in the left sidebar and click New Model (or Create).

2. Select the model type​

Choose the type of model you want to run:

  • Action Prediction — propensity score for a specific customer action.
  • pcLTV (Transactional) — predicted customer lifetime value from purchase/transaction history.
  • pcLTV (Subscription) — predicted LTV for subscription-based businesses.
  • RFM Clustering — descriptive segmentation by Recency, Frequency, and Monetary value.
  • Interest — customer interest classification from browsing and event data.

3. Name the model instance​

Give the instance a descriptive name — this name will appear in the audience and signal filter builders alongside the model's output fields. Choose something that makes it clear what the model predicts (e.g., purchase_prediction_b2c, rfm_365d).

4. Enter the JSON configuration​

Each model type requires a configuration object. The key parameters per type are summarised below.

:::tip Full per-model reference For the complete configuration reference (every field, type, default) plus a full JSON example, output structure, and feature-engineering guidance, see the Model Reference — one page per model type. :::

Action Prediction

ParameterWhat it means
filter_positiveConditions identifying customers who performed the target action (your "positive" examples).
filter_negativeConditions identifying customers who definitely did not perform it (your "negative" examples).
filter_unknownConditions for ambiguous customers to exclude from training.
data_src.featuresWhich user attributes to use as inputs for the model.
action_nameA label for the action being modelled (e.g., "purchase", "renewal").
train_presetTraining quality: medium_quality (faster) or high_quality (more accurate).

RFM Clustering

ParameterWhat it means
data_src.event_table_idYour transaction event table.
data_src.column_priceThe column containing the monetary value per transaction.
data_src.column_statusThe transaction status column.
data_src.allowed_statusesWhich status values count as valid transactions.
data_src.sample_intervalHow many days of history to include.

Interest

ParameterWhat it means
data_src.source_table_idThe event table containing interest signals or page URLs.
interest_columnThe field with the interest label or page URL.
lookback_daysHow many days of event history to include.
thresholdSignificance threshold — how strong an interest signal needs to be before it is reported.

pcLTV (Transactional)

ParameterWhat it means
data_src.source_table_idYour transaction event table.
data_src.monetary_value_columnThe column with the transaction value.
data_src.transaction_date_columnThe transaction timestamp column.
data_src.transaction_status_allowed_valuesWhich transaction statuses to count.
data_src.data_time_rangeHow many days of history to train on.

5. Save as Draft​

Click Save to create the model instance in Draft status. Nothing runs yet at this point.

6. Activate the model​

When you are ready to start running the model, set its status to Ready (toggle Enabled on). BPP will:

  1. Create the necessary automated jobs and output tables.
  2. Schedule the model to run daily (default: 2:00 AM UTC).
  3. Run the model on the first scheduled trigger.

The first run may take several minutes depending on your data volume.

Tips for Action Prediction​

For best results, the feature inputs should be customer-level summaries — not raw event rows. For example, instead of feeding the model a table of individual page views, feed it a summary with columns like total_sessions_30d, avg_order_value, days_since_last_purchase.

BPP's Field Builder can generate these summaries automatically — see Field Builder for details.

Suggested feature categories:

  • Recency: days since last login, days since last purchase.
  • Frequency: number of sessions, order count, email opens.
  • Contextual: device type, country, plan type.
  • Value: average order value, contract amount.

Configuration validation​

The configuration is validated when you activate the model. If required fields are missing or your source tables cannot be found, the model will show an Error status with a description of what is wrong. Fix the configuration and re-enable.