Skip to main content

AI Modeling & Build

After BRD completion, ekai generates production-ready artifacts. The AI MODELING & BUILD tab contains six sub-tabs for each artifact type.

Prerequisites

Complete the Capture Requirements step to generate your Business Requirements Document.


Artifact Sub-tabs

TabContent
DATA LINEAGEVisual diagram of data flow
DATA CATALOGTable and column documentation
BUSINESS GLOSSARYTerm definitions
METRICS/KPISCalculated measures with SQL
DATA VALIDATIONdbt tests and quality rules
DBT PROJECTComplete dbt project code

Data Lineage

Visual representation of how data flows from source to output:

Data lineage diagram

Lineage Diagram Elements

Source Tables

Yellow boxes - raw data from warehouse

Staging Models

Green boxes - cleaned/renamed data

Intermediate

Pink boxes - business logic

Final Models

White boxes - marts and facts

Controls

  • Zoom — + / - buttons
  • Pan — Click and drag
  • Fullscreen — Expand view
  • Download — Export as image

Data Catalog

Auto-generated documentation for all tables and columns:

Data catalog

Catalog Entry Example

fct_card_activation

Fact table capturing card activation events and metrics for onboarding analysis. Grain: One row per card issued.

Column NameData TypeDescription
card_idNUMBERPrimary key - Unique identifier from Worldline
customer_idNUMBERForeign key to dim_customers
card_typeTEXTType of card (Debit, Credit, Prepaid)
card_issuance_dateDATEWhen the card was issued
card_activation_dateDATEWhen activated (nullable)
activation_lag_daysNUMBERDays between issuance and activation
is_activatedBOOLEANWhether card has been activated
is_valid_activationBOOLEANData quality flag
customer_segmentTEXTCustomer segment for analysis

Business Glossary

Standardized term definitions:

Business glossary

Glossary Format

TermDefinition & Logic
Customer 360 ViewA complete, unified view of each customer combining all banking relationships—deposits, loans, cards, and interactions—into a single record.
Active RelationshipA banking product or account that is currently open and operational. Closed or inactive accounts are not counted.
Deposit BalanceTotal amount deposited across all active savings and checking accounts, shown in Euros.
Outstanding Loan BalanceTotal amount owed across all active loans, shown in original loan currency.
Card Utilization RatePercentage of credit limit currently utilized across all active cards.

Metrics/KPIs

Calculated measures with SQL formulas:

Metrics and KPIs

Metrics Format

NameDescriptionCalculation
Total Deposit BalanceSum of all deposit balances (EUR)SUM(total_deposit_balance_eur) WHERE deposit_account_count > 0
Average Deposit per CustomerAverage deposit balanceAVG(total_deposit_balance_eur) WHERE deposit_account_count > 0
Card Utilization RateCredit usage percentage(SUM(outstanding) / SUM(credit_limit)) * 100
Activation RateCards activated percentageCOUNT(activated) / COUNT(total) * 100

Data Validation

Quality rules implemented as dbt tests:

Data validation rules

Validation Rule Example

1. Grain Validation

AttributeValue
RuleOne Row Per Customer
CategoryGRAIN
SeverityCRITICAL
Test TypeUniqueness
Expected ResultZero rows returned
Failure ActionBLOCK deployment

Implementation:

SELECT customer_id, COUNT(*) as row_count
FROM mart_customer_360
GROUP BY customer_id
HAVING COUNT(*) > 1

DBT Project

Complete dbt project with all models:

DBT project view

Project Structure

├── README.md
├── dbt_project.yml
├── logs/
├── macros/
├── mart_relations.json
├── models/
│ ├── intermediate/
│ ├── marts/
│ │ └── customer/
│ │ ├── _customer__models.yml
│ │ ├── mart_customer_360.sql
│ │ └── sources.yml
│ └── staging/
├── models_targets.json
├── package-lock.yml
└── packages.yml

Code View

The right panel shows model SQL with syntax highlighting:

models:
- name: mart_customer_360
description: "Single denormalized table containing one row per customer"
tests:
- dbt_utils.equal_rowcount:
compare_model: ref('stg_customers')
columns:
- name: CUSTOMER_ID
description: "Unique identifier for the customer"
tests:
- not_null
- unique

Share with Collaborators

Use the Share button to add team members:

Share with collaborators

Next Steps