FAQs
Ask AI
Platform basics
Section titled “Platform basics”What is Corridor, and how does it fit into my existing stack?
Section titled “What is Corridor, and how does it fit into my existing stack?”Corridor is an integrated analytical workbench: data, features, models, and decision policies live in one governed environment. Instead of stitching together a data platform, a modeling notebook, and a rules engine, you build, simulate, approve, and export everything as a single deployable artifact that plugs into your existing scoring engines and LOS.
Can I use models trained outside Corridor?
Section titled “Can I use models trained outside Corridor?”Yes. The Model Registry imports externally trained models in several formats (Pickle, PMML, H2O MOJO, ONNX, or custom). Once registered they become governed objects that can be simulated, explained, approved, and reused like any natively trained model. See Register a Model Definition.
What is the analytical lifecycle?
Section titled “What is the analytical lifecycle?”Work flows through eight stages: register data, build features, develop models, compose strategy and rules, simulate and review, approve and export, bring outcomes back in from production, and monitor performance. Stages 1–6 happen inside Corridor before production; stage 7 closes the feedback loop; stage 8 watches health continuously. See Understand the Analytical Lifecycle.
Do I have to approve every change before I can work with it?
Section titled “Do I have to approve every change before I can work with it?”No. You can build, edit, and simulate in Draft freely. Approval is only required when you want to publish for broader use or production deployment. The approval workflow itself is configured by your admin per object type.
Related: Platform Overview · Understand the Analytical Lifecycle · Getting Started
Registry objects: when to use what
Section titled “Registry objects: when to use what”What is the difference between a Table, Data Element, and Feature?
Section titled “What is the difference between a Table, Data Element, and Feature?”- A Table is raw source data (an application table, a credit bureau dump).
- A Data Element is a governed wrapper around one column or one aggregated computation derived from Tables (for example
annual_incomeorbankruptcies_last_10y). - A Feature is a transformation on top of Data Elements (or other Features) that produces a reusable variable for downstream use (for example
risk_tierderived from FICO buckets).
You always go Table → Data Element → Feature before something reaches a Model or Policy.
Why must I register columns as Data Elements before using them?
Section titled “Why must I register columns as Data Elements before using them?”The Data Element layer is where governance lives: permissible-purpose tags, lineage, descriptions, and ownership. Without it, raw columns would flow straight into Models and Policies and there would be no consistent way to know what a value means or where it came from.
What is the difference between a Simple and an Aggregated Data Element?
Section titled “What is the difference between a Simple and an Aggregated Data Element?”A Simple Data Element is a one-to-one map onto a single column. An Aggregated Data Element rolls up multiple rows for an entity using Python, Pandas, or PySpark (for example “total bankruptcies for this applicant in the last 10 years”).
What is the difference between a Feature and a Model?
Section titled “What is the difference between a Feature and a Model?”A Feature is hand-written transformation logic; it produces a variable (a number, category, or flag). A Model is a trained artifact (XGBoost, sklearn, PMML, ONNX) that produces a score or class label. Models carry training data references, quality metrics, and explainability artifacts that Features do not.
Can a Model use another Model as an input?
Section titled “Can a Model use another Model as an input?”Yes. This is how stacked models and ONNX reader models are wired together: the upstream Model’s output becomes a registered input on the downstream Model.
What is a Policy, and how is it different from a Model?
Section titled “What is a Policy, and how is it different from a Model?”A Model produces a score. A Policy is the decision workflow that turns that score into an actual outcome: approve / decline / refer, plus offer terms. A Policy chains together blocks (application decisioning, derived variables, offer creation, offer filtering, offer optimization) and is what gets deployed to your LOS or scoring engine.
How do the AND/OR operators in a waterfall strategy work?
Section titled “How do the AND/OR operators in a waterfall strategy work?”The AND/OR toggle applies to the rules inside one segment; there is no operator between segments. Segments are mutually exclusive branches: each record matches at most one segment, and only that segment’s rules run. Within the matched segment, the segment’s evaluation mode decides how its rules combine. With OR, the first rule that passes wins and the remaining rules are skipped; with AND, every rule must pass and evaluation stops at the first failure. Conditions inside a single rule are a separate, third layer, combined with ALL/ANY. Since v1.26.01 the rule view renders this as an if / else-if chain: the first rule shows an IF tag and each later rule carries the AND/OR tag.
When one rule in a waterfall strategy fires, what output do the other rules produce?
Section titled “When one rule in a waterfall strategy fires, what output do the other rules produce?”Nothing. Rules that were skipped, either because an earlier rule already passed or because their segment did not match the record, produce an empty result, shown as N/A in Single Record Review; there is no special “not executed” value. For action outputs, the record gets the value from the first rule that passed; if no rule fires, the output falls back to the strategy’s default value, or stays empty when no default is set. A record that matches no segment at all passes through the strategy rather than failing it.
Related: Register a Data Element · Register a Feature · Register a Model Definition · Register a Policy Decision Workflow
Lifecycle, versions, and approvals
Section titled “Lifecycle, versions, and approvals”What do Draft, Pending, and Approved mean?
Section titled “What do Draft, Pending, and Approved mean?”- Draft: editable, scoped to the creator/workspace.
- Pending Approval: locked from edits (unless the active reviewer has edit rights) while reviewers vote.
- Approved / Published: locked. Any further change creates a new Draft version that has to go through approval again.
What do “Active” and “Shadow” mean for a Policy?
Section titled “What do “Active” and “Shadow” mean for a Policy?”They are deployment statuses, and they apply on top of Approved. When a deployment goes live, the primary Policy becomes Active. A Policy deployed in shadow mode becomes Shadow: it runs alongside the Active Policy on the same traffic so you can compare its decisions, but its outcomes are not used. Both count as final statuses, which is why the Usage Statistics table on an Approval Workflow shows Active and Shadow as their own rows next to Approved.
Can I edit an object after it is approved?
Section titled “Can I edit an object after it is approved?”Not in place. You make a new version, which starts in Draft. Once that version is approved, it replaces the previous version as the published one. Older versions stay available in the history.
What is “Veto Power” in an approval workflow?
Section titled “What is “Veto Power” in an approval workflow?”A reviewer with Veto Power can single-handedly reject the request: one rejection from them fails the whole approval regardless of how other reviewers voted. While a veto reviewer is active, the object is typically locked from further edits.
Can I compare two versions of a Model, Feature, or Policy?
Section titled “Can I compare two versions of a Model, Feature, or Policy?”Yes. The Run menu offers a comparison simulation that scores two versions side by side on the same dataset. Use this for champion/challenger checks and to document the impact of a change.
Can I roll back to a previous version?
Section titled “Can I roll back to a previous version?”Versions are preserved with their timestamps, authors, and comments, and deployments point to a specific version. You can return to a previous version by re-publishing it (it does not auto-promote on upgrade).
If I cancel a grouped approval, what happens to the objects bundled in it?
Section titled “If I cancel a grouped approval, what happens to the objects bundled in it?”Cancelling (via Close Requests) reverts the main object and every input bundled in the request back to Draft. Inputs that were already Approved before you submitted the request are untouched: only Draft inputs get bundled into a grouped approval, so anything already Approved was never part of it and keeps its status. This is why cancelling can send a Model back to Draft while its Data Elements stay Approved. See Approve an Object for how the bundling works.
In what order are objects listed in a grouped approval request?
Section titled “In what order are objects listed in a grouped approval request?”In dependency order, not date order. The list is arranged in batches: the first batch holds objects whose inputs are all already approved, and each later batch holds objects whose inputs are covered by the batches before it. Within a batch, objects sort alphabetically by name. Working through the list top to bottom therefore never asks a reviewer to approve an object before its inputs.
Related: Approve an Object · Configure an Approval Workflow · Compare Two Simulations
Simulations, what-if, and portfolio analysis
Section titled “Simulations, what-if, and portfolio analysis”What is a Simulation, and when should I run one?
Section titled “What is a Simulation, and when should I run one?”A Simulation runs the logic of any registered object (Data Element, Feature, Model, or Policy) on historical data. Run one to validate correctness, measure metrics, generate evidence for approval, or compare against a baseline. You don’t need approval to simulate. See Run a Simulation.
What is a What-If analysis?
Section titled “What is a What-If analysis?”A What-If simulation always runs against a chosen baseline simulation. The output highlights how the candidate’s metrics differ from the baseline (approval-rate delta, bad-rate delta, score-shift distributions), so you can quantify the impact of a proposed change before approving it.
What is the difference between a Simulation and a Single Record Review?
Section titled “What is the difference between a Simulation and a Single Record Review?”A Simulation is a batch run on many records producing aggregate metrics. A Single Record Review traces one record through every block of a Policy, showing which rules fired, which offers were generated, and why. It’s useful for debugging or explaining a specific decision.
Can I schedule a Simulation to run regularly?
Section titled “Can I schedule a Simulation to run regularly?”Yes. The Simulation form has a Scheduling section (start date, time, recurrence). Each scheduled run is preserved as its own job so you can trend metrics across runs and configure alerts on them.
What is a Portfolio Analysis?
Section titled “What is a Portfolio Analysis?”A portfolio analysis evaluates a Policy across a population to see distributional outcomes (approval mix, expected loss, offer assignment) rather than testing correctness on a single dataset.
Related: Run a Simulation · Run a What-If Analysis · Run a Single Record · Run a Portfolio Analysis · Understand Job Output
Monitoring, alerts, and reports
Section titled “Monitoring, alerts, and reports”Once a Model or Policy is live, how do I know it is still healthy?
Section titled “Once a Model or Policy is live, how do I know it is still healthy?”Set up a Monitoring Dashboard. Dashboards refresh on a schedule (daily, weekly, monthly) by pulling outcomes back from production. They show stability metrics (PSI, CSI), discrimination metrics (KS, AUC), and policy-level metrics (approval rate, bad rate), and trigger alerts when a metric breaches a threshold.
When exactly does a Monitoring Dashboard’s data refresh?
Section titled “When exactly does a Monitoring Dashboard’s data refresh?”The Data Refresh Logic runs in exactly three situations: at the scheduled refresh time set on the Details tab, immediately when someone uploads a CSV or Excel file in Reports → Data View, and when someone saves in-grid edits there with Save Changes. Alerts are re-evaluated after each of these. The Refresh Data button in the Data View toolbar is not one of them: it only reloads the grid display and does not run the refresh logic.
In refresh logic, what is the difference between file_data and dashboard_data?
Section titled “In refresh logic, what is the difference between file_data and dashboard_data?”dashboard_data is the data the dashboard currently holds (what you see in Reports → Data View). file_data is the parsed contents of a just-uploaded file, and it is only populated when the refresh was triggered by a file upload; on scheduled runs and in-grid saves it is None. That is why the standard pattern is “use the uploaded file if there is one, otherwise keep the existing data”; see Monitor your Model or Policy for the snippet.
What date format does the Monitoring Dashboard expect?
Section titled “What date format does the Monitoring Dashboard expect?”Month-first, US-style dates. Date columns are stored and displayed as MM-DD-YYYY, and uploaded or edited values are parsed by trying MM-DD-YYYY, MM/DD/YYYY, and their two-digit-year variants first (ISO YYYY-MM-DD and native Excel date cells also parse). There is no per-dashboard or per-column date format setting. Two things to check when dates misbehave: the column must have Column Type DateTime in the Data Schema, otherwise values load as plain text; and ambiguous dates are always read month-first, so 11-12-25 means November 12, 2025, never 11 December.
What are PSI, CSI, and KS?
Section titled “What are PSI, CSI, and KS?”- PSI (Population Stability Index): detects shift in the distribution of a continuous variable versus a reference period.
- CSI (Characteristic Stability Index): PSI’s counterpart for categorical variables.
- KS (Kolmogorov–Smirnov): measures how well a model separates the positive and negative classes.
Corridor computes these automatically as part of model simulations and monitoring.
How do I set up email or in-app alerts?
Section titled “How do I set up email or in-app alerts?”In a Monitoring Dashboard, add an alert rule under the Alert Settings tab: pick a metric, a threshold, and a recipient list. Triggered alerts appear in the Triggered Alerts tab and can be sent via email if your admin has configured an email provider. See Set up Alerts.
How do I test my alerts without waiting for the next scheduled refresh?
Section titled “How do I test my alerts without waiting for the next scheduled refresh?”From the Alert Settings tab toolbar, click Evaluate Now. It runs every active alert against the current dashboard data immediately, and its tooltip shows when alerts were last evaluated. You need write access to the dashboard, and the button is disabled when no alerts exist. See Set up Alerts.
What is lineage, and why does it matter?
Section titled “What is lineage, and why does it matter?”Lineage shows everything an object depends on (upstream) and everything that depends on it (downstream). Before changing a Feature, lineage tells you every Model and Policy that will be affected.
How do I find everything that uses a Feature or Data Element before I change or delete it?
Section titled “How do I find everything that uses a Feature or Data Element before I change or delete it?”Open the object’s details page and scroll to the Lineage card. It opens on the Precedents tab, which shows the inputs the object depends on; switch to the Dependents tab to see every downstream Feature, Dataset, Model, Policy, or Report that consumes the object. By default Dependents shows only final (approved) versions, so toggle Include Drafts to catch draft consumers too, and Include Sub-Objects for a fully expanded view.
Related: Monitor your Model or Policy · Set up Alerts · Register Reports
Security, permissions, and governance
Section titled “Security, permissions, and governance”What is Permissible Purpose?
Section titled “What is Permissible Purpose?”A set of tags applied to Data Elements, Features, and Models that declare where the object is allowed to be used (e.g. underwriting, marketing, PII-restricted). The platform flags downstream uses that violate the tags, so a PII-marked Data Element will not silently end up in a marketing Policy.
Who can approve my work?
Section titled “Who can approve my work?”The set of approvers is defined by the Approval Workflow attached to the object’s type. Workflows are configured by admins, can mix users, roles, and external tools, and can require sequential or parallel approval gates. See Configure an Approval Workflow.
Can the same workflow have parallel and sequential steps?
Section titled “Can the same workflow have parallel and sequential steps?”Yes. Responsibilities within the same sequence group review in parallel. Sequence groups run in order: every responsibility in sequence 1 must accept before sequence 2 unlocks.
What is recorded when I edit a Model, Feature, or Policy?
Section titled “What is recorded when I edit a Model, Feature, or Policy?”Every change is recorded with the author, timestamp, version number, and an optional comment. The Change History tab on each object exposes that audit trail and supports compliance reviews.
Can someone outside my workspace see my draft work?
Section titled “Can someone outside my workspace see my draft work?”Drafts are scoped to your workspace. Other users only see an object after it has been published through an approval workflow and they have the right permissions.
In Share Access or Request Access, why can’t I find the user I search for?
Section titled “In Share Access or Request Access, why can’t I find the user I search for?”The user picker matches on the display name (first name plus last name) only. Each dropdown row shows the display name with the username underneath, but typing a username or user ID does not match anything. If a colleague’s profile has no first and last name set, their display name falls back to their username, and in that case the username is what you search by. So search by name first; if nothing comes up, the account probably has no name filled in, and you need their user ID instead.
Related: Configure Roles and Permissions · Organize Objects · Configure an Approval Workflow
Data sources and integrations
Section titled “Data sources and integrations”What data sources are supported?
Section titled “What data sources are supported?”Data Tables can be registered against file systems (Amazon S3, Google Cloud Storage, Azure Blob, HDFS, other file systems) holding Parquet, ORC, or CSV, and against data warehouses: Snowflake, Hive, Oracle, MSSQL, and other JDBC-compliant databases. You can also upload a CSV or Excel file directly. The connection or path is captured in the Data Table registration. See Register a Table.
How do I register a Snowflake table?
Section titled “How do I register a Snowflake table?”In the Data Table’s Input Source, select Snowflake (under Data Warehouses) and enter the table identifier in the location field, prefixed with snowflake:// (for example, snowflake://PUBLIC.APPLICATIONS). The text after the prefix is the table the platform reads (the Snowflake dbtable). You do not pick a file format for Snowflake; it is set automatically once you choose the Snowflake source.
The Snowflake account itself (URL, account, user, database, schema, warehouse) is configured once at the platform level by your admin, not per table, so you only supply the table identifier here. After saving, use Fetch Columns to pull the schema as usual.
How do I register an Oracle table?
Section titled “How do I register an Oracle table?”In the Data Table’s Input Source, select Oracle (under Data Warehouses) and enter the table identifier in the location field, prefixed with oracle:// (for example, oracle://SCHEMA.CUSTOMERS). As with Snowflake, the part after the prefix is the table the platform reads, and there is no separate file-format choice.
Oracle is read over JDBC using a connection your admin configures once at the platform level, so you only enter the table identifier. After saving, run Fetch Columns to load the schema.
Why can’t I join two tables (or why don’t they appear linked)?
Section titled “Why can’t I join two tables (or why don’t they appear linked)?”Tables join through table keys: both tables must map a column to the same configured key during table registration. Two tables can each hold an application identifier column, but unless both columns are mapped to the same key under Settings → Table Keys, the platform has no way of knowing they join. If a join you expect is missing (in a Dataset, a Data Aggregate, or lineage), check the Key assignment on both tables’ columns first.
Can I preprocess data before Corridor reads it?
Section titled “Can I preprocess data before Corridor reads it?”Yes. A Table can carry Read Logic: Python or PySpark code that runs before any downstream job reads the Table. Use it for type casts, normalization, joining auxiliary tables, or filtering down to a window.
How does an approved Model or Policy get into production?
Section titled “How does an approved Model or Policy get into production?”Approved objects can be exported as artifacts (scorecards, JSON definitions, or model bundles) suitable for deployment into your LOS or scoring engine (examples include MeridianLink, Fiserv, Origence). The exact bundle depends on the deployment target you select. [UNCONFIRMED] Exact deployment mechanics are environment-dependent; check with your platform admin.
Can I use custom Python libraries in my Feature or Data Element logic?
Section titled “Can I use custom Python libraries in my Feature or Data Element logic?”Standard libraries (numpy, pandas, pyspark, math, datetime) are available out of the box. Adding new libraries is an admin / environment task; ask your platform admin to confirm the policy for custom dependencies.
Related: Register a Table · Register a Data Aggregate · What’s in the Artifact · Configure Table Keys
Admin and configuration
Section titled “Admin and configuration”How do I set up an approval workflow for my team?
Section titled “How do I set up an approval workflow for my team?”Go to Settings → Approval Workflow, create a workflow, pick the object types it covers, then add Responsibilities (the reviewers). Each Responsibility can have veto power and a sequence number. Activate the workflow so it appears in the workflow dropdown when authors register an object. See Configure an Approval Workflow.
Can I retire an old approval workflow without breaking pending requests?
Section titled “Can I retire an old approval workflow without breaking pending requests?”Yes. Set the workflow to Inactive: it disappears from new selections but in-flight approvals continue with the workflow they were submitted under. Use the Usage Statistics view to migrate existing objects to a successor workflow if needed.
What is the difference between a Simulation and a Monitoring Dashboard?
Section titled “What is the difference between a Simulation and a Monitoring Dashboard?”A Simulation is an ad-hoc job: pick a dataset, run, get results. A Monitoring Dashboard is a recurring, multi-object view that pulls fresh production data on a schedule and is the right home for ongoing health tracking and alerting.
Where do I report a bug or ask for help?
Section titled “Where do I report a bug or ask for help?”See Common Troubleshooting first for known errors and resolutions. If your issue isn’t covered, capture the exact error text (with any API-XX code), the object you were working on, and the action that triggered it, and share with your platform admin or support contact.
Related: Configure an Approval Workflow · Manage Users · Configure Platform Settings
See also
Section titled “See also”- Common Troubleshooting: symptom-to-fix lookup for errors.
- Glossary: definitions of every platform term.
- Getting Started: guided introduction.
Was this page helpful?
Thanks for the feedback.