← All topics

Learn free · topic 70

Focal Point Data Modelling

A screenshot of a computer

Description automatically generatedJust like Data Vault, Focal Point Data Modelling also belongs to the family of Ensemble Data Modelling.

The modelling process in the Focal methodology is organized into five distinct stages, referred to as the Focal Forms:

  • Focal Form One – Identify and define the primary business concept entities.
  • Focal Form Two – Identify and define the natural business relationships between the core business concepts.
  • Focal Form Three – Identify the attributes of the core business concepts, focusing on capturing terms or attributes that are categorized as descriptive characteristics of the business concepts.
  • Focal Form Four – Group the attributes into Descriptor Concepts. This step is unique to Focal, as it emphasizes good definition practices. The task is to categorize attributes into one of 10 predefined Descriptor Concepts, each with a specific definition. For example, one such descriptor concept is Condition, which is a qualifying attribute related to a Focal. A Condition serves two main purposes: (1) it imposes constraints or modifications on the Entity’s characteristics or behaviour, and (2) it specifies requirements that must be met by the Entity. These Conditions are often established through agreements between relevant parties regarding specific Focal members. In practice, Conditions take the form of concrete parameters that influence business relationships or transactions. For instance, in a Contract Focal, the start date acts as a temporal Condition; in a Loan Focal, the interest rate represents a financial Condition; and in an Order Focal, the payment date serves as a temporal Condition that needs to be met.
  • Focal Form Five – Atomic Context. Determine which attributes group together at the most granular level, answering a specific atomic question. This step is crucial for physical implementation, as it helps identify attribute sets that consist of a small number (usually no more than five) of related attributes.

En bild som visar cirkel, skärmbild, text, Färggrann

Automatiskt genererad beskrivning

The Focal implementation pattern.

A yellow and blue circles with arrows

Description automatically generated

Physical Descriptor Table Pattern

A screenshot of a computer

AI-generated content may be incorrect.

Instantiation of the Table Pattern as a Focal Customer Descriptor Table

A screenshot of a computer

AI-generated content may be incorrect.

The Focal implementation pattern follows a Physical Descriptor Table Pattern, which is instantiated as specific tables, such as a Focal Customer Descriptor Table.

Once the physical data model is implemented in Focal Point Modelling, it typically remains stable, with minimal changes thereafter unlike in Data Vault, where the physical model tends to evolve more frequently.

“In Focal Point Modelling, Descriptors can be temporal: ValidFrom/ValidTo capture the period when a loan term or officer detail was true in business reality, while LoadDate (if included) records when the system ingested the change. Unlike Anchor, historization is not enforced on every Descriptor, but when applied, Focal models provide temporal tracking with less rigidity and more business-friendly structures.”

A screenshot of a computer

AI-generated content may be incorrect.

A screenshot of a screen

AI-generated content may be incorrect.

A screenshot of a phone

AI-generated content may be incorrect.

How It Reads

  • Focal_Loan defines the central entity (L001, L002).
  • Relations link each loan to a Customer and an Officer.
  • Descriptors capture historized loan terms and officer details

A qr code with black squares

AI-generated content may be incorrect.

Podcast

Scenario#1:

If business requirement is only to focus on one Entity e.g., Loan, then that will Loan will have One Focal along with its own Descriptor details. Now, as part of the same requirement, if we also need Officer details which need to go via Officer Entity, so we will have Relation (table) i.e., LoanOfficer to host LoanID and OfficerID, which will than have its own Descriptor for Officer details.

A green circle with white text

AI-generated content may be incorrect.

A yellow circles with blue center

AI-generated content may be incorrect.

Scenario#2:

If business requirement is to focus on more than one Entity e.g., Loan, Customer, and Officer then that will be One Focal for each Entity which then will be able to join via Relation (table). Then of course, each focal will have their own Descriptor tables

A green circle with white text

AI-generated content may be incorrect.

A diagram of a diagram

AI-generated content may be incorrect.

DIMENSIONAL & ENSEMBLE MODELLING VS TEMPORAL DATA MODELLING

Temporal Data Modelling is not a competing “family” like Dimensional (Kimball) or Ensemble (Data Vault, Anchor, Focal Point). It is a principle that elevates time to a first-class citizen across the entire schema. In a fully temporal design, every entity and relationship can carry explicit time attributes such as ValidFrom/ValidTo (valid time) and TxnStart/TxnEnd (transaction time). This enables bi-temporal queries by design and supports both operational (OLTP) and analytical (OLAP) use cases.

