E-11 — Classification Type & Value

The extensible taxonomy behind time-varying classifications — the definition of what classifiers exist and what values are valid within each. The reference data that E-12 Classification History records against.

Purpose

OpenIM treats classification generically: department, credit rating, sector, strategy, geography and the rest are not special cases, they are instances of one pattern — a time-varying attribute on a holding or investment. For that to hold, the classifiers themselves must be defined as data, not as schema. E-11 is that data. Adding a new classifier type, or a new value within one, is a governance action — a new row — not a code change.

The entity has two parts: Classification Type (what classifiers exist) and Classification Value (the valid values within each, with their own effective dating — classifier values change too, as departments open and close and strategies are renamed and retired).

Attribute schema — Classification Type

ColumnTypeDefinition
classification_type_keyintPrimary key.
classification_type_codevarcharThe classifier code — e.g. DEPT, CREDIT_RATING, SECTOR, STRATEGY, GEOGRAPHY.
descriptionvarcharWhat the classifier is.
ownervarcharWho governs this classifier’s values.

Attribute schema — Classification Value

ColumnTypeDefinition
classification_value_keyintPrimary key. The value -1 is reserved for UNKNOWN.
classification_type_keyint (FK → Classification Type)The classifier this value belongs to; null on the reserved UNKNOWN row, which applies to every type.
value_codevarcharThe natural code of the value within its type.
value_labelvarcharThe display label.
effective_fromdateWhen this value became valid.
effective_todateWhen it was retired; null while active.
superseded_by_keyint (FK → self)The replacement value, for a rename or merge; null otherwise.

The reserved UNKNOWN value

One Classification Value row is reserved, loaded at build time and never modified: key -1, code UNKNOWN, effective from an epoch date and never expiring. Every holding or investment with no resolved classification for a period joins to it. This keeps E-12’s aggregations clean — they still sum to the total — while keeping every gap visible and queryable rather than silently null. When a real classification is recovered, the correct row is inserted and the placeholder superseded; the UNKNOWN row itself is permanent.

Notes

  • Classifier values are themselves effective-dated. A model that treats classifier values as static lookup data produces wrong results as the business evolves — a retired department must not vanish from a historical query.
  • Generic by design: keeping classifier definitions in E-11 as data is the move that makes department, rating, sector, strategy and geography one problem rather than five.

Out of scope

  • The time-varying classification records against a holding or investment — that is E-12 Classification History; E-11 defines what classifiers and values exist, E-12 records which value applied when.
  • The asset-class taxonomy specifically — that is E-09 Asset Class, a dedicated reference entity, not a generic classifier here.
  • The governance workflow for adding a classifier type or value — named as an open extension; the entity carries the structure, not the process.

Owned and consumed by

  • Owned by: SD-13.7 Data Quality & Governance.
  • Consumed by: E-12 Classification History (every classification record references a type and a value here); SD-09 Performance & Analytics and SD-13.10 Investment Reporting & Dashboards (the slicing dimensions); SD-01.11 Liquidity Strategy & Tiering governs the LIQUIDITY_TIER classifier type and its tier values as its policy artefact (SD-13.7 owns the entity; SD-01.11 governs this classifier’s values), and SD-07.3 Liquidity Risk Management consumes the taxonomy to classify each holding.

Open extensions

  • The governance workflow for adding a classifier type or value.
  • The relationship to standard external taxonomies (e.g. GICS for sector) — which classifier values are internal and which align to an external scheme.

Built from open-investment-model v0.3.0 · f7452ad