Problems & solutions · Internal Tools

Secondary Marketing Software Problems: The 7 That Cost Real Money, and How to Avoid Them

Mortgage Secondary Market Trading Software workflow illustration showing common problems and fixes.
The short answer

The most expensive failure in this category is spending $200,000 to $500,000 on a full desk platform that still reads the pipeline from a scheduled extract. The lag between a lock and a hedge adjustment is the thing that costs you money when the ten year moves on a jobs number, and a prettier position screen refreshed every four hours does not remove it. Lenders who make this mistake typically discover it in month seven, having spent the budget that would have funded the $70,000 to $150,000 decision layer that actually fixes the problem in 10 to 16 weeks.

Why does the scope creep from a decision layer into a full desk platform happen so often?

Nearly every secondary marketing project starts with one sentence from the head of capital markets: the hedge trails the locks. That is a narrow problem with a narrow fix. Six weeks later the scope contains trade capture, margin call tracking, investor commitment management and servicing valuation, because this is the first time in years anyone asked capital markets, accounting and post closing what they need. Everybody answers honestly, and the answers add up to a platform.

This is specific to secondary because the desk genuinely does touch all of it. A lock is a commitment, a commitment is a position, a position is a trade, a trade is a mark, and a mark is an accounting entry. There is no natural seam, so nobody in the room can point at the line where the project should stop. The result is priced at $200,000 to $500,000, scheduled over 8 to 14 months, and delivers its first useful output in month seven.

The fix is to force the first release to answer one question: what should the coverage be right now. That means an event driven position, a pull through model, a best execution comparison and an exception ledger. Trade capture and profit and loss attribution become the second release, funded by the first one working. A developer who will not phase it that way is optimising for their own revenue rather than your risk.

What goes wrong with lock and funding history when you try to use it?

The pull through model is the reason to build, and it needs roughly 18 to 24 months of your own lock and funding history. The failure is rarely that the history is missing. It is that the history is missing one column: the market level at the moment each loan locked. Without it the model cannot learn rate incentive, which is the single variable that makes pull through move when it matters, and the output degrades into the blended average you already had wearing better clothes.

This is peculiar to mortgage because a lock is a point in time option granted to the borrower, and its value depends entirely on where the market went afterwards. Most origination systems record the locked price and a rate sheet identifier, not the underlying market level, so reconstructing incentive means pulling archived rate sheets and mapping them back by timestamp. That is real weeks of work and it happens before any modelling starts.

The second data problem is cancellations, which is exactly the outcome you are trying to predict. Fallout records are usually the worst maintained in the system: duplicates, loans re entered under a new number when the borrower changed product, files never closed out at all. Train on that uncleaned and the model learns your data entry habits.

The fix is a paid history assessment before you commit. Two weeks of profiling tells you whether the model is buildable now, buildable after reconstruction, or only buildable on data you start capturing today.

Why do the pricing engine, origination system and broker dealer integrations break after launch?

Three integrations carry this category and all three fail differently. The first is the pricing engine. Optimal Blue and Polly both expose product and pricing, and the break is rarely the interface. It is that loan level pricing adjustments and investor grids change constantly, so a mapping written in March quietly stops matching in September and best execution starts comparing against stale grids without raising an error.

The second is the loan origination system. Pulling locks from Encompass in near real time is a different engineering problem from a nightly extract, and teams that scoped the nightly version find after launch that the position is only ever as fresh as the file. Worse, mid cycle events such as relocks, extensions and product changes often arrive as updates to the same record rather than as new events, so a naive integration overwrites the very history the model needs.

The third is the broker dealer. Every counterparty sends statements in its own format, and pair offs, margin calls and settlement details do not reconcile themselves. Adding a fourth counterparty after go live is fresh work, not configuration, and it is the integration most often left out of the original quote.

The fix is contractual rather than technical. Require the developer to name each interface, state the refresh mechanism, and build a monitored reconciliation for each one, so a drift in an investor grid or a missed lock event raises an alert instead of quietly changing your coverage.