To understand the distinction clearly, it is useful to compare their intent and scope.

Dimensional Modelling (Analytics Lens)

Dimensional modelling focuses primarily on analytics and reporting. It structures data into facts and dimensions for fast aggregation and business-friendly querying. Historical tracking is handled through techniques such as Slowly Changing Dimensions (SCD Types 1–6). However, temporal handling in dimensional models is typically partial and attribute-level. Time is present, but it is not systemic across every entity and relationship.

In a loan approval example, a Fact_LoanApproval table records approval events. A Dim_Customer table may use SCD Type 2 to track address or segment changes over time. History is supported, but primarily for reporting needs.

Dimensional modelling excels at dashboards and performance-focused OLAP queries. Its weakness is that temporal handling is often “bolted on” rather than deeply embedded in the model’s structure.

Ensemble Modelling (Enterprise Historization Lens)

Ensemble techniques such as Data Vault, Anchor, and Focal Point prioritize enterprise integration and full historization. History is baked into the design. In Data Vault, Satellites store time-variant attributes by default. In Anchor modelling, attributes are historized at a granular level. Time is not optional; it is inherent to the modelling pattern.

In a loan approval environment, Hubs represent Loan and Officer entities. Links capture their relationships. Satellites store evolving LoanTerms or Status changes with timestamps. The model preserves complete lineage and supports audit and compliance needs.

Ensemble modelling is scalable and highly auditable but may be complex for casual analysts. It is optimized for integration and governance rather than immediate reporting simplicity.

Temporal Modelling (Cross-Cutting Principle)

Temporal modelling goes a step further. It treats time as an explicit dimension of truth across all entities and relationships. Any entity-Loan, Customer, Officer, or relationship, Loan–Officer approval, can carry both valid time (when the fact is true in the real world) and transaction time (when the system recorded it).

This enables powerful queries such as:

  • What did we believe on February 1 was valid on January 15?
  • What interest rate was considered effective at the time of approval, and when was that decision recorded?

Unlike dimensional or ensemble modelling, temporal modelling is not a schema by itself. It must be applied within relational, dimensional, or ensemble structures. It acts as a design principle above them.

Comparative View

Aspect

Dimensional Modelling (Kimball)

Ensemble Modelling (Vault, Anchor, Focal)

Temporal Modelling (Principle)

Primary Goal

Optimize for analytics & reporting (OLAP)

Provide enterprise historization & auditability

Make time a first-class citizen across all models

How History is Tracked

Slowly Changing Dimensions (SCD Types 1–6) for attributes; Fact tables for transactions

Satellites (Data Vault), historized attributes (Anchor), history by default

Explicit Valid Time, Transaction Time, or both (bi-temporal)

Grain

Facts = events, Dimensions = descriptive attributes

Hubs = entities, Links = relationships, Satellites = historized attributes

Any entity, relationship, or fact can carry time intervals

Strengths

Business-friendly, query-focused, good for OLAP dashboards

Scalable, auditable, supports full historization, adaptable to change

Regulatory/audit precision, supports “as of” queries and different timelines of belief vs reality

Weaknesses

Limited temporal support (SCD = bolt-on, not systemic)

Complex, heavy metadata management, harder for casual analysts

Not a schema by itself, must be applied within relational/dimensional/ensemble

Loan Approval Example

Fact: LoanApproved, Dim: Customer (SCD tracks address change)

Hub: Loan, Link: Loan–Officer, Satellite: LoanTerms with historization

Loan record has ValidFrom/ValidTo and TxnStart/TxnEnd, enabling “What did we believe on Feb 1 was valid on Jan 15?”

Scope

Data warehouse (OLAP focus)

Enterprise-wide integration & historization

Cross-cutting principle: applies to OLTP, OLAP, and compliance systems

In summary, Dimensional modelling provides the analytics lens, Ensemble modelling provides enterprise historization, and Temporal modelling provides the time-aware foundation that can strengthen either approach. Temporal modelling does not replace dimensional or ensemble methods, it enhances them by ensuring that time is explicitly and consistently modelled across the entire data landscape.

A diagram of a model

AI-generated content may be incorrect.

Finished reading? Test yourself with 10 questions on this topic.

Go to the questions →

From I Am Datapedia! by Mustafa Qizilbash, published here free by the author. Nothing about your reading is stored.