The three-object CRM data model that ends your data silos
Every few weeks a developer gets pulled into a meeting they didn't ask for. The revenue team's CRM is "a mess," the reports don't match, and someone has decided that the engineer who once wrote a SQL query against it is now responsible for fixing it. If that's you, this is the map I wish someone had handed me the first time I opened a CRM with several hundred custom properties and a lifecycle…
A CRM data model is the schema of a revenue system, including objects, fields, relationships, and states. However, traditional CRMs ship without a designed schema, and users can freely add properties, pipeline stages, and workflows. This leads to data silos, as different teams use incompatible mental models - marketing focuses on leads, sales on deals, and customer success on accounts.
To address this, a three-object architecture is proposed: Company, Contact, and Deal. Company represents the economic entity that pays, Contact is a human at a company, and Deal is a discrete revenue opportunity with a lifecycle. Contacts without an open Deal are Leads, and Deals with type=renewal are Renewals. By focusing on these three objects, data silos are reduced, and revenue questions can be answered through simple two-hop queries.
The migration process involves exporting properties, defining the target state machine, and gradually migrating data from the old model to the new one. The success of the migration is measured by the ability to answer revenue questions with one query path, yielding consistent results across different users.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.