Browse documentation

Exceptions

Turn analytics signals into events, group events into exceptions, and give each exception a task, a canvas and an agent's explanation.

The NGT Exception Framework is how SPARK goes from "a control fired" to "an analyst has one case to open, with the evidence laid out". In a workflow it is a chain of three actions, each doing one job:

ActionTakesProduces
Generate EventsAnalytics signal rows, from Load RecordsOne event per rule that fires on a row: a breach, an off-terms period, a model or data-quality finding
Generate ExceptionsEvents, from Generate Events or from Load Records of the Events objectOne exception per episode of related events, each kept as a task that shows a canvas filtered to it
Explain ExceptionsThe exception tasks, from Generate ExceptionsAn agent's explanation of each exception, written onto its task

The rules and exception definitions these steps use are kept in one place, Settings › Analytics › Exception Framework, so several workflows can share them.

The building blocks

  • An event is the smallest unit: one rule firing on one signal row, for example a share class NAV breach on a given date. Events are saved in the Events data object, created from the Event template.
  • An exception is an episode: one vehicle's events that belong together, over a few days, and the context found around them. Each exception is kept as a task, so it is assigned, prioritized, commented on and resolved like any other task. What people set on the task (status, priority, assignees, comments) is theirs: a rerun never overwrites it.
  • An exception's canvas shows the data behind it: NAV and fee charts, its events, sister share classes. The task page shows the canvas filtered to that exception through context variables.

Define event rules and exceptions

  1. Open Settings, then under Analytics choose Exception Framework.
  2. The page lists two sections, Event Rules and Exceptions. Each holds NGT's definitions, which are read-only, then your workspace's own.
  3. Click New and choose Event rule or Exception, or open an NGT card and duplicate it to start from a copy.
  4. Give it a Name and a one-line description, set it up, and click Create.

Use the search button to find a definition by name or description. Click any card to open it.

Exception FrameworkNewThe event rules and exceptions a workflow's Generate Events and Generate Exceptionssteps pick from: NGT's, and the workspace's own. An exception's canvas is one of theworkspace's canvases.Event Rules (3)SCE NAV BreachShare Class Evolution: the NAV pershare return fell outside the band its…SCE Return DeviationShare Class Evolution: the NAV pershare total return deviates from the…Performance Fee BreachPerformance Fees: the performancefee accrued is outside the band the…Exceptions (1)SCE Potential NAV BreachNo descriptionEvent ruleException
Exception Framework: the event rules and exceptions workflows pick from.

A step copies the definition it picks. Editing a definition in Settings does not change workflows that already use it: open the step and pick the definition again to bring the change in.

An event rule

An event rule says when a signal row raises an event, what it is about, and how large and severe it is:

  • Signal data object: the analytics signal the rule reads, for example Share Class Evolution.
  • Event type, Category (Breach, Terms, Model quality, Data quality or Information), Description and Message.
  • Condition: when the rule fires, built with the same filter builder as a data object view.
  • Measure: the column that sizes the event, read in its own unit and shown as a decimal, a percentage or basis points, or none when the event has no size.
  • Severity, a number from 0 to 1: fixed, in steps, or interpolated between a minimum and a maximum of the measure.

An exception

An exception definition says which events, together, make an exception:

  • Name: shown on its card, on its tasks and on its generated canvas.
  • Scope: whether an exception is about each sub-fund (the default) or each share class. A sub-fund's events count on each of its share classes.
  • Condition: the trigger. List the input events, lettered A, B, C, and combine them with AND, OR and brackets, for example (A AND B) OR C. AND binds before OR.
  • Additional context: events to look for around each date, such as a subscription, a performance fee breach or a fee charged off its terms. They do not change the exception; they are listed at the end of its task's description so the analyst sees them first.
  • Canvas: a canvas generated from the definition, a canvas you designed on the Canvas page, or none.

Both kinds can also be edited as JSON under Advanced Mode, where the rest of the stored settings live.

Build the workflow

A typical exception workflow reads:

  1. A Manual or Schedule trigger.
  2. Load Records of the analytics signal, filtered to the dates to check.
  3. Generate Events, with the rules to apply.
  4. Save Record into the Events data object, with Replace Existing Records on so each run restates its window. See Save records.
  5. Generate Exceptions, with the exception definitions.
  6. Explain Exceptions, with the agent that writes the explanations.

Several Generate Events steps, one per analytics, can run side by side and be joined with Concat Records before Save Record and Generate Exceptions.

Manual TriggerTriggerLoad RecordsDataShare Class Evolution SignalGenerate EventsAnalyticsSave RecordDataGenerate ExceptionsAnalyticsExplain ExceptionsAnalytics
An exception workflow: from the signal to explained exception tasks.

Generate Events

In the side panel, add rules with Add rule, or pick one From defined rules. Each rule shows as a card with its signal data object, condition and measure. Every rule in one step reads the same signal data object, and the node shows that object under its title.

The step outputs the events, shaped for the Events data object, ready for Save Record.

Generate Exceptions

In the side panel:

  • Events Data Object: where the events are read from. Its saved event types are offered when you write a condition. Unset, the workspace's Events object.
  • The exception definitions: add one with Add exception, or pick one From defined exceptions. Each raises its own exceptions. When you pick an event type, the list shows where it is known from: Raised in this workflow, Saved in the Events data object, or In the defined event rules, or you can type a new one.
  • New tasks: what every new exception's task gets, its assignees, labels, priority and due date, and its Context canvas. A task keeps these when people change them later.

Every exception gets a task. A rerun updates each exception's task title and description when they change, and leaves status, priority, assignees and comments alone. The step outputs the tasks, for Explain Exceptions.

ConfigureExecutionsGenerate ExceptionsAnalyticsRaise exceptions from events, as tasksData Sources0 / 1Events Data ObjectThe data object the events are read from: the conditions pick itscolumns, and its saved event types are offered. Unset, the workspace'sEvents.Select object...Exceptions0Each raises its own exceptions from the events the steps before raise.No exceptions. Add one, or pick one from the defined exceptions.Add exceptionFrom defined exceptionsNew tasksWhat every exception's task gets, whichever exception raised it: a newtask's assignees, labels, priority and due date, which it keeps whenpeople change them later, and its context canvas.No priorityDue in (days)No due dateContext canvasThe canvas each task shows, filtered to its exception: one of theworkspace's canvases. None: the tasks show no canvas.No canvasNo canvas: the tasks show none.Advanced Mode
The Generate Exceptions panel: which exceptions to raise, and what their tasks get.

Explain Exceptions

Pick the agent to ask, typically one made from the Exception Analyst agent template. For each task it receives, the agent is given the exception and the rows its canvas shows, and its answer is written into the task's Explanation.

  • A task already explained is skipped, unless you turn on Again. New and changed exceptions are always explained.
  • At most 10 tasks are explained per run; the rest wait for the next run. Each explanation is a separate agent run, so it spends tokens.
  • The instruction the agent receives has a sensible default you can change.

Work the exceptions

Exceptions are tasks, so they appear on the Tasks page alongside the rest of your work, with titles starting with EXCEPTION. Open one to see:

  • its description: what triggered it, date by date, and any additional context;
  • the canvas filtered to the exception, with a share class picker when the exception covers several;
  • the agent's Explanation.

Assign it, comment on it, and close it as you would any task. See Tasks.

Where to go next