Horse Racing Operations Software Problems: The 5 That Cost Real Money, and How to Avoid Them
The most expensive failure in racing office software is a data model that treats the horse and the betting interest as the same thing. They are not. Coupled entries run as one betting interest with two horses, and a system that cannot express that will publish a field to the totalisator that does not match what the public is being offered. That is not an internal inconvenience with an internal fix. Wagering pools are built on the published field, so an error there is an integrity matter with a regulator attached, and it surfaces at the worst possible moment, which is after money has gone in. Every other problem in this category is recoverable before first post. That one is not.
Why does the horse and betting interest distinction get missed so often?
Because it is invisible in the language of the business. Everybody in a racing office says the field, the runners, the horses, and a developer transcribes that into a table of horses attached to a race. It reads correctly, it demonstrates well, and it is wrong in a way that only appears when coupling appears.
A coupled entry is two horses running as one betting interest. Main track only entries apply if a turf race comes off the grass, which reshapes the field. An also eligible list draws in when a scratch occurs, which changes post positions for horses that were already in. All three of those operations act on betting interests and post positions rather than on a flat list of animals, and a model built as a flat list handles each of them with a special case until the special cases collide.
The fix is to make a developer draw the model before you sign. A capable team draws race with conditions, entry, horse with a full record, betting interest as a distinct object, field version, result with an official status, and purse distribution. If betting interest does not appear as its own box, they do not understand coupling, and the tote interface will be wrong. This is a five minute test and it eliminates most of the field.
What goes wrong when you migrate historic horse records?
Historic horse records are the long pole in this category and they carry a failure mode that is worse than a gap. Eligibility is computed from a horse's record: wins within a period, claiming prices, starts, earnings, class. An incomplete import does not produce a missing answer. It produces a confidently wrong one, because a horse whose two most recent wins failed to import now appears eligible for a condition it should not be able to enter.
The mess is real. Records arrive from several sources with different identifiers for the same horse, name changes, duplicated names across foaling years, foreign form recorded in another jurisdiction's conventions, and races run under a condition book format that has since changed.
The fix is to budget verification rather than import. Reconcile a sample of horses against the source of record by hand, and specifically check the ones most likely to break: horses with foreign form, horses that changed name, and horses with recent claiming activity. Then run the eligibility engine in parallel against a full week of entries you have already taken manually, and investigate every disagreement. Where a record cannot be established, mark it unknown and require a human decision at entry rather than letting the engine assume. An entry taker who is asked a question will answer it. One who is given a wrong answer will pass it on.
Why do the tote and data provider interfaces break after launch?
The totalisator is a conservative system for very good reasons, and its interfaces were designed a long time ago and still work. That conservatism is not the problem. The problem is treating the interface as fire and forget.
Failures cluster around timing and acknowledgement. A field goes out, an acknowledgement does not come back, and nobody notices because nothing visibly failed. A late scratch is sent while the previous message is still being processed and the two arrive out of order. A surface change from turf to dirt is published as a new field rather than as a change, so a downstream consumer applies it as an addition. Data providers and broadcast graphics have the same problem in a lower stakes form: they hold a version of the card and cannot tell precisely what moved.
The fix is strict validation, explicit acknowledgement and a reconciliation step on every exchange. Field data goes out, the acknowledgement comes back, and any mismatch raises immediately rather than being inferred later from pool behaviour. Sequence matters too: a result that changes following an inquiry or objection has to propagate to wagering, purses and data providers in a defined order, and that order is usually the thing living in one experienced person's head today. Write it down during design and encode it, because it is exactly the knowledge that leaves when the person does.
What happens when veterinary, licensing and stewards' records sit outside eligibility?
These are the records everyone agrees are important and everyone leaves in a parallel list, because they belong to different people. The veterinarian keeps one, the licensing clerk keeps another, the stewards keep a third, and the racing office consults them by asking.
The failure is predictable. A horse on the veterinary list with a restriction gets entered because the person taking entries did not check that morning's version. A jockey under suspension gets named on an entry. An owner or trainer whose licence lapsed last week appears on a programme. Each is caught eventually, usually by an experienced person noticing, and each is a phone call at best and a scratch or a ruling at worst. In the United States the Horseracing Integrity and Safety Authority framework has made record keeping and reporting obligations more explicit for covered races, and other jurisdictions have their own regimes, but which obligations apply to your meet is a question for your regulatory counsel.
The fix is to make these records a precondition of the eligibility check rather than a list somebody consults. A horse with an active restriction is simply not eligible to enter, and the block states why and who can clear it. A suspended rider cannot be named. A lapsed licence blocks the entry rather than the programme. Then reporting to the relevant authority generates from the same records rather than being compiled separately, which is the difference between a compliance function and a compliance department.
Should you build custom or configure what you already own?
If you are a single standard thoroughbred meet in North America, use InCompass Solutions and put the money into the backstretch. It is the established racing office platform in that market, it is connected to the industry data your operation depends on, and reproducing that connection is not a good use of your capital. The same logic applies with more force on the wagering side: nobody should be building a totalisator, and any proposal that touches one should be declined.
Before assuming you need a build, check what your existing tools can do once configured properly. Condition book publishing, entry deadlines and preference rules are frequently left at whatever was set up years ago, and a genuine configuration review costs days.
Build when two or more of these are true. You operate outside the structure the established systems were designed around, so your staff translate rules daily. You run multiple tracks or mixed breeds and need one operational picture. Your jurisdiction's rules on eligibility, purses or integrity reporting change by regulation rather than by industry convention. You run your own account wagering and want field and result data from a single source you control. Or race day depends on two or three people whose knowledge has never been written down and who are close to retiring. That last one is the most durable reason to build, and the industry is quietly bad at facing it.
How do hidden costs get into the quote?
Jurisdiction count is the largest driver and it cannot be averaged. Rules on eligibility, purse distribution, deductions and reporting differ, and a system that handles two jurisdictions properly holds two rule sets rather than one flexible one. Mixed breeds is the second, because thoroughbred, standardbred and quarter horse racing carry different conditions, different eligibility logic and different data sources, and a build scoped around one does not stretch to the others.
Tote integration is third, and its cost is calendar rather than complexity, because your wagering partner's change control is conservative and their schedule is a constraint you plan around rather than negotiate. Historic data migration is fourth, for the reasons above. Account wagering is fifth if you want your own platform fed from the same field data, which is a sensible goal and a separate piece of work.
The fix is to sequence around race week rather than around completeness. Condition book, entries with computed eligibility, the draw, and the scratch cascade with versioned field publication is a coherent first release that removes the work that consumes race week and delivers value before you touch money movement. Purses, horsemen's accounts and licensing follow naturally once the field data is trustworthy.
What separates a racing office build that works from one that fails?
Working systems publish the field as versioned state with change events rather than as a regenerated document. Every consumer, meaning data providers, the totalisator, broadcast, account wagering and off track outlets, subscribes and receives precisely what changed with a reason and a timestamp. Nobody compares two versions of a programme at nine in the morning to work out what moved. Every version is retained, so a later question about what the field was at a given moment is answered from a record. A system that regenerates a document and emails it has automated the wrong step.
The second marker is that conditions are structured rather than free text, with the printed wording and the machine readable condition generated from the same source. That single decision is what lets eligibility compute at the moment of entry with a stated reason, and it makes preference rules for an overfilled race deterministic. Racing offices keep their expertise either way and stop spending it on lookups.
The third is a go live plan that respects the calendar. Build during a live meet and go live at the start of the next one, with a parallel period where entries are taken in both systems for a week and every disagreement is investigated. Racing has no quiet Tuesday to cut over on.
Settle ownership before kickoff, and settle retention with it. A track's racing records are a regulatory archive as well as an operational database, so agree who holds the repository, the database and the cloud accounts, and how a record from four seasons ago is produced when a regulator asks.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- Deloitte's research found that digitally advanced small businesses experienced revenue growth nearly 4x as high as the prior year, were about 3x as likely to have exported, were nearly 3x as likely to have created new jobs, and were more than 3x as likely to have seen more sales inquiries in the last year. Source: Deloitte (research summarized by Google) (2017) →
- In PMI's 2014 Pulse of the Profession report on requirements management, inaccurate requirements management is cited as a leading cause of project failure, with 47% of unsuccessful projects failing to meet goals due to poor requirements management. Source: Project Management Institute (PMI) (2014) →
- McKinsey emphasizes that most L&D functions still fail to tie training to business outcomes, recommending organizations track 2-3 business-relevant indicators (such as time-to-proficiency, redeployment into priority roles, or frontline productivity) rather than participation metrics to demonstrate training effectiveness. Source: McKinsey & Company (2025) →
- Digital Champions expect to achieve about 16% in cost savings and around 15% in revenue gains from digital operations over five years; the study surveyed 1,155 manufacturing executives across 26 countries. Source: PwC / Strategy& (2018) →
As General Manager, Parth connects commercial decisions to what the delivery teams can realistically build. Scope, pricing structure, team shape and account health all cross his desk. His writing is useful for anyone trying to work out what a software project should cost and why.
View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.
Frequently asked questions
What is the fastest way to tell whether a developer understands racing?
Why is migrating historic horse records so risky?
How should a scratch reach the tote, data providers and broadcast?
What actually goes wrong with a totalisator interface after go live?
Can the system stop an ineligible horse or a suspended rider being entered?
Should we replace InCompass Solutions?
Why do mixed breed operations cost so much more?
When should we go live if racing has no off season?
What should I prepare before contacting a software development agency?
Is it cheaper to customize Salesforce than to build a custom CRM from scratch?
What are the biggest mistakes first-time software buyers make?
What should I have ready before I contact a development agency?
How many SaaS seats do we need before building custom becomes cheaper?
Is a solo freelancer enough for my project, or do I really need an agency?
How do I calculate whether custom software will pay for itself?
How many people should be working on my software project?
Who owns the code when an agency builds my software?
Couldn't I just build my app in Bubble or another no-code tool instead of hiring an agency?
Who can build a custom software system?
Digital Heroes builds custom software 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 software 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.