How to Build a Self-Describing Model Execution Platform

In highly regulated environments like banking and insurance, the demand for explainability, auditability, and replicability doesn’t stop at model development. It extends all the way through deployment, execution, and reporting. This is where most platforms fall short.

With trac, we’ve built model orchestration platform that is self-describing by design, so every calculation is explainable, auditable, and repeatable and there is no need to manual produce documentation.

Structured Metadata

At the heart of trac is the metadata model that defines and connects every object on the platform. Each of the platforms primary object types have their own metadata structure. Let’s briefly define those objects:

  • Model: A discrete unit of code stored in a code repository that can be used in calculations

  • Data: Files and records that have been made available to the platform

  • Flow: The blueprint of a complex calculation that TRAC can run using multiple models - the equivalent of a ‘deployment’ in traditional systems

  • Job: A single calculation that has been run on the platform

Data, Models, Flows and Jobs

Schemas, Schemas, Schemas

The metadata model includes a schema representation of every object, which fully captures its unique structure.

🔹 Data Schema: The standard - columns, fields, types, units, and constraints.

🔹 Model Schema: The set of schemas that fully describe a model’s inputs, outputs and parameters. A model schema doesn't describe its rationale or business meaning - just that if you present inputs X and Y the model generates output Z.  

🔹 Flow Schema: Describes how a set of models can be connected into an execution graph. It shows:

  • The dependency structure between the models, where the outputs of one become the inputs to the next

  • The schemas of all the inputs, outputs, and parameters of the flow in aggregate

🔹 Job Schema: Provides a complete description of a calculation. This includes:

  • The schema of the flow that was used

  • Details of which data inputs and model versions were used

  • The parameter values defined provided via the UI when launching the job

  • Details of the outputs that were generated by the job

Putting the Self in Self-describing

The idea of using schemas to describe structured objects isn't particularly new. The important thing is that users only have to define these schemas for the foundational objects - models and data. As you build flows and run jobs, TRAC builds and maintains the schema representation of these objects for you.

There’s no need to manually document your deployment, or to retroactively attest to which parameter values, code versions, or input data was used in a calculation. TRAC takes care of that for you. This is what we mean by a self-describing system. 

Why It Matters

Self-describing systems like TRAC do more than reduce the cost and effort of documentation - although that alone is valuable. They also:

  • Shorten deployment timelines

  • Simplify oversight and assurance activities

  • Remove system fragility and enable new types of self-service operating model

Next
Next

Announcing Jaywing and fintrac partnership