Jul 12, 2024
Chris Lundberg
The Power of an Origin (Source Code)
We’re nerds here at Frakture. And not just nerds about data; we run the gamut. One nerdy hobby we love is D&D (or Dungeons & Dragons for all the normies out there). The first thing you do when starting a D&D campaign is create a character. Who that character is and where they come from - their origin, if you will - is hugely important; it determines their role in the overall story, and D&D is at its heart an exercise in storytelling.
In that way, D&D is a lot like your digital program. You’re working to tell a coherent story (and hopefully mobilize people to action), with a large and diverse cast of characters - many of whom are going to do unexpected things and throw monkey wrenches into your carefully crafted narrative.
All you can do in these situations is adapt and improvise and keep moving forward. But knowing the origin stories of the characters involved can be your secret weapon. Armed with that knowledge, you can often find a way to keep the narrative moving despite setbacks that might stifle a less-informed participant.
While you’ll never know the full origin story of each of your donors/supporters/volunteers, you can know something about where they came from using a key tool in the digital organizers toolkit: the origin source code.
The Origin of Origin Source Codes
Origin source codes indicate when an individual first encountered an organization, and can be used for everything from lifetime value to program valuations. They’re a common practice when organizing at scale, and if you’re not using them you’re missing out on a powerful tool to understand the impact of your digital outreach.
A typical implementation of origin source codes has a different source attached to every inbound source for your organization — signup forms, forwarded emails, partnerships etc. That source code is then attached to an individual when they’re first put into your CRM, and it should never change. That’s what makes it a special source code — being the first one, and never changing. When you run reports, for example transaction reports, you then group them by the origin code, and you can see the lifetime value of everyone who came in with that code.
Fairly simple, right?
Well … if you’re dealing with perfect source coding, identical CRM implementations, and only one CRM of record, then yes, it’s relatively straightforward.
At Frakture, we don’t have that luxury — we have to deal with the complexity of real world data and implementations. Specifically:
Some CRMs allow you to change your origin source code. For example, NGPVAN overrides blank origin source codes with actual source codes when they arrive, and lets you change the text of a source code even after it has been attached to a person. While these decisions may be rational within the scope of that CRM, it differs from the behavior of other CRMs, like Salsa. It also leads to perplexing situations, e.g someone created in 2020 may have an origin source code from 2024.
Some CRMs don’t have native origin source coding (looking at you, Salesforce). As a result, every completed implementation of it varies widely.
Some organizations maintain multiple CRMs — perhaps one is direct mail, one is finance, and two are digital — because their large programs have different requirements, or they’re in the middle of a migration. In that case, which origin source code is canonical? It’s often not clear.
To deal with these situations, Frakture leverages our Timeline, and keeps track of each different origin source code and the CRM it came from. This includes changes to the origin code, and our best estimate of when that happened. Because people are accustomed to the phrase Origin Source Code from their CRM, we echo that name in our Timeline as a CRM_ORIGIN. But because of the above reasons, just because it’s called CRM Origin doesn’t mean that in Frakture it’s the ONLY Origin source code.
Sometimes multiple CRMs will have the same origin code … but that is often not the case, so that’s why we track it by CRM as well.
Multiple Origins: A Necessary Wrinkle
Your D&D character can’t come from more than one place, but sometimes the people in your database can.
Tracking multiple origin codes may seem like an unnecessary complication, but there are multiple use cases for it. The design of our Timeline & Modeling infrastructure separates out the data from the model when discussing value. The data is as much information as we can gather about an individual, including all their origin codes. The model you choose lets you make business decisions about how to value that data.
Frakture deploys a number of native models — for this discussion though, two are relevant: CRM Origin and First Touch. CRM Origin is the model that most closely matches typical expectations of an origin source code, BUT it factors in multiple CRMs, and origin codes that may have changed. For lifetime value, it selects the first CRM origin code out of all of those, and then applies any overrides.
First Touch selects the source code from the first time someone has ever been seen, even if they may have a different origin code in the CRM. This is common with partnerships or acquisitions, or other cross-organization work where the entry in the CRM may have been made long after the first time someone was seen.
As an example, Organization A (say, a C3 nonprofit org) may have a CRM that contains the origin code from a survey they ran in 2020, and Organization B (say, a partner C4 organization) may maintain a different origin code referencing their partnership with Organization A in 2024. Depending on who is looking at the data, “Lifetime value” may refer to either the source code from Organization A, OR Organization B … depending on who is looking.
The value of origin source codes are thus in the eye of the Beholder.
The End is the Beginning
Beholders in D&D are pretty nasty enemies (you don’t want to fight one), but they’re nothing compared to trying to wrangle a lifetime value calculation without proper origin source coding. Unfortunately, a lot of CRMs (particularly those in the political sphere) don’t make it easy.
Fortunately for you, we at Frakture have unwound a lot of that complexity. We’ve got tools, tactics, and best practices for creating, managing, and reporting on your origin codes. All it takes is a little knowledge and diligence from you - the player - and you’ll soon be slaying data goblins left and right while reaping the rewards of your Origin Source Codex of Knowledge. We can’t make your Beholder fights any less challenging, but for anything else, summon us anytime.