Simple CRM data model versus complicated

When we look at CRM design it’s tempting to build a data model to fit all the use cases of how one’s customers look. This a good example of not letting edge cases complicate a core simple system design.

For instance we have a number of multinational customers which have different divisions and so different parts of the same company have to be treated as multiple entities.

In my analysis it’s a poor choice to make this edge case complicate the choice of CRM data model that one uses. Here’s the choice:

  1. Make do with a simple CRM (for example Pipedrive) that models organizations as flat entities. Find simple workarounds for the few complicated customers that you have like:

    • Write notes in the CRM describing the relationships between different related entities

    • Use URLs to link these accounts together in those notes

    • Document what makes the accounts more complicated.

  2. Buy an “enterprise” CRM (for example Salesforce) that has a more complicated data model that supposedly supports the data relationships with your more complicated customers.

My experience says go for choice 1 because the benefits of a CRM with a simple data-structure wildly outweigh the benefits you get from the CRM with the more complicated data model. Here are are few reasons why:

  • The simple data model makes for a much simpler design which means that the simple product will perform a lot faster. This translates to more efficient cleaner work flow for your staff.

  • The simpler data model is much much easier to work with so when you integrate your CRM with other systems the integrations will be much faster to implement and easier to maintain. High quality integrations can replace a lot of the expensive busy work in your organization.

By comparison if you go for the “enterprise” CRM what you are getting is a sluggish, complicated system that is going to be tall on promises but in reality short on delivery because it’s actually going to be hard to work with:

To have the same ideas described in a different way seeGap analysis (and why some gaps are a good thing)