Analytics Ontology Design: Structuring Business Concepts for AI

Analytics ontology design creates formal structures for business concepts, their properties, and relationships - enabling AI systems to reason about analytics domains with precision and consistency.

7 min read·

Analytics ontology design is the practice of creating formal models that define business concepts, their properties, and their relationships for use in analytics systems. An ontology provides the conceptual foundation that AI systems need to understand what data represents and how different elements connect. Without an ontology, AI treats data as abstract structures; with one, AI understands the business domain.

An ontology teaches AI what things are, not just how they're stored.

What Is an Analytics Ontology

Conceptual Model

An ontology defines the concepts in a domain:

  • Classes: Types of things (Customer, Order, Product)
  • Properties: Characteristics of things (name, status, value)
  • Relationships: Connections between things (Customer places Order)
  • Constraints: Rules governing the domain (Order must have Customer)

Semantic Foundation

The ontology provides meaning:

  • What distinguishes a "prospect" from a "customer"
  • What it means for an order to be "completed"
  • How "revenue" relates to "orders"

Machine-Readable Knowledge

Unlike documentation for humans, ontologies are structured for machine consumption:

  • AI can query the ontology for definitions
  • AI can traverse relationships for context
  • AI can apply constraints for validation

The Codd AI Approach leverages ontological thinking to ground AI in business semantics.

Ontology Components

Classes (Concepts)

The types of things in the domain:

Customer - An entity that purchases products or services
  - Prospect: potential customer not yet converted
  - ActiveCustomer: customer with recent purchase
  - ChurnedCustomer: customer who has stopped purchasing

Product - An item available for sale
  - PhysicalProduct: tangible goods
  - DigitalProduct: software or digital content
  - Service: professional services

Order - A purchase transaction
  - OneTimeOrder: single purchase
  - SubscriptionOrder: recurring purchase

Properties (Attributes)

Characteristics of each class:

Customer
  - id: unique identifier
  - name: display name
  - email: contact email
  - status: current state (active, churned, prospect)
  - tier: classification (enterprise, SMB, individual)
  - created_date: when customer was created
  - lifetime_value: total revenue from customer

Order
  - id: unique identifier
  - date: when order was placed
  - status: current state (pending, completed, cancelled)
  - total: order value
  - currency: transaction currency

Relationships

How concepts connect:

Customer --places--> Order
Order --contains--> LineItem
LineItem --for--> Product
Customer --assigned_to--> SalesRep
Product --belongs_to--> ProductCategory

Constraints

Rules governing the domain:

- Every Order must have exactly one Customer
- Order.total must be non-negative
- Customer.email must be unique
- Completed Order cannot change to Pending

Axioms

Logical rules for inference:

- If Customer has Order in last 90 days, Customer is ActiveCustomer
- If ActiveCustomer has no Order in 90 days, Customer becomes ChurnedCustomer
- Revenue = Sum of Order.total for Completed Orders

Designing an Analytics Ontology

Step 1: Domain Scoping

Define ontology boundaries:

  • What analytics questions should the ontology support?
  • What business processes are in scope?
  • What level of detail is needed?

Start focused - broad ontologies are hard to build well.

Step 2: Concept Identification

Identify core concepts:

  • What entities appear in analytics reports?
  • What terms do business users employ?
  • What dimensions segment the data?

Methods:

  • Review existing reports and dashboards
  • Interview domain experts
  • Analyze common queries
  • Examine data schemas

Step 3: Hierarchy Design

Organize concepts into hierarchies:

Entity
  |-- Customer
  |     |-- Prospect
  |     |-- ActiveCustomer
  |     |-- ChurnedCustomer
  |
  |-- Product
        |-- PhysicalProduct
        |-- DigitalProduct

Subclasses inherit properties from parent classes.

Step 4: Property Definition

Define attributes for each concept:

  • What characteristics are analytically relevant?
  • What's the data type and constraints?
  • Which properties are inherited vs. specific?

Step 5: Relationship Mapping

Document how concepts connect:

  • What relationships exist?
  • What's the cardinality (one-to-many, many-to-many)?
  • Are relationships required or optional?

Step 6: Constraint Specification

Define domain rules:

  • What must be true for valid data?
  • What transitions are allowed?
  • What combinations are invalid?

Step 7: Validation

Test ontology completeness:

  • Can it support the target analytics questions?
  • Does it match expert understanding?
  • Are edge cases handled?

