Skip to main content
With the decision policy simulation feature, you can validate and test your decisioning logic in real time, both before a decision policy is created and after it is active. The primary purpose of this feature is to view exactly which offerings are returned in response to a user and in what order, based on different segmentation criteria and capping limits for each offer. By simulating the evaluation of specific user profiles (both identified and anonymous) and appending session-specific parameters, you can verify which offerings are selected, eligible, or excluded. This feature helps to prevent configuration errors, ensures that target segment rules perform as intended, and provides a clear breakdown of the priority scoring or custom formulas applied during the ranking stage.
PrerequisitesBefore you run a simulation, ensure that you meet the following requirements:
  • A decision policy must exist in your workspace. For more information, refer to Create a Decision Policy.
  • Your user role must have the View permission for Decision Policy. Both editors and view-only users can access and run the simulation feature.

Access the Simulation Feature

You can access the decision policy simulator from two primary flows in the MoEngage UI: Access during policy creation or editing If you are currently creating or editing a policy:
  1. On the Create Decision Policy or Edit Decision Policy page, configure your basic details and offerings.
  2. Click Run Simulation (which is located to the left of Create in the lower-right corner). Create Decision Policy page with Run Simulation button highlighted in the lower-right corner
Access from the Decision Policies list To access the simulator for a previously created policy, perform the following steps:
  1. On the left navigation menu in the MoEngage UI, hover over the Decisioning menu item Decisioning menu icon. The Decisioning menu appears.
  2. Click Decision Policies. Decisioning menu expanded with Decision Policies highlighted The Decision Policies page appears. Decision Policies list page showing all created policies
  3. From the policy list, open the simulator using one of the following methods:
    • Directly from the list: Locate the policy you want to test, click the ellipsis icon in the Actions column next to the policy name. Click Edit and then click Run Simulation. Edit Decision Policy page with Run Simulation button highlighted
    • From the policy details page: Click the name of the policy you want to view to open its details page, and then click Run Simulation (located next to Edit in the upper-right corner of the page). Policy details page with Run Simulation button highlighted in the upper-right corner

Configure a Simulation

When the Simulate decision policy window appears, the top section displays the active policy parameters, such as Ranking Strategy, Offering Selection mode, Total Input, and Expected Output limit. To configure your simulation, perform the steps detailed under your chosen user configuration mode below:

Identified User

Select the Identified User option to evaluate the decision policy with an existing user profile in your database. Specific user If you choose a specific user, select the Choose specific user option. You can search for the user profile using any of the key system identifiers described in the table below:
IdentifierDescription / Use Case
IDThe unique custom customer database ID configured for your workspace partition.
EmailThe user’s primary registered email address.
PhoneThe user’s mobile or landline phone number (including country code).
MoEngage IDThe system-generated unique user identifier.
To search and load a specific user:
  1. In the Select user by list, click the identifier you want to search by: ID, Email, Phone, or MoEngage ID.
  2. In the User identifier value box, type the corresponding ID value and click Find User.
    Profile Not Found: If no matching profile is returned, verify that you are searching within your correct active workspace partition. For security and testing accuracy, simulations are isolated locally to your active workspace partition.
  3. After a matching profile is located, the message “1 profile found. Selected user with [Identifier Type]: [value]” appears. Hover your pointer over the identifier value to inspect the profile attributes, or click View user to open the full profile details in a new tab. Simulate Decision Policy window showing a matched user profile with attribute details in a tooltip
Random user If you want to evaluate the policy’s general behavior without typing a specific identifier, click Choose random user. The simulator will automatically select an active user profile at random from your workspace database to run the evaluation.

Anonymous User

Select the Anonymous User option to simulate a first-time visitor with no existing database profile or historical identifiers. Simulate Decision Policy window with Anonymous User option selected
For anonymous users, MoEngage automatically skips primary offerings that require target segment matching. The system defaults to evaluating your fallback offerings. If no fallback offerings are eligible, the simulation results notification strip turns yellow (warning) instead of green to indicate that zero offerings were returned.

Define In-Session Attributes (Optional)

In the In session attribute section, click + In-session attribute to define real-time, session-specific key-value pairs to test the contextual eligibility rules: In-session attribute section showing Attribute and Value input fields Examples of key-value pairs:
  • Device type [for example, Key: device_platform | Value: iOS].
  • Referral source [for example, Key: traffic_source | Value: google_search].
  • Current cart value [for example, Key: cart_value | Value: 150.00].
For more information, refer to In-Session Attributes in Offerings.

Run a Simulation

Running a simulation is a read-only operation. It does not deliver offerings, record events, or deduct from user frequency-capping limits.
  1. Click Run Simulation. Run Simulation button
    The Run Simulation is disabled during processing to prevent redundant requests. It remains disabled until you modify any of the simulation input parameters above.
    Running a simulation is a read-only operation. It does not deliver offerings, record events, or deduct from user frequency-capping limits. After the simulation runs, you can view a summary of the output.

Simulation Results

During a simulation, the feature evaluates each offering and assigns one of the following states: Simulation result panel showing Selected, Eligible, Ineligible, and Not Evaluated tabs
  • Selected: The final offerings selected for display. These offerings successfully passed all eligibility checks and ranked highest under your policy’s strategy, up to the configured output limit.
  • Eligible: Offerings that met all target segmentation and capping rules but were not selected. This can happen due to lower priority scores, lower custom formula values, or because higher-ranking offerings already met the output limit. If the priority scores or custom formula values are equal, eligibility is decided by applying tie-breaking logic. For more information, refer to FAQs on Decision Policy.
  • Ineligible: Offerings that failed either the target segment check or the capping limit rules.
  • Not Evaluated: Offerings that were completely bypassed during evaluation. This occurs for primary offerings when simulating anonymous users, or for fallback offerings when eligible primary offerings fully satisfy the expected output limit. Scheduled and expired offerings are also excluded from evaluation, as the engine prioritizes active offerings.
If an offering fails at the Target Segment stage, MoEngage automatically skips evaluation for subsequent stages (such as Capping Limit). These skipped stages are indicated in the table by a double dash (—). The offering’s original Priority score remains visible for debugging purposes.

Analyze the Results Table

The columns display the following details: Simulation results table highlighting all column headers: Offering Name, Offering Type, Status, Target Segment, Capping Limit, and Final Score
Column NameDescription
Offering NameThe unique name identifying the offering, along with any assigned tags.
Offering TypeIdentifies the offering as either Primary or Fallback.
StatusThe active schedule status of the offering (for example, Active, Scheduled, or Expired).
Target SegmentThis displays Pass if the simulated user matches the segment criteria; this displays Fail if they do not match or if skipped.
Capping LimitThis displays Pass if the user has not exceeded the offering’s frequency-capping rules; this displays Fail if they have exceeded them or if skipped.
Final ScoreThis column dynamically adapts based on the ranking strategy configured in your decision policy:
  • Priority: This displays the direct numerical priority value assigned to the offering.
  • Final Score: This displays the computed score based on your weighted custom formula parameters. Click the information icon next to the score to view a pop-up detailing the calculations (such as weights assigned to CTR, priority, or attributes).
  • CTR: This displays the Click-Through Rate metric used when the AI Auto Optimize strategy is enabled.
Simulation13 1

Manage and Export Simulation Data

You can manage and extract the simulation results using the following tools on the results toolbar: Global Search Type a keyword in the Search by Offering name box. The table filters matching offerings across all four status tabs (Selected, Eligible, Ineligible, Not Evaluated) simultaneously. Simulation results panel with the Search by Offering name field highlighted Status Filter Click the Select status list to filter offerings by their operational state (for example, to view only Active offerings). Simulation results panel with the Select status filter highlighted Download CSV Click Download CSV to export the tabular results. The exported file preserves all values displayed on the UI (including the correct priority, segment checks, and scores). Simulation results panel with the Download CSV button highlighted