What happens when fair value marks and the audit trail are not covered?

Interest rate lock commitments and forward sale commitments are carried at fair value, which makes every mark your system produces an accounting input rather than a management report. The gap appears when the build treats a mark as a display: the screen shows a number derived from live pricing, and nothing stores the inputs, the pricing source or the model version behind it.

Then the audit asks how the mark on a specific loan on a specific day was derived. If the system simply recomputes it now from current pricing, the answer is worthless, because the pricing that produced the original mark is gone. Teams rebuild the evidence from archived files, which is expensive, or accept a finding, which is worse because it recurs every year.

The same gap shows up in the exception ledger. Extensions, relocks and pricing concessions get approved by phone, and if the system records only the resulting price rather than the amount, the approver and the reason, you cannot attribute exception cost back to a branch or an originator. That report is frequently what pays for the whole project, and it is invisible until somebody asks for it.

The fix is to make marks and exceptions immutable records with their inputs attached, and to design profit and loss attribution split into position, market move, pull through change and execution from the start. Attribution added later needs history you did not keep.

Should you build custom or configure what you already own?

For a large share of lenders the honest answer is configure, and we say so. If you originate under roughly $100 million a month in conventional agency product, deliver best efforts and do not retain servicing, your open risk is small and your outlets are few. Keep Optimal Blue for pricing and take a hedge advisory relationship with MCT, where you are buying expertise as much as software. That covers the risk for a fraction of a build, and the expertise is the part you cannot write in code.

If you already run Optimal Blue or Polly, do not rebuild rate sheet generation, investor pricing ingestion or pricing adjustment maintenance under any circumstances. That is a permanent maintenance treadmill and no lender has ever gained an edge by owning it. ICE Compass Analytics is a serious answer for larger desks wanting deeper analytics without a build.

The build case is narrow. It starts around $200 million a month, earlier if you retain servicing, and it is strongest when your products are not priced properly by any third party engine: non-QM, jumbo held on balance sheet, construction to permanent, or a credit union pricing members differently from the market. The test that settles it is simple. If the change you need is a new pull through assumption, a vendor can do that. If the change you need is your own model trained on your own funded history, no vendor can.

How do hidden costs get into the quote?

Four line items are routinely missing. The first is data reconstruction. If the market level at lock was never recorded, the weeks spent recovering it from archived rate sheets are engineering work, and a quote that assumes clean history is a quote that will change.

The second is counterparty and outlet count. Each broker dealer statement format is its own reconciliation and each investor commitment structure is its own modelling problem. A quote written against two counterparties and three investors does not scale linearly to five and eight, because the second and third structures are where a naive data model breaks.

The third is servicing. Deciding to retain adds a genuine valuation workstream: a servicing asset whose value depends on prepayment expectations, buy up and buy down grids that change the coupon, and specified pool payups that most engines never surface. Teams add servicing to scope in month four and are surprised by the number.

The fourth is model validation. Backtesting the coverage the model would have recommended against what actually funded, by rate incentive bucket, is what makes the model trustworthy, and it is frequently quoted as though it were a test pass. Ask for it as a named deliverable with a named holdout period. None of these come from anyone acting badly. They are the questions a developer who has not built a desk does not know to ask.

What separates a secondary marketing build that works from one that fails?

The first separator is whether the developer can explain best efforts versus mandatory delivery, and what a pair off is, before architecture is discussed. Teams that cannot will build a clean application that models the wrong thing, and you will not find out until the first month the coverage disagrees with the desk.

The second is whether the position is event driven. If every lock, change, cancellation, fallout and funding updates the pipeline immediately, the structural lag is gone. If the position refreshes on a schedule, you have bought a nicer view of the same delay.

The third is whether best execution is restricted to outlets you are genuinely approved for, with your delivery limits and your servicing appetite encoded. Generic best execution comparing public grids will disagree with your reality, and the desk stops trusting it within a month, which is how these systems die quietly.

