Data case / 03 · Writeback, freshness & activation

Writing analytical signals back into operational CRM

A fictional architecture case: copy or query, writeback grain, staleness, recalculation, removals and who owns a failed writeback.

Fictional scenario

Independently created. Contains no employer or client implementation detail, internal names or figures.

01The outcome

A small set of governed, read-only signals per account—value, segment, as-of date, version and a link to the definition—written idempotently and reconciled daily against what was published.

The reality

Performance is computed outside the CRM, but sellers act inside it—so the numbers they see are stale, editable or unexplained.

Architecture question

Should the CRM hold a copy of the metric—and who owns it once it lands?

Key decision

Write back governed signals at account grain rather than querying live or copying the full KPI detail.

ContextAccount performance and pipeline coverage are computed daily in the data platform. Sellers work in the CRM and should act there: open a recovery plan when an account falls behind, generate pipeline when coverage is low. The first attempt copied every KPI detail into CRM fields that sellers could overwrite, with no date and no link to the definition.

Systems and partiesData platformIntegration layerCRM

02The reality · current state

What the data does today.

  • Sellers overwrite derived values they disagree with
  • Nobody can tell whether a value is from today or last month
  • A recalculation leaves old values on accounts that are no longer eligible
  • A partially failed writeback goes unnoticed for weeks
  • Automation creates a new recovery task on every nightly run

03Target flow

Where the data comes from, where it goes—and how.

Every hand-over is named with its mode. The mode follows the business tolerance for waiting, inconsistency and loss.

  • 01 · ERP · CRM · PlanningSources

    Orders, invoices, pipeline and targets.

    Feeds by Batch
  1. 02 · Data platformData platform

    Conformed history at account × month.

    Hands over by Batch
  2. 03 · Data platformDerived KPI

    Performance to target, coverage—one definition each.

    Hands over by Batch
  3. 04 · Data platformSegment

    On Track, Underperforming, At Risk, No Sale.

    Hands over by API
  4. 05 · Integration → CRMCRM writeback

    Upsert by account + metric version; read-only fields.

    Hands over by Event
  5. 06 · CRM automationAction

    One recovery task per entry into At Risk.

04Contracts

What one row or message means.

Meaning, grain, key, freshness and owner—written down before anything is mapped.

Contract

Account performance signal

The published value of a metric for one account and period.

Grain
Account × metric × period
Key
Analytical customer key + metric + period + version
Freshness
Daily; stale after 48 hours
Owner
Sales operations (definition) · data team (computation)
Contract

Activation trigger

An account entered a segment that requires an action.

Grain
Account × segment entry
Key
Account + segment + entry period
Freshness
Within an hour of writeback
Owner
Commercial operations

05Key dimension · Writeback, freshness & activation

A writeback contract, not a copy

What lands in the CRM is small, read-only and self-describing. Its lifecycle is explicit, so a stale or superseded value is visibly stale or superseded.

  1. ComputedDerived in the data platform
  2. PublishedReleased as the current version
  3. WrittenUpserted in the CRM by key
  4. AcknowledgedRead back and matched
  5. SupersededReplaced by a newer version
  6. ExpiredPast its freshness promise
Writeback contract fields
FieldMeaningRule
ValueThe published metric for this account and periodRead-only in the CRM; never recomputed there
SegmentOn Track, Underperforming, At Risk or No SaleExactly one per eligible account
As ofPeriod and computation timeShown beside the value; stale after 48 hours
VersionMetric and rule version that produced itA recalculation publishes a new version; the CRM keeps the latest
EligibilityWhether the account is in the populationLeaving it writes “not eligible”—never a silent blank
Definition linkLineage for the sellerOpens the definition, owner and sources

Copy the signal, query the detail: sellers act on the value in the CRM and follow the link when they need the transactions behind it.

06Data authority

Who may create, change, read or derive each concept.

Highlight
Data authority by business concept: which system may create, update, read or derive each concept
Business conceptData platformIntegration layerCRM
Performance to targetDerived in the data platform; read-only in the CRM. A dispute goes to the definition owner, not into the field.DeriveNo authorityRead
Performance segmentDerived from the metric and published with its rule version.DeriveNo authorityRead
As-of date & versionStamped at computation; travels with every value.CreateReadRead
Writeback delivery stateOwned by the layer that writes; reconciled against what was published.ReadCreateUpdateNo authority
Recovery taskCreated once by CRM automation per segment entry; worked by the seller.No authorityNo authorityCreateUpdate
Seller comment on the signalThe seller’s context—kept beside the value, never replacing it.ReadNo authorityCreateUpdate

No system owns a whole record here. Authority sits with each concept—and sometimes changes hands when the lifecycle does.

07Failure & recovery

Design the failure path before the happy path.

  • Writeback partially succeedsPublished vs written, by keyReplay the missing keys; upsert makes it safeIntegration operations
  • Values are older than their promiseAs-of date past 48 hoursShow “stale” in the CRM and suppress new tasksData platform team
  • The metric is recalculatedNew version publishedOverwrite by version; tasks already created are not duplicatedSales operations
  • An account leaves the populationIn CRM, not in the new publicationWrite “not eligible” and close open triggersData platform team

08Candidate architectures

Credible options, judged against these premises.

Situational

Query live from the CRM

Users who only look at the number

Cost: Cannot drive list views, assignment or automation; depends on the analytics service being up
Rejected

Copy every KPI detail into the CRM

Small, stable metric sets

Cost: Volume, staleness and values nobody can explain
Selected

Write back governed signals at account grain

Metrics that should change a seller’s action

Cost: Needs a writeback contract, freshness rules and reconciliation

09The second layer

Questions that change the design.

Copy or query

  1. Should the metric be copied or queried live?
  2. What is the writeback grain?
  3. What does the seller need beside the number?

Freshness & change

  1. How is stale data identified?
  2. What happens when the source metric is recalculated?
  3. How is zero—or “no longer eligible”—handled?

Ownership

  1. Who owns a failed writeback?
  2. Can the CRM modify the analytical value?
  3. How is lineage exposed to the seller?

10Decisions & outputs

What the work produces.

  1. 01Writeback contract
  2. 02Ownership model
  3. 03Freshness & staleness rule
  4. 04Published-vs-written reconciliation
  5. 05Activation rule
  6. 06Lineage link