September 28, 2026 · In Mercadito
Mercadito goes free: a research pilot
The informal channel beat the formal one, and the product was redesigned around it. What was missing was measuring it: a counter tells you how many, never when — and that can't be recovered later.
Mercadito started as a delivery marketplace with a 5–8 % commission. On 24 August 2026 it stopped running deliveries and became digital menus, tables and bookings, with the order going out to the business's own WhatsApp. It wasn't a technical failure: the informal channel won so clearly that the sensible move was to redesign the product around it instead of fighting it.
The commission code wasn't deleted: it's still in the repo, switched off behind a flag. A model you adopted, operated and abandoned, with its date and its hash, is worth more than any claim about it — and deleting it deletes the evidence.
What was missing was measurement. The menu had two counters, menu_vistas and menu_pedidos, cumulative since day one. They say how many and nothing else: not when the work comes in, not whether someone who opens the menu ends up ordering, not whether an order that left for WhatsApp became a sale. And a running total can't be un-aggregated later: every day that passed was a day of series lost for good.
Since 28 September 2026 there's one row per menu open and per order: with its timestamp, where it came from, a random session that lives 24 hours, and the amount band. The table is append-only, and the database enforces it rather than convention: a record you can rewrite is no use for research.
-- Append-only con una sola puerta: el negocio puede contestar
-- "¿este pedido sí te llegó?", y nada más.
IF OLD.confirmado IS NOT NULL THEN
RAISE EXCEPTION 'esta confirmación ya se respondió y no se cambia';
END IF;
IF (NEW.id, NEW.created_at, NEW.puesto_id, NEW.tipo, NEW.session_id,
NEW.origen, NEW.monto_estimado_rango, NEW.items)
IS DISTINCT FROM
(OLD.id, OLD.created_at, OLD.puesto_id, OLD.tipo, OLD.session_id,
OLD.origen, OLD.monto_estimado_rango, OLD.items) THEN
RAISE EXCEPTION 'de menu_eventos sólo se escribe la confirmación del negocio';
END IF;Personal data isn't anonymised afterwards: it isn't captured. That's not a stance, it's a schema decision, and it shows in the columns that don't exist:
- Amount band (“$101 to $200”), never the ticket: enough to model demand, and it doesn't say what anyone bills.
- Neighbourhood, never the street address. Time-of-day band, never the customer's clock time.
- No name, no phone, no free text from the customer: just products and quantities.
- The session id is random, expires by itself in 24 hours and is never linked to an account, even when one exists.
That's why Mercadito is free until October 2027. It isn't a promotion: open access is what maximises how many businesses load their menu, which is where the data comes from. Nor is it giving up revenue that existed — the platform had 60 active businesses and a single order in its whole history. The businesses know: there's a page explaining it, and anyone who'd rather not take part is excluded by sending an email, losing nothing.
The study looks at Japan, and it's worth being careful about why. Japan hasn't solved small-retail digitalisation: it has its own shuttered shopping streets, and its SMEs lag on digital transformation. What it does have, and nobody else does, is the most systematic policy response in existence — shopping-street revitalisation programmes, subsidies for adopting digital tools, a national SME productivity programme. It's studied for its successes and its failures, which is the only way somebody else's case is any use.