Entimema

Real-Time Utilisation and Exposure Monitoring

Entimema
Contents

A revolving facility has a €10,000 limit and €4,000 posted draw: 40% utilisation. The customer initiates €3,000 of new usage. Authorisation updates immediately, servicing posts later, and risk still reports 40% even though near-term operational exposure is €7,000—or 70%.

LIMIT€10,000POSTED DRAWN€4,000PENDING USAGE€3,000POSTED UTILISATION40%OPERATIONAL UTILISATION70%

Exposure is a versioned state—not a balance column

Exposuret = f(Drawnt, Pendingt, Undrawnt, FacilityStatet)
Decision-specific exposure
Explicit exposure views
ViewDefinitionUse
Posted drawnFormally applied facility usageServicing and confirmed exposure
Pending usageAuthorised or initiated, not finalProvisional operational state
Posted utilisationPostedDrawn / EffectiveLimitConfirmed utilisation view
Operational utilisation(PostedDrawn + RelevantPending) / EffectiveLimitNear-term decision view
Available creditLimit − Drawn − RelevantPending − BlockedAuthorisation/limit headroom under declared semantics

Use posted_utilisation, operational_utilisation and available_credit, not one ambiguous utilisation. Pending exposure is not final draw; preserve provisional and confirmed state where decisions need both.

type ExposureState = {
  facilityId: string;
  limitMinor: bigint;
  postedDrawnMinor: bigint;
  pendingMinor: bigint;
  blockedMinor: bigint;
  availableMinor: bigint;
  postedUtilisation: number;
  operationalUtilisation: number;
  effectiveAsOf: Date;
  generatedAt: Date;
  stateVersion: string;
};

The numerator, denominator and pending state need component time

type ExposureComponent<T> = {
  value: T;
  effectiveAsOf: Date;
  availableAsOf: Date;
};
LIMIT TIME
06:00
DRAWN TIME
14:00
PENDING TIME
14:01
COHERENCE + FRESHNESS GUARD
A fresh drawn balance with an old limit can understate or overstate risk; component timestamps must remain visible to the state engine.

A limit reduction from €10,000 to €8,000 with €7,000 drawn changes utilisation from 70% to 87.5%. A stale denominator understates risk; a stale numerator can overstate available credit. Validate each component against the decision-specific freshness budget.

A future-effective limit change can be known today without changing today's denominator. Represent current limit and scheduled change separately.

Pending usage is a lifecycle, not a free-standing amount

RESERVEPENDING
CAPTURE / POSTRELEASE / EXPIRE
A reservation confirms into posted usage or releases/expires. Stable transaction identity prevents pending and posted representations from becoming two exposures.

Use causal events such as AUTHORIZATION_RESERVED, AUTHORIZATION_POSTED and AUTHORIZATION_RELEASED. Timeouts or source finality release abandoned reservations; otherwise available credit stays understated.

OriginalReservation = PostedCapture + ReleasedAmount + RemainingPending
Partial-capture conservation

A €1,000 reservation posting €700 releases €300. Where multiple captures are allowed, one reservation maps to several causal postings without losing the original conservation identity.

Availability checks and reservations must be one concurrency boundary

Two simultaneous €2,000 requests can both read €3,000 available and both approve if the system follows “read, approve, update later.” Reserve atomically against facility aggregate state.

UPDATE facility_state
SET reserved_minor = reserved_minor + :amount,
    version = version + 1
WHERE facility_id = :id
  AND version = :expected_version;

If zero rows update, reload and retry against the new state. Optimistic compare-and-swap supports concurrency; pessimistic aggregate locking can simplify correctness at lower throughput. Choose from workload and failure semantics, not fashion.

One authorization_id → one pending economic effect
Reservation identity

Posting moves exposure; it must not add it twice

PENDING
−A
posting transitionPOSTED DRAWN
+A
OPERATIONAL EXPOSURE
≈ UNCHANGED
ΔPending = −A; ΔPosted = +A; ΔOperationalExposure ≈ 0
Pending-to-posted invariant

Stable transaction identity links authorisation and final posting. If pending is not removed, PostedDrawn + Pending counts the same transaction twice. A pending cancellation decreases pending without ever increasing drawn; it is not a drawdown reversal.

Repayment affects exposure only at the defined finality state

Payment and reversal effects
StateExposure treatment
PAYMENT_INITIATEDUsually not final; do not assume exposure reduction
PAYMENT_SETTLEDMay support provisional relief where policy permits
PAYMENT_APPLIEDConfirmed facility draw reduction under servicing semantics
REPAYMENT_REVERSEDDraw rises again; utilisation and available credit recompute
DRAW_REVERSEDPosted draw decreases with causal reversal lineage

A payment can settle externally before servicing applies it. Whether available credit increases provisionally or waits is a governed product decision. Preserve both the event and the state transition rather than mutating history.

A canonical exposure engine composes field-level authority

Illustrative field authority
ComponentOwning domain
Effective facility limitServicing / facility domain
Pending authorisationProcessor / authorisation domain
Posted facility balanceCore / servicing
Accounting balanceLedger
Repayment finalityPayment and servicing semantics
LIMIT EVENTSUSAGE EVENTSPAYMENT EVENTSFACILITY STATE ENGINECANONICAL EXPOSURE STATE

Operational exposure and general-ledger balance can legitimately differ at an instant. The first serves timely decisions; the second serves accounting truth. Keep both views, label them, and reconcile at aligned cut-offs.

Preserve exposure components before risk aggregation

UsableUndrawn = Limit − Drawn − Reserved − Blocked
Usable undrawn
EAD = Drawn + CCF × Undrawn
Illustrative EAD relationship

Whether pending enters drawn or undrawn is methodology-specific. Supply posted_drawn, pending_usage, contractual_undrawn, usable_undrawn and limit separately. One opaque EAD cannot explain limit, draw or utilisation changes.

Party exposure aggregates canonical facilities under role/attribution policy. Portfolio economic exposure sums unique facilities, so joint-borrower relationships never multiply the money.

Trigger risk only after exposure coherence is proven

VelocityU = (Ut − Ut−k) / k
Utilisation velocity

Monitor level, velocity, exposure growth and headroom. A 45% → 88% spike can feed EWS only when its numerator and denominator are coherent. Versioned hysteresis can stabilise NORMAL, ELEVATED, HIGH and CRITICAL states without prescribing universal thresholds.

Exposure features need sufficient intraday history

Exposureknown(T) ≠ Exposurerestated(T)
Known and corrected exposure

Historical decisions replay known state; late posting or corrections produce restated analysis. Store exposureStateVersion or an immutable input manifest.

End-of-day sampling erases intraday peaks and understates MaxUtilisation_24h. Define whether each feature uses end-of-day, intraday maximum or time-weighted average. Current utilisation, 30-day max, 7-day exposure growth and headroom all trace to canonical exposure state.

A golden exposure stream proves conservation and concurrency

Deterministic exposure stream
StepEventExpected state effect
1Set limit €10,000Limit 10,000; available 10,000
2Draw €4,000Posted 4,000; available 6,000
3Reserve €2,000Pending 2,000; operational exposure 6,000
4Post €1,500Pending 500; posted 5,500; operational unchanged
5Release €500Pending 0; available rises
6Apply repayment €1,000Posted falls to 4,500
7Reverse repayment €1,000Posted returns to 5,500
8Reduce limit to €8,000Available, utilisation and over-limit flag recompute
Exposure-state invariant tests
TestProof
Pending to postedOperational exposure does not double
Duplicate reservationRepeated authorisation reserves once
Partial captureReservation conservation holds exactly
Concurrent reservationsVersion control prevents unauthorised oversubscription
Late repaymentKnown history stays fixed; restated state changes
Incremental/full replaySame events yield identical exposure state

Reconcile operational, servicing and accounting state at aligned cut-offs

Compare canonical posted drawn with servicing balance and relevant ledger state. Classify timing, pending, missing event, duplicate or correction differences. Pending-to-posted transition and partial-capture conservation make discrepancies explainable rather than opaque.

ExposureStateincremental = ExposureStatefull replay
Exposure engine invariant

Periodic authoritative reconciliation controls the streaming projection; it should not create a second ungoverned exposure truth.

Monitor coherence, pending lifecycle and decision readiness

ExposureStateLagPendingAgeReservationExpiryRateOperationalVsPostedDifferenceOverLimitRateDuplicateReservationRateExposureReconciliationDifferenceDecisionReadyExposureLag
PendingAge = CurrentTime − ReservationTime
Pending age

Track limit, draw, authorisation and repayment source health. A “real-time” view is only as reliable as its weakest critical feed. Sudden utilisation shifts after a limit-system migration may be denominator drift, not borrower deterioration.

Before high-impact decisions, gate on freshness, completeness, source health and reconciliation status. Fail-silent pending feeds can overstate available credit.

The Entimema architecture synchronises lifecycle state before serving risk

LIMIT / AUTHORISATION / DRAWDOWN / REPAYMENT EVENTSCANONICAL FACILITY EVENT LAYERRESERVATION / PENDING STATEPOSTED DRAWN STATECANONICAL EXPOSURE ENGINEAVAILABLE / UTILISATION / HEADROOMFEATURE STORE / EAD INPUTSLIMIT / EWS / RISK DECISIONSAUTHORITATIVE RECONCILIATION
Canonical transaction lifecycles prevent duplicate pending/posted effects; coherent facility state serves explainable utilisation, EAD inputs and risk decisions before authoritative reconciliation.
ENTIMEMA FRAMEWORKReconstruct → Synchronise → Monitor → Trigger → Reconcile
  1. Define facility exposure semantics
  2. Define limit authority
  3. Define drawn and pending state
  4. Link transaction lifecycle
  5. Enforce concurrency
  6. Derive available and utilisation
  7. Validate freshness
  8. Trigger risk decision
  9. Reconcile
  10. Replay and monitor

An Exposure State Integrity Agent can diagnose discrepancies without changing limits

A controlled agent can monitor limit/drawn/pending synchronisation, detect stale components, duplicate or long-lived reservations, compare operational and posted exposure, identify over-limit anomalies, compare incremental with replayed state and trace affected historical decisions.

Continue with Streaming Behavioural Features for Early Warning, From Batch ETL to Event-Driven Credit Risk Architecture, Building a Credit Risk Feature Store, Customer, Facility, Account and Exposure, Reconstructing Account State, Credit Limit Assignment and IFRS 9 EAD & Credit Conversion Factors. Event-driven triggers, backpressure recovery and real-time collections state remain future research directions—not fabricated routes.