The last is ownership. Your funded loan history is the asset that makes the model work and it should never sit in a vendor account you cannot export. At Digital Heroes the client owns the repository, the infrastructure and the trained model from the first commit.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. Median SaaS spend reached $9,455 per employee, and organizations leave an average of 36% of their SaaS licenses unused. Source: Zylo (2026) →
  2. Standish's 2015 CHAOS research found roughly a third of software projects (about 36% by the Modern definition) fully succeed on time, on budget, and on scope, with top success drivers including executive support, user involvement, and clear requirements/business objectives. Source: Standish Group (CHAOS Report) (2015) →
  3. A later Nucleus Research review of analytics software ROI case studies found customers received $9.01 in benefits for every dollar spent on analytics technology, showing returns vary with deployment factors but remain strongly positive. Source: Nucleus Research (2019) →
  4. The performance gap between digital and AI leaders and laggards is widening: McKinsey reports leaders pull ahead on shareholder returns, and the average maturity spread between top and bottom performers jumped ~60% (from 10 points in 2016-19 to 16 points in 2020-22), reinforcing that the returns to transformation concentrate among top performers. Source: McKinsey & Company (2023) →
Jack C. · People Operations · APAC · Sydney

Jack looks after people operations for the APAC team, from hiring and onboarding through to the day to day of keeping a distributed office running. He sees which skills are hard to hire and how project teams are actually staffed. That perspective is useful if you are deciding between hiring and outsourcing.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

