Go Develop All articles
Product Engineering

The Messy Prospect Test: Why a Hostile Demo Dataset Belongs in Your Product

Go Develop
The Messy Prospect Test: Why a Hostile Demo Dataset Belongs in Your Product

A sales demonstration is often the first time a prospect sees a product, but it is rarely the first time the product has met reality. The demo environment tends to contain a handful of well-behaved companies, complete addresses, one trading name and billing periods that begin and end on the first of the month. The first genuine customer is then asked to fit into that picture, and the gaps become visible very quickly. In 2026, with buyers more inclined to ask for a sandbox of their own, the quality of the demo dataset is a product concern rather than a sales convenience.

The sandbox that flatters

A clean demo is not dishonest by intention. It is usually the product of convenience: seed data created early in development, a few sample records copied from a test suite and a script that resets everything before a call. The problem is that this environment flatters the software. It shows the happy path, the standard entity and the straightforward invoice. It does not show what happens when a prospect has two trading names, a VAT group, a Welsh-language address and a customer record that predates the current management team.

The commercial consequence is subtle but real. A demonstration that relies on tidy data teaches the buyer to evaluate a fictional version of their business. When implementation begins, the same buyer discovers that their account structure does not map neatly to the product, that duplicate addresses create ambiguity and that a part-month billing period produces a figure nobody can explain. The support team inherits the explanation. A hostile dataset is an attempt to have that conversation before the contract rather than after it.

What hostile means in a UK context

Hostile does not mean random. Random nonsense tests very little. The useful dataset is built from plausible UK edge cases that a product team can explain, reproduce and resolve. It should include:

The point is not to make the demo difficult for its own sake. It is to make the demonstration credible. A buyer who sees their own operational awkwardness reflected in the sandbox is more likely to trust the implementation plan.

Designing the dataset as a product asset

The dataset should be designed, not accumulated. A useful pattern is to maintain two demo tenants: a clean flagship account for orientation and a hostile account for the substantive demonstration. The hostile account should be organised around named scenarios rather than a single pile of records. One scenario might be “VAT group with two trading names and a Welsh correspondence address”. Another might be “legacy account with duplicated contacts and a part-month invoice”. Each scenario should have a short description, the expected product behaviour and a note on which parts of the product it exercises.

Synthetic data is essential. The dataset should not contain real customer information, real personal data or copied production records. Names, addresses and identifiers should be invented but plausible. The objective is realism of structure, not realism of identity.

Seed scripts should create the dataset repeatably. A demo environment that depends on manual adjustments will drift, and drift is how a carefully designed hostile record becomes a tidy one by accident. The scripts should live with the product code, be reviewed like product code and be run automatically when the demo environment is rebuilt.

Ownership and the problem of rot

A demo dataset rots quietly. A product change alters a field, a new feature adds a required attribute, and the old seed data no longer represents the current product. The remedy is ownership. Product engineering should own the dataset because it is a representation of product behaviour. Sales and solutions engineering should contribute scenarios from live prospect conversations. Support should feed back the cases that caused confusion after implementation.

A quarterly review is usually enough. The review should ask three questions: does the dataset still reflect the product as it is now, are there new UK edge cases worth adding, and has any scenario become misleading? The dataset should be versioned alongside the demo scripts and described in the same documentation as the product’s test strategy.

Using it in the demonstration

A hostile dataset should not be used as an ambush. The buyer should be told what they are seeing and why. A short explanation — “this account is deliberately messy because most real accounts are” — sets the tone. The demonstration can then show the product handling an exception, explaining the rule and resolving the ambiguity. That is more persuasive than a flawless sequence of screens because it demonstrates judgement, not just features.

It also changes the nature of the sales conversation. Instead of asking whether the product can support a particular structure, the buyer can see how it behaves when the structure is imperfect. The discussion moves from capability to fit, which is where procurement decisions are actually made.

The commercial case

A demo that survives contact with a messy prospect closes faster because it removes late surprises. It also reduces the support burden that follows a sale, since the implementation team is not discovering basic data-model gaps in the first week. For UK SMEs and mid-market buyers, the ability to handle multiple entities, awkward addresses and part-month billing is not a niche requirement; it is the normal condition of trading.

Treating the demo dataset as a product asset is therefore a modest investment with a clear return. It improves the quality of the demonstration, sharpens the product’s own understanding of its edge cases and gives the support team fewer mysteries to solve after the contract is signed.

All Articles

Related Articles

Clocks With Consequences: Treating UK Statutory Deadlines as Core Product Logic

Clocks With Consequences: Treating UK Statutory Deadlines as Core Product Logic

Room to Breathe: Building a UK Release Calendar That Respects the Trading Year

Room to Breathe: Building a UK Release Calendar That Respects the Trading Year

Designing for Forgetting: Making Data Erasure a Product Feature, Not a Support Ticket

Designing for Forgetting: Making Data Erasure a Product Feature, Not a Support Ticket