Ontology Representation

Informal Representation

Human-readable documentation:

## Customer Ontology

A **Customer** is an entity that purchases products or services.

### Subtypes
- **Prospect**: Potential customer who has not yet made a purchase
- **Active Customer**: Customer with purchase in last 90 days
- **Churned Customer**: Previously active customer with no recent purchase

### Properties
- id (string, required): Unique identifier
- name (string, required): Display name
- tier (enum: enterprise|smb|individual): Customer classification

Semi-Formal Representation

Structured but readable:

classes:
  Customer:
    description: "Entity that purchases products or services"
    properties:
      id: {type: string, required: true}
      name: {type: string, required: true}
      tier: {type: enum, values: [enterprise, smb, individual]}
    relationships:
      places: Order
      assigned_to: SalesRep
    subtypes: [Prospect, ActiveCustomer, ChurnedCustomer]

Formal Representation

Machine-readable ontology languages:

:Customer a owl:Class ;
    rdfs:label "Customer" ;
    rdfs:comment "Entity that purchases products or services" .

:ActiveCustomer a owl:Class ;
    rdfs:subClassOf :Customer ;
    rdfs:label "Active Customer" .

:places a owl:ObjectProperty ;
    rdfs:domain :Customer ;
    rdfs:range :Order .

Connecting Ontology to Analytics

Semantic Layer Mapping

Connect ontology concepts to semantic layer constructs:

  • Classes map to entities/dimensions
  • Properties map to columns/attributes
  • Relationships map to joins
  • Constraints map to data quality rules

Query Understanding

AI uses ontology for interpretation:

  1. User asks "revenue by customer segment"
  2. AI identifies: Revenue (metric), Customer (entity), segment (property)
  3. Ontology provides: Customer has tier property, Revenue calculated from Order.total
  4. AI constructs appropriate query

Context Enrichment

Ontology provides background for answers:

  • Customer X is an Enterprise tier customer
  • Enterprise customers have different SLAs
  • This context affects interpretation

Reasoning

Ontology enables inference:

  • User asks about "inactive customers"
  • Ontology defines: inactive = no order in 90 days
  • AI applies rule to identify qualifying customers

Ontology Governance

Ownership

Clear responsibility:

  • Business owner defines concepts
  • Data team maps to implementation
  • Governance body approves changes

Evolution

Ontologies change as business evolves:

  • New concepts emerge
  • Definitions change
  • Relationships shift

Process for changes:

  1. Proposed change with rationale
  2. Impact assessment
  3. Stakeholder review
  4. Approved update
  5. System propagation

Version Control

Track ontology history:

  • What changed when
  • Why it changed
  • Who approved

Quality Assurance

Maintain ontology quality:

  • Completeness reviews
  • Consistency checks
  • Usage validation

Common Challenges

Scope Creep

Ontology grows too broad.

Solution: Define clear boundaries. Resist adding concepts not needed for target analytics.

Abstraction Level

Too abstract (meaningless) or too concrete (rigid).

Solution: Model at the level users think about data. "Customer" is useful; "SalesforceAccountRecord" is too technical.

Maintenance Burden

Ontology becomes outdated.

Solution: Integrate maintenance into business processes. Small, frequent updates rather than periodic overhauls.

Adoption Gap

Beautiful ontology nobody uses.

Solution: Build into tools people use. Ontology should power analytics, not sit in documents.

Measuring Ontology Effectiveness

Coverage Metrics

  • Analytics questions answerable with ontology
  • Concepts used in actual queries
  • Gaps identified by users

Quality Metrics

  • Consistency with domain expert understanding
  • Accuracy of inference results
  • Error rate in ontology-based queries

Impact Metrics

  • AI accuracy with vs. without ontology
  • Query development time
  • User confidence in analytics

The Semantic Foundation

An analytics ontology provides the conceptual infrastructure that makes AI analytics intelligent. Without it, AI manipulates symbols without understanding. With it, AI reasons about the business domain - understanding what things are, how they relate, and what rules govern them.

This semantic foundation transforms AI from a sophisticated calculator into a knowledgeable analyst that understands the meaning behind the data.

Questions

An analytics ontology is a formal model of business concepts, their attributes, and relationships relevant to analytics. It defines what entities exist (customers, products, orders), what properties they have (name, status, value), and how they relate (customers place orders, orders contain products). This model enables AI to understand and reason about the analytics domain.

Related