What should the first release of secondary marketing software actually contain?
An event driven position, a loan level pull through model, a best execution comparison across the outlets you are approved for, and a lock desk exception ledger. That scope runs $70,000 to $150,000 and ships in 10 to 16 weeks in Digital Heroes delivery experience, with your existing pricing engine still producing rate sheets. Trade capture, margin call tracking and profit and loss attribution belong in a second release funded by the first one working, not in a single 8 to 14 month programme.
Our loan origination system never recorded the market level at lock. Can we still build a pull through model?
Not immediately, and any developer who says otherwise has not looked at your data. Rate incentive is the variable that makes pull through move, and it is computed against the market level at the moment of lock. The realistic paths are reconstructing that level from archived rate sheets by timestamp, which is weeks of work, or starting capture now and modelling in 18 to 24 months. Run a two week history assessment before you commit to a build so you know which of those you are funding.
Why does our best execution engine disagree with what the desk actually does?
Because it compares public investor grids rather than your approvals. A vendor engine does not know which investors you are approved for, what your delivery limits are, whether you want to retain servicing this quarter, or which specified pool stories your loans qualify for. Low loan balance and geographic concentration payups are real money and simply never appear in a generic comparison. Once the desk sees the engine recommend an outlet they cannot deliver into, they stop opening it.
What breaks first after a hedging system goes live?
Usually the pricing mapping. Loan level pricing adjustments and investor grids change constantly, and a mapping that was correct at launch silently stops matching a few months later without raising an error, so the comparison quietly runs on stale grids. The second most common break is mid cycle lock events arriving as updates to an existing record rather than as new events, which overwrites the history the model trains on. Both are fixed by monitored reconciliations rather than by better code.
Do we need to replace Optimal Blue to fix the lag between locks and hedges?
No, and replacing it is usually the wrong project. Rate sheet generation, investor pricing ingestion and pricing adjustment maintenance are a permanent maintenance treadmill with no competitive edge attached. The lag comes from the position being an export rather than a stream, so the fix is an event driven position layer sitting on top of the engine you already own. Replacing the engine only makes sense when you originate products no third party prices properly.
How do we keep our auditor comfortable with marks produced by custom software?
Store every mark as an immutable record with its inputs, its pricing source and the model version that produced it, rather than recomputing it on demand. Interest rate lock commitments and forward sale commitments are carried at fair value, so the auditor will ask how a specific mark on a specific day was derived, and a system that can only tell you what the number would be today cannot answer. Design daily profit and loss attribution into position, market move, pull through change and execution at the same time.
How much work is adding another broker dealer counterparty after launch?
More than people expect, because each counterparty statement is its own format and its own reconciliation logic covering pair offs, margin calls and settlement detail. If the original build was designed against a single counterparty, the identifiers and the position model often carry that assumption into the schema. Tell your developer during discovery how many counterparties and investor outlets you expect within two years, even if you are launching with one, because designing for several costs modestly more and saves a rewrite.
What is the most common reason these projects get abandoned halfway?
Scope that answers everyone's request instead of one question, combined with a first useful output arriving in month seven. By then rates have moved twice, the sponsor has stopped attending demos, and capital markets has gone back to the spreadsheet because it still works. The projects that survive ship something the desk uses on a Monday morning within about four months, then earn the budget for trade capture and attribution by proving the coverage number is better than the one it replaced.
How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
How do I calculate the ROI of a custom internal tool?
Count hours first: multiply the weekly hours staff spend on the manual process by their loaded hourly cost, then add the cost of errors such as mispriced quotes or missed renewals. A tool saving a 10-person team 5 hours each per week recovers about 2,500 hours a year, which repays a $20,000 to $30,000 build well inside a year at typical wages. Most internal tools Digital Heroes delivers reach payback in 6 to 18 months, with quoting and billing tools at the fast end because they plug revenue leaks, not just time.
How much does a custom internal tool cost to build?
Most custom internal tools cost $8,000 to $40,000 to build, based on Digital Heroes delivery data across 2,000+ client projects. A single-purpose tool like an approval dashboard or inventory tracker sits at the low end, while a multi-department platform with role-based access and several integrations pushes past $40,000. The three biggest cost drivers are the number of user roles, the number of systems the tool must connect to, and custom reporting requirements.
When does a company outgrow Airtable?
The usual breaking points are record limits, permissions, and automation complexity. Airtable's Team plan caps each base at 50,000 records and Business at 125,000, so operations logging thousands of rows a month hit the ceiling within a year or two. The other trigger Digital Heroes sees constantly is permissions: restricting who can view specific fields or records is clumsy below Airtable's Enterprise tier, which becomes a genuine problem once salaries, pricing, or client contracts live in the base.
How do we migrate years of spreadsheet or Airtable data into a new internal tool?
Migration is a standard part of the build, not a separate project: the agency writes import scripts that clean, deduplicate, and map your existing rows into the new database. On typical spreadsheet and Airtable histories, Digital Heroes budgets 3 to 10 extra days, most of it spent resolving inconsistencies like the same customer spelled four different ways. The safe sequence is a trial migration first, a review of flagged conflicts with your team, then final cutover over a weekend so nobody loses a working day.
Why do agencies charge for a discovery phase instead of quoting for free?
Because an accurate quote requires real work: mapping your workflows, finding the edge cases, and writing a specification, which typically takes 1 to 3 weeks and costs $2,000 to $10,000 at Digital Heroes depending on system complexity. You leave discovery owning a written spec and a fixed price you can take to any vendor, so the money is not locked into one agency. Free estimates are guesses, and the guess usually becomes your budget overrun six months later.
Should we build our internal tool in Retool instead of hiring developers?
Retool is the right choice if someone on your team is comfortable with SQL and JavaScript and the audience is a handful of technical users, because a basic CRUD dashboard comes together in days. Hire developers when non-technical staff will use the tool daily, when the logic goes beyond forms sitting on a database, or when per-seat pricing stings, since Retool's Business tier lists at $50 per standard user per month. A pattern Digital Heroes sees often: companies arrive after a year on Retool with a tool nobody can maintain because the one person who built it has left.
Who can build a custom internal tools system?

Digital Heroes builds custom internal tools systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other internal tools companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?