Back to Pit Lane
Deep Dive Telemetry
Data Structure
Normalized

Data Model

How your data is normalized and structured - consistent schema across all sources.

Pit Stop Quick Brief

Milemarker normalizes data from all your systems into a consistent schema. Whether account data comes from Schwab or Fidelity, it ends up in the same format. This means your reports, dashboards, and workflows work across all data sources without custom logic.

Why Normalization Matters

Without Normalization

  • Schwab calls it "account_number"
  • Fidelity calls it "acct_id"
  • Orion calls it "accountId"
  • Custom logic needed for each source

With Normalization

  • All sources mapped to "account_id"
  • Consistent field names everywhere
  • One report works for all custodians
  • Build once, use everywhere

Core Data Entities

Households

Primary Entity

The top-level grouping for client relationships. Links together related accounts, contacts, and relationships.

household_id name primary_advisor segment inception_date

Accounts

Financial Data

Investment accounts from custodians. Linked to households and containing positions, transactions, and performance.

account_id custodian account_type market_value household_id

Contacts

People

Individual people associated with households. Includes clients, beneficiaries, and related parties.

contact_id first_name last_name email relationship

Positions

Holdings

Current holdings within accounts. Securities, quantities, values, and cost basis information.

position_id security_id quantity market_value cost_basis

Transactions

Activity

Account activity including trades, dividends, fees, deposits, and withdrawals.

transaction_id type amount trade_date settle_date

Cross-Source Linking

The same household can have accounts at Schwab, Fidelity, and Pershing. Milemarker links them all together so you see a complete picture.