Inibsa · Interhack BCN 2026 Inspiration
The project was born from a very operational problem inside Inibsa’s commercial organization. Despite having more than five years of transactional data across thousands of dental clinics in Spain, the commercial workflow was still mostly reactive. Sales representatives contacted clinics when the client called first, when a clinic had already stopped buying for months, or based on intuition and personal experience.
We saw a clear opportunity to transform historical sales data into actionable daily commercial intelligence.
The key insight was that not all dental products behave the same way:
Commodities such as anesthesia or biosafety material follow relatively stable replenishment cycles. Technical biomaterials behave irregularly and depend on specific clinical cases.
Trying to solve both problems with a single generic model would produce weak results. Instead, we designed two specialized analytical engines adapted to the purchasing dynamics of each product family.
The goal became very concrete: generate prioritized daily alerts telling the commercial team exactly:
which clinic to contact, for which product family, for what reason, through which channel, and with what potential economic impact. What it does
Smart Demand Signals is a predictive commercial intelligence system for dental clinics.
The platform processes historical transactional data and generates daily alerts for sales representatives and tele-sales teams.
The system is divided into two analytical engines:
- Commodities Engine
Focused on recurrent-consumption products such as anesthesia and biosafety supplies.
This engine:
Estimates each clinic’s replenishment cycle. Calculates share of wallet using estimated annual market potential. Detects clinics buying below their expected demand. Identifies delayed replenishment patterns. Flags early churn risk. Detects windows where competitor demand can be captured.
Example:
A clinic historically buys anesthesia every 28 days and usually spends around 80% of its category demand with Inibsa. If the clinic suddenly goes 42 days without purchasing, the system generates a high-priority churn-risk alert.
- Technical Products Engine
Focused on biomaterials and irregular clinical-demand products.
Instead of using fixed cycles, this engine learns each clinic’s individual purchasing behavior and detects anomalies.
The system evaluates:
average time between purchases, variability in ordering behavior, purchasing silence relative to historical patterns, and changes in volume or frequency.
This allows the platform to distinguish between a naturally sporadic customer and a real commercial risk.
Alert System
Every alert includes:
clinic ID and province, product family, alert type, urgency, estimated recoverable revenue, recommended commercial channel, and a fully interpretable explanation in natural language.
Alerts are prioritized using:
priority = economic impact × urgency × conversion probability
This transforms raw ERP data into a daily actionable commercial agenda.
How we built it
The project was built around a complete end-to-end data pipeline.
Data Engineering
We started from five raw datasets:
sales transactions, products catalog, clinic master data, annual market potential estimates, and campaign periods.
The first step was building a robust preprocessing pipeline (build_dataset.py) capable of:
parsing Spanish numeric formats, handling negative quantities and returns, removing duplicated clients, detecting campaign contamination periods, joining all business dimensions, mapping anonymized product families, and generating temporal features.
The pipeline produces two master datasets:
master_commodities.csv master_technicals.csv
Each analytical block uses its own logic and feature engineering.
Commodities Analytics
For recurrent products, we aggregated sales monthly by:
(client, product family, month)
From there we computed:
rolling 12-month share of wallet, purchasing frequency, replenishment cycles, trend evolution, and demand gaps relative to estimated market potential.
Clinics were segmented into:
loyal, promiscuous, marginal, at-risk, new, and lost customers. Technical Products Analytics
For biomaterials, we implemented anomaly-detection logic centered on behavioral deviation instead of fixed periodicity.
We modeled:
mean inter-purchase frequency, standard deviation, purchase silence, and historical ordering variability.
This allowed us to generate yellow and red alerts depending on how abnormal the inactivity became relative to the clinic’s own historical behavior.
Explainability Layer
A major design decision was making the system fully interpretable.
Every prediction is translated into human-readable business explanations so commercial teams understand:
why the alert exists, what changed, how urgent it is, and what economic opportunity is at stake. Challenges we ran into
One of the biggest challenges was that the datasets were operational rather than analytical.
The raw exports contained:
Spanish-formatted numeric values, negative sales lines due to returns, duplicated client IDs, campaign-driven purchasing spikes, sparse customer metadata, and highly heterogeneous purchasing behaviors.
Another major challenge was avoiding a “one-model-fits-all” approach.
Commodity products and technical biomaterials follow fundamentally different purchasing dynamics. A replenishment-based model works well for anesthesia but completely fails for sporadic biomaterial demand.
We also had to deal with limited contextual information. We had no explicit clinic type, specialization, or chair count data, so all segmentation had to be inferred indirectly from transactional behavior and market potential.
Finally, balancing sensitivity versus false positives was difficult. Generating too many alerts would reduce trust from sales teams, while generating too few would miss valuable opportunities.
Accomplishments that we're proud of
We are especially proud of four aspects of the project.
- Business-first analytical design
The system was designed around real commercial workflows instead of purely technical metrics.
Every output is directly actionable for sales representatives.
- Dual-engine architecture
Separating commodities from technical products significantly improved interpretability and realism.
The architecture reflects actual market behavior instead of forcing a generic predictive model.
- Explainable alerts
Rather than producing opaque scores, every alert includes a business explanation understandable by non-technical commercial teams.
- Share-of-wallet estimation
Using annual market potential data enabled us to estimate uncaptured demand.
This transformed the system from a pure churn detector into an opportunity-discovery engine.
What we learned
This project reinforced several important lessons.
First, high business value often comes more from good problem framing than from model complexity.
The most impactful decision was not choosing a sophisticated algorithm, but separating the problem into two fundamentally different behavioral systems.
Second, data cleaning and business understanding consumed far more effort than modeling itself.
Campaign contamination, returns, inconsistent client records, and behavioral variability all had major downstream effects.
We also learned the importance of explainability in operational AI systems. Commercial teams need interpretable recommendations they can trust and act upon immediately.
Finally, we learned that transactional data alone can reveal surprisingly rich behavioral patterns when combined with domain knowledge and carefully engineered metrics.
What's next for INIBSA-SEE
The next step is evolving Smart Demand Signals from a prototype into a production-ready commercial decision platform.
Planned improvements include:
Real-time daily alert generation. CRM and HubSpot integration. Feedback loops to learn from sales outcomes. Conversion tracking for alert effectiveness. Dynamic prioritization based on historical success rates. Geographic optimization for field representatives. Automated marketing actions for low-priority opportunities. Expansion to Portugal and additional international markets.
On the machine learning side, future versions could incorporate:
probabilistic demand forecasting, graph-based clinic similarity models, customer lifetime value estimation, and reinforcement-learning approaches for commercial action optimization.
Long term, the vision is to build an AI-assisted commercial operating system capable of proactively coordinating sales, tele-sales, and marketing actions across thousands of clinics with measurable economic impact.
I drafted the Devpost-style submission sections for the project, including the business framing, analytical architecture, challenges, and roadmap.
Log in or sign up for Devpost to join the conversation.