The Hidden Link Between Bad Ecommerce and Better Data Science: Stop Building for the Average

Periklis Papanikolaou

Hatched by Periklis Papanikolaou

Apr 18, 2026

10 min read

62%

0

The moment a simple search box becomes a strategy

What do a broken ecommerce journey and a tiny notebook tool for drawing synthetic data have in common? At first glance, almost nothing. One is about the expensive failure of assuming customers will behave like the business wants them to. The other is about making data visible, editable, and tactile inside a notebook. Yet both point to the same uncomfortable truth: systems fail when they are designed around abstraction instead of reality.

This is not just a story about retail or machine learning. It is a story about how organizations confuse the map for the territory, then act surprised when the territory refuses to cooperate. A company thinks a search engine will create efficiency. A data scientist thinks a dataset is enough to represent a world. In both cases, the missing ingredient is contact with actual human behavior.

The deeper question is simple but unsettling: are you building a system that describes reality, or one that can survive contact with it?

Abstraction is useful until it starts lying

Every scalable system depends on abstraction. Ecommerce teams abstract millions of products into search results, categories, recommendations, and funnels. Data scientists abstract messy reality into rows, columns, labels, and models. Abstraction is not the problem. The problem begins when abstraction stops being a tool and becomes a substitute for experience.

Consider the common temptation in ecommerce: if a customer cannot find what they want, add a search box. That sounds rational because search is a neat abstraction. It converts intention into keywords and keyword matches into product discovery. But customers do not think in keywords. They think in goals, constraints, memories, and emotions. They may not know the product name. They may know only that they need something “cheap enough for school,” “similar to the one I bought last winter,” or “good enough for a birthday gift today.”

Now consider the attraction of notebook based data tools that let you draw or shape synthetic data directly inside your workflow. These tools exist because real data is often insufficient in the early stages of exploration. You want to probe a model, test assumptions, and understand what happens when the input distribution bends. The power of drawing data is not that it replaces reality. The power is that it makes assumptions visible. It turns invisible structure into something you can inspect, modify, and question.

That is the shared lesson: the failure mode is not abstraction itself, but abstraction that can no longer be interrogated.

A system becomes dangerous when it rewards the elegance of its model more than the fidelity of its contact with reality.

A search box is elegant. A neat dataset is elegant. But elegance can disguise the fact that users are wandering, confused, or improvising, while your system politely records their confusion as if it were intention.

The trap of designing for the average user who does not exist

Most costly product mistakes come from building for an imaginary average. The average customer. The average query. The average row in a dataset. The average case is seductive because it is computationally convenient. It gives product teams a manageable target and gives analysts a clean baseline. But “average” is often where meaning goes to disappear.

Think about a store that assumes shoppers arrive with a precise product name. In reality, many shoppers are not searching like librarians. They are browsing like problem solvers. They may not know the exact item, only the job they need done. If a site optimizes purely for keyword retrieval, it can become very efficient at serving the wrong mental model.

This is where ecommerce and data science converge in a surprisingly deep way. A model trained on clean, labeled data can look excellent in evaluation, then fail spectacularly in the wild because the real world is not tidy. Likewise, an ecommerce site can boast fast search and clean taxonomy while losing the customer who is actually trying to think through a purchase.

The issue is not that users are irrational. The issue is that their intent is often latent. It is partially formed, socially influenced, and context dependent. The same is true for data. Real behavior is not always fully observable in the training set. So we invent proxies: clicks, sessions, labels, categories. Those proxies are necessary, but they are dangerous when mistaken for the thing itself.

A powerful way to think about this is to distinguish between two layers of every system:

  1. Representational layer: the categories, labels, fields, and search terms your system can handle.
  2. Intent layer: the actual human desire, uncertainty, or task that gives the system meaning.

When these layers drift apart, you get failure. Customers search for what they can articulate, not what they want. Models optimize for what they can measure, not what matters.

Why drawing data is more than a technical convenience

At first glance, a notebook tool for drawing data seems like a niche productivity trick. But it reveals something profound about good thinking: visual, embodied manipulation makes assumptions harder to hide.

When you draw synthetic data point by point, you are forced to confront shape, spread, overlap, outliers, and boundaries. You can no longer pretend the problem is just a formula. You can see whether the clusters are separable, whether the classes are balanced, whether one region is underrepresented, whether a decision boundary is plausible. In other words, you are turning statistical abstraction back into an inspectable object.

That matters because many failures happen when people jump straight to automation without first building intuition. A search system might look sensible in theory. A classification model might look robust on paper. But if you cannot picture the edge cases, you do not really understand the system. Drawing data is a small act of epistemic humility. It says: before I claim to know the problem, let me make it visible.

This is also how better product design works. Not by asking, “How do we make the funnel more efficient?” but by asking, “What does the user think this system is for?” A synthetic dataset drawn by hand is a sketch of reality. A product prototype observed with real people is also a sketch of reality. Both are useful because they expose mismatches early, before the illusion hardens into infrastructure.

The shared principle is this: the more consequential the decision, the more important it is to replace hidden assumptions with visible artifacts.

That is why sketches matter in design and why toy data matters in machine learning. They are not childish. They are diagnostic. They reveal the shape of your thinking before the scale of your system obscures it.

The real competitive advantage is contact with friction

Many organizations chase scale as if scale itself were intelligence. But scale amplifies whatever assumption you have already made. If your assumption is wrong, scale makes it expensive.

A search first ecommerce strategy can become a machine for compounding misunderstanding. The more traffic you get, the more confidently your metrics will validate the wrong interpretation. Similarly, a model trained on synthetic or sanitized data can appear to perform beautifully until it encounters messy inputs, ambiguous labels, or distribution shift. Success in the lab can be a trap if it creates false confidence in the field.

The competitive advantage, then, is not a faster abstraction. It is closer contact with friction.

Friction is when customers cannot find the product but still need it. Friction is when the data refuses to separate cleanly. Friction is when your elegant theory gets embarrassed by a real user, a weird edge case, or a noisy measurement. Most teams try to eliminate friction as soon as possible. Better teams study it.

Why? Because friction is where the system reveals its true structure. If users rely on search because navigation is poor, that tells you something important about discoverability. If a model collapses when you draw a slightly more realistic dataset, that tells you something important about its boundary conditions. Friction is not noise to be ignored. It is often the clearest signal you have.

The point of a system is not to avoid complexity. The point is to make complexity legible before it makes you look foolish.

This leads to a more mature definition of quality. Quality is not merely polish, speed, or neatness. Quality is the ability to preserve contact with human uncertainty while still being scalable. A good system can adapt when users are vague. A good analytical workflow can adapt when assumptions are wrong. A bad system requires the world to behave politely.

A practical framework: from abstraction to interaction

If these ideas sound philosophical, they are also highly practical. You can apply them anywhere a system mediates between human intent and machine structure. The key is to stop asking whether the abstraction is correct in the abstract. Instead, ask whether it remains honest under pressure.

Use this three part framework:

1. Name the hidden intent

What is the user actually trying to do? What is the analyst actually trying to learn? Do not stop at the surface action.

A shopper may type a product name, but the intent might be affordability, urgency, gifting, or comparison. A data scientist may want a clean scatter plot, but the intent might be to understand separability, uncertainty, or sample imbalance.

If you cannot state the intent in plain language, your system is probably built around proxy behavior rather than real behavior.

2. Expose the assumptions as manipulable objects

This is where drawing data becomes a metaphor for better systems. Instead of hard coding assumptions, make them visible. Show the categories. Show the decision boundaries. Show the search paths. Show where the system is likely to fail.

In product terms, this might mean adding filters, browse paths, better error states, or guided discovery instead of only search. In data terms, it might mean generating edge case examples, visualizing class overlap, or stress testing with synthetic variants.

The goal is not to simulate reality perfectly. The goal is to make the model or interface legible enough that you can ask better questions.

3. Test against confusion, not just success

Most teams test happy paths. But the real world lives in confusion. Users misremember names. Labels are incomplete. Inputs are noisy. Intent shifts mid session.

A strong system is one that behaves reasonably when people are uncertain. So evaluate the confusion state directly. What happens when the customer only knows the color, not the product name? What happens when the data has missing values, mislabeled points, or overlapping classes? What happens when the clean story breaks?

That is where robustness is forged.

Key Takeaways

  • Do not build for the average. Build for the uncertain, partial, and imperfect cases where real humans actually live.
  • Treat abstractions as hypotheses, not truths. Search boxes, categories, labels, and datasets are models of reality, not reality itself.
  • Make assumptions visible. Use sketches, prototypes, synthetic examples, and edge cases to expose hidden structure before scale magnifies errors.
  • Study friction instead of hiding it. Confusion and ambiguity often reveal more about system quality than smooth happy paths do.
  • Optimize for contact with reality. The best systems stay honest when users behave unexpectedly or the data refuses to cooperate.

The deepest lesson: useful systems are humble systems

The most interesting connection between a failed ecommerce strategy and a notebook tool for drawing data is not technical at all. It is philosophical. Both remind us that intelligent work begins with humility. You do not start by pretending the world is simpler than it is. You start by creating ways to see where your assumptions break.

That may sound modest, but it is actually a demanding standard. It requires product teams to respect user uncertainty instead of forcing it into a search field. It requires analysts to treat data as an invitation to think, not a verdict to obey. It requires builders to prefer visible limits over invisible confidence.

The future belongs to organizations that can do something deceptively hard: keep their abstractions useful without letting them become lies.

So the next time you are tempted to add a search box, ship a model, or trust a clean dataset, ask a better question first. Not, “Does this look elegant?” But, “What part of reality am I still failing to see?” That question is uncomfortable. It is also the beginning of real intelligence.

Sources

← Back to Library

Hatch New Ideas with Glasp AI 🐣

Glasp AI allows you to hatch new ideas based on your curated content. Let's curate and create with Glasp AI :)

Start Hatching 🐣