By Divyansh Arora on Friday 19th June 2026.

Introduction

One of the challenges we consistently heard from taxi operators was surprisingly simple:

"We have thousands of passengers. We just don't know enough about them."

Operators were spending money on promotions, discounts, and marketing campaigns without knowing who they were targeting. Loyal passengers received the same offers as inactive users. New customers were treated the same as regular bookers. Discounts were often sent to everyone because there was no practical way to identify who actually needed an incentive.

The result was wasted marketing spend, lower campaign effectiveness, and missed opportunities to retain valuable customers.

Passenger Profiles was built to solve that problem.

It gives operators a continuously updated view of their passenger base, automatically identifying different passenger groups, measuring customer value, and making it possible to run targeted campaigns based on real behaviour rather than guesswork.

The Problem We Wanted to Solve

Most operators already had access to passenger data.
They had bookings, account information, trip history, and transaction records.
What they didn't have was intelligence.

Questions that should have been easy to answer often required exporting spreadsheets and manually analysing data:

  • Who are our most loyal passengers?
  • Which customers have stopped booking recently?
  • Which passengers signed up but never completed their first trip?
  • Who responds well to promotions?
  • Which passengers generate the highest revenue?

Without these answers, marketing became broad and inefficient.

Instead of targeting the right passengers with the right message, operators often sent discounts and offers to their entire customer base. This increased promotional costs while reducing the overall effectiveness of campaigns.

Our goal was straightforward:

Create an always-on passenger intelligence system that automatically identifies customer segments and helps operators take action without requiring manual analysis.

Discovery and Planning

As we explored the problem further, we realised that understanding passenger behaviour was much more complex than analysing bookings alone.

Many of the most valuable marketing opportunities are based on absence rather than activity.

For example:

  • Passengers who have not booked in the last 14 days.
  • Users who installed the app but never completed a trip.
  • Customers who were previously active but have gradually become inactive.

These groups are often the highest-value audiences for retention campaigns, yet traditional reporting systems struggle to identify them because they are defined by events that never happened.

We also discovered another challenge.

Many of the behavioural signals we wanted to use simply didn't exist yet.

The platform captured bookings, but it wasn't recording how passengers interacted with the app before making a booking decision.

To build meaningful passenger intelligence, we first needed to create the infrastructure to capture and analyse those interactions.

Building the Foundation

Before we could create profiles, scores, or segments, we needed better data.

We built a dedicated event capture layer that recorded passenger interactions across the platform and implemented a nightly data pipeline that transferred operational data into a separate analytical environment.

This approach allowed us to process large volumes of behavioural data without impacting live booking operations.

With the foundation in place, we introduced an RFM scoring model based on:

  • Recency
  • Frequency
  • Monetary Value

Rather than using fixed rules, we made the scoring system configurable for each operator.

A passenger who books twice a month may be highly valuable for one business but average for another. Giving operators control over thresholds and weighting ensured the scoring reflected their specific business model.

Solving the Segmentation Challenge

The segmentation engine itself went through multiple iterations.

Traditional filtering approaches worked well when looking for activity:

"Passengers who booked in the last 7 days."

They struggled when looking for inactivity:

"Passengers who haven't booked in the last 30 days."

After several design revisions, we adopted what became our classification-first architecture.

Before evaluating any segment criteria, every passenger is classified based on the data available for them.

This gave the engine a consistent framework for evaluating both activity-based and inactivity-based conditions, making segmentation significantly more reliable and scalable.

Turning Intelligence Into Action

Passenger Profiles are not just about understanding passengers.

The real value comes from acting on those insights.

Operators can create highly targeted audiences based on behaviour, engagement, and customer value.

Examples include:

  • Loyal high-value passengers.
  • New users who have not completed a first trip.
  • Passengers showing signs of churn.
  • Frequent bookers who have become inactive.
  • Users who are engaging with the app, but not converting into bookings.

Once identified, operators can immediately engage these audiences.

Push notifications can be sent directly to specific passenger groups, and promotional coupons can be assigned only to the passengers who need them.

Instead of giving discounts to every customer, operators can focus on incentives where they are most likely to generate additional bookings and improve retention.

This creates a smarter, more efficient marketing strategy while protecting revenue.

AnjAI-Powered Audience Creation

We wanted segmentation to be accessible to every operator, not just power users.

That's why Passenger Profiles supports two ways of building audiences.

Standard Setup:
Operators can manually create segments using conditions, filters, and logical rules.

Set Up with AnjAI:

Operators can simply describe the audience they want in natural language.

For example:

  • "Passengers who booked in the last 7 days."
  • "Passengers who haven't opened the app in the last 5 days."
  • "High-value passengers who haven't booked this month."

AnjAI automatically translates these requests into the appropriate segment criteria.

During demonstrations with operators across Europe, one of the most exciting outcomes was seeing operators naturally create audiences in their own language, including Spanish and French, without changing the underlying experience.

Key Lessons Learned

The biggest lesson was that customer intelligence starts with data collection.

Many of the insights operators wanted depended on behavioural events that were not previously captured. Building the event layer became one of the most important investments in the entire project.

We also learned that inactivity is often just as important as activity.

Some of the highest-impact marketing opportunities come from identifying customers who are drifting away before they are completely lost.

Building reliable systems to detect those signals required a fundamentally different approach than traditional filtering and reporting.

Looking Ahead

Passenger Profiles give operators something they have never had before inside Cab9: a living, continuously updated understanding of their customers.

More importantly, it transforms marketing from a broad, one-size-fits-all approach into a targeted, data-driven strategy.

The goal is simple:

Send fewer discounts.

Send smarter discounts.

Reach the right passengers at the right time with the right message.

Passenger Profiles is the foundation for a new generation of customer intelligence capabilities across the Cab9 platform, and we're excited to share what comes next.