FDM Profiles
Overview
FDM (Flight Data Monitoring) profiles define the safety monitoring triggers that are evaluated against flight telemetry data after each completed flight. When a trigger condition is met during the flight, it generates an event that appears on the flight detail page and may affect the flight's approval status.
Each profile contains an ordered set of triggers, and profiles are assigned to aircraft at the fleet, subfleet, or individual aircraft level. This allows different aircraft types to have tailored monitoring parameters -- for example, stricter landing rate thresholds for smaller aircraft or specific flap speed limits for each airframe.
Backoffice path: backoffice/fdm-profiles
Available to roles: System Administrator, Administrator
Profile Structure
A profile record contains the following fields:
| Field | Description |
|---|---|
| Name | A descriptive name for the profile (e.g., "Boeing 737 Standard FDM") |
| Description | Optional explanation of the profile's purpose and scope |
| Active | Toggle to enable or disable the entire profile |
Profile Assignment
Profiles are assigned to aircraft through a many-to-many relationship with the following entity levels:
| Level | Description |
|---|---|
| Fleet | Applies the profile to all aircraft in the fleet |
| SubFleet | Applies the profile to all aircraft in the subfleet |
| Aircraft | Applies the profile to a single aircraft registration |
An aircraft can match multiple profiles through these assignments. All matching active profiles and their triggers are evaluated during FDM analysis.
Resolution Priority
When determining which profiles apply to a given flight, the system collects profiles from all levels:
- Aircraft -- Profiles assigned directly to the specific aircraft registration.
- SubFleet -- Profiles assigned to the aircraft's subfleet.
- Fleet -- Profiles assigned to the aircraft's fleet.
If no profile is found at any level, FDM analysis is skipped entirely for that flight, and the flight proceeds through the approval flow without any FDM events.
Triggers
Each profile contains ordered triggers that define individual monitoring rules. Triggers are evaluated against the raw ACARS telemetry data recorded during the flight.
Trigger Fields
| Field | Description |
|---|---|
| Name | Descriptive name for the trigger (e.g., "Excessive Landing Rate") |
| Template | The pre-defined trigger template type (see below) |
| Field | The telemetry data field to monitor (e.g., vs, ias, gear_state) |
| Operator | The comparison operator used for evaluation |
| Value | The threshold value or target value for comparison |
| Conditions | Additional conditions that must be true for the trigger to fire |
| Event Type | The severity of the event generated: Information, Warning, or Violation |
| Description | Detailed description shown on the flight detail when the trigger fires |
| Label | Short label displayed on the FDM event badge |
| Duration Seconds | How long (in seconds) the condition must persist before the trigger fires. Prevents momentary spikes from generating events |
| Cooldown Seconds | Minimum time (in seconds) between consecutive fires of the same trigger during a single flight. Prevents repeated events from the same ongoing condition |
| Points | Point value awarded or deducted when the trigger fires. Positive values reward good performance; negative values penalize deviations |
| Active | Toggle to enable or disable the individual trigger without removing it from the profile |
Operators
| Operator | Description | Example |
|---|---|---|
> | Greater than | Landing rate > -500 fpm |
< | Less than | Airspeed < 250 below FL100 |
= | Equal to | Gear state = retracted |
!= | Not equal to | Engine state != off |
between | Within a range (inclusive) | Altitude between 0 and 1000 |
change_to | Detects a state transition | Flaps change_to retracted |
duration_of | Condition sustained for a period | Stall warning duration_of 3 seconds |
Duration and Cooldown
The Duration Seconds field prevents transient spikes from generating events. For example, a momentary airspeed exceedance during turbulence may not warrant a violation if it lasts less than 2 seconds. Setting duration_seconds: 2 ensures the condition must persist for at least 2 seconds before the trigger fires.
The Cooldown Seconds field prevents the same trigger from firing repeatedly during a sustained condition. For example, if an overspeed condition lasts 30 seconds, a cooldown of 10 seconds ensures the trigger fires at most 3 times rather than continuously.
Pre-Defined Templates
FDM profiles use pre-defined templates that provide standard monitoring configurations. Each template corresponds to a common flight safety parameter. Templates define the default field, operator, and conditions, which can be customized per trigger.
| Template | Description |
|---|---|
FLAP_SPEED_LIMIT | Monitors airspeed against maximum flap extension speeds |
GEAR_SPEED_LIMIT | Monitors airspeed against maximum landing gear operating speed |
LANDING_RATE | Evaluates the vertical speed at touchdown |
LANDING_G_FORCE | Evaluates the G-force experienced at touchdown |
ENGINE_WARMUP | Checks that engines were allowed to warm up before high-power application |
ENGINE_COOLDOWN | Checks that engines were allowed to cool down before shutdown |
STALL_WARNING | Detects activation of the stall warning system |
OVERSPEED_WARNING | Detects activation of the overspeed warning system |
OVERWEIGHT_TAKEOFF | Detects takeoff above the maximum takeoff weight |
OVERWEIGHT_LANDING | Detects landing above the maximum landing weight |
PAYLOAD_VARIANCE | Detects significant deviation between planned and actual payload |
LOW_ALT_BANK | Monitors bank angle at low altitude |
LOW_ALT_VS | Monitors vertical speed at low altitude |
REFUELING_ENGINES_ON | Detects refueling while engines are running |
SIM_RATE | Detects use of accelerated simulation rate |
SIM_PAUSED | Detects pausing of the simulator during flight |
SIM_SLEWING | Detects use of simulator slew mode |
TAKEOFF_ACCEL_HEIGHT | Monitors acceleration altitude after takeoff |
STABILIZED_APPROACH | Evaluates whether the approach was stabilized at the required altitude |
ORIGIN_PROXIMITY | Checks that the flight departed from the planned origin |
DESTINATION_PROXIMITY | Checks that the flight arrived at the planned destination |
TAILWIND_APPROACH | Monitors tailwind component during final approach |
CROSSWIND_APPROACH | Monitors crosswind component during final approach |
There are 24 pre-defined templates in total. The templates listed above represent the most commonly used ones. Additional templates are available in the template selector when creating or editing triggers.
Event Types and Points
When a trigger fires, it generates an FDM event with one of three severity levels:
| Event Type | Impact | Typical Use |
|---|---|---|
| Information | Advisory only. Does not affect flight approval | Rewarding smooth landings, noting good practices |
| Warning | May hold the flight for staff review depending on auto-approval settings | Speed exceedances, unstabilized approaches, minor deviations |
| Violation | Always holds the flight for staff review | Stall warnings, overspeed, slewing, overweight operations |
Points System
Each trigger has a configurable points value:
- Positive points reward good performance. For example, a smooth landing (vertical speed between -100 and -200 fpm) could award +5 points.
- Negative points penalize deviations. For example, exceeding the flap speed limit could deduct -10 points.
Points are awarded or deducted each time the trigger fires during a flight. The total points from all FDM events are summed and displayed on the flight detail page. Points contribute to the pilot's overall performance score.
Managing Profiles
Creating a Profile
- Navigate to
backoffice/fdm-profilesand click Create Profile. - Enter the Name and optional Description.
- Toggle Active to enable the profile.
- Save the profile, then assign it to fleets, subfleets, or aircraft from the profile detail page.
Adding Triggers
From the profile detail page:
- Click Add Trigger.
- Select a Template from the pre-defined list. This pre-fills the field, operator, and default values.
- Customize the Value, Event Type, Points, Duration Seconds, and Cooldown Seconds as needed.
- Set the Active toggle.
- Save the trigger.
Triggers are ordered within the profile and can be reordered by dragging. The order determines the sequence of evaluation during FDM analysis.
Duplicating a Profile
To duplicate an existing profile with all its triggers and assignments:
- Navigate to
backoffice/fdm-profiles. - Click Options > Duplicate on the profile you want to copy.
- The system creates a new profile named "Profile Name (Copy)" with all triggers and aircraft assignments cloned.
- You are redirected to the edit page where you can rename the profile and adjust triggers as needed.
This is useful when creating similar profiles for different aircraft families — for example, cloning a "Boeing 737 Standard FDM" to create a "Boeing 737-800 Specific FDM" with minor threshold adjustments.
Best Practices
- Start with a base profile for each major aircraft family and assign it at the fleet level.
- Use subfleet or aircraft-level profiles to override specific triggers for variants that have different performance characteristics.
- Use Information events with positive points to incentivize good piloting practices, not just penalize mistakes.
- Set appropriate duration_seconds values to avoid false positives from momentary telemetry spikes.
- Use cooldown_seconds to prevent a single sustained issue from generating excessive point deductions.