Personify: User Segmentation platform for Myntra

Sanjay Shetty
Myntra Engineering
Published in
5 min readNov 29, 2023

In traditional shopping, how does a shopkeeper convert a user into a customer? He shows different brands, article types and colours, helps filter, customize and offers discounts. In e-commerce as well, tailoring the user content, communication channel etc using customization techniques increases the user experience by huge margin. It also increases sales and customer conversion ratio.

The internet, e-commerce, and mobile technologies have fundamentally changed the way companies and consumers act, interact, and transact. In a world where business is conducted 24x7 at an increasing pace, a communications-driven customer experience is emerging as a clear differentiator for brands. In a survey conducted by Harvard Business Review, 40% of organizations stated that creating an exceptional & highly relevant customer experience is their top priority. State of the connected consumer report by Salesforce also mentions that 33% of end consumers are more likely to purchase if content & communication is customized to their needs.

Recognizing the power of customization, particularly in the realm of fashion e-commerce, Myntra has developed Personify. It is Myntra’s user segmentation platform that can unify customer data and communications so that the right message reaches the right person at the right time.

What is user segmentation?

In short, segmentation is a way to create user groups based on common attributes such as purchase behaviors, brand preferences, age groups, gender, or geographical location. Each of those groups are called user segments.

Segments serve as the foundation for tailored marketing strategies and experiences. Whether it’s showcasing banners of the latest trendy articles, sending communications about ongoing discounts for specific brands, or offering exclusive coupons, user segmentation has a profound impact on user satisfaction, sales, and customer conversion rates.

We will discuss at length on the use cases at Myntra towards the end of the blog.

Benefits of User Segmentation Tool

  • More efficient advertising
  • Concentrated distribution
  • Precise, tailored branding
  • Increased revenue
  • Increased customer retention
  • Narrowed business focus

Personify Platform

Personify is Myntra’s in-house user-segmentation platform, built as a data product by Myntra’s Data Platform Team.

Functionalities provided by the platform

  1. Easy segment creation with few clicks on the user interface by selecting various filters on user properties, behavior, action.
  2. Segment creation using custom SQL queries accessing various aggregated datasets from Datalake/Data Warehouse.
  3. Segment creation using CSV files.
  4. User Template Queries to create common repeatedly used user segments with specific filters for that use-case (Example — Template Query — users who browsed x coloured jeans for last y days, where x, y can be filled to generate different segments)
  5. User interface also provides to view, edit and update the segments.
  6. Create one time or recurring segments which updates the user-base with mentioned update frequency. Currently the minimum frequency supported is an hour.
  7. Enrich the segment with various user-attributes which can be used by consumers.
  8. Reuse already created segments to perform logical operations over them.
  9. Sync the segment to consumer platforms through API’s, SFTP or Async kafka stream integration.

Architecture

Personify High Level Design Diagram

Data sources:

Personify platform is integrated with different data warehouses, data lakes and it accepts user custom files. Data Layer has this user data on Myntra Data Platform aggregated into different datasets using ETL jobs.

Personify UI:

The Personify UI serves as the interface between users and the platform, offering a seamless experience for segment creation and management. From creating segments using property filters to crafting query-based segments, the UI provides marketers with powerful tools to harness the full potential of user segmentation.

Trebuchet:

Trebuchet is the Personify backend service. It is a Java based tomcat application, designed as a service handling various functionalities like serving, processing, syncing etc.

It has following components:

  1. API serving: Serves UI and API integrations. It helps in fetching segment metadata.
  2. Schedulers: Triggers scheduled segment refreshes, tracks failures and schedules retries.
  3. Segment Processing: Queries the necessary segment data, performs logical operations (union, intersection, exclude) with correlated segments, and executes tasks like deduplication, enrichment with additional attributes, and delta user calculations to optimize the updating of segment data with external systems.
  4. Segment sync: Segment sync, a key feature, facilitates both pull-based and push-based synchronization with external systems, enabling seamless integration with platforms such as Facebook Ads and Google Ads.

Integrations with Personify

Many internal Myntra services are integrated with the Personify application. Below are a few apps and their use cases. Segment sync component of the trebuchet helps in this process.

Rashi service

Rashi service is a simple user to segment identifier mapping service and serves this mapping requests at scale. Trebuchet service streams the data to the kafka queue. Rashi service consumes it and stores it as user to segment mapping. It helps in showing a customized banner or widget on the Myntra site, MyntraApps.

Coupon Service

At Myntra, we offer a wide range of coupons to enhance the shopping experience. Managing and keeping user information up-to-date for each coupon can be a complex task in our daily operations. However, with the Personify tool, we simplify the process of creating and maintaining coupons. Our Coupons service seamlessly communicates with Personify to access segment details and connects with the Rashi service to establish user-segment mapping.

Morpheus A/B Platform

In Myntra A/B experiments can be created in two ways. One way users are assigned to experiment who visits Myntra Platform, another way is to create experiments on a Segmented userset. A/B tool is integrated with the Personify application to get the user segment data to run A/B experiments on users belonging to specific segments.

Customer Relationship Management

Sending tailored communication and creating marketing campaigns using Personify (SMS, EMAIL, InApp notification). CRM services use pull based integration with Personify.

External applications

Personify has direct API integration to create user segments on GoogleAds and FacebookAds. This helps in the creation of marketing campaigns.

Scale of operation

Currently, Personify handles creation, syncing of hundreds of segments every day. Each segment may have millions of users. Fact user lifetime is one of the major aggregates using which a large number of segments are generated. It is refreshed every day crunching terabytes of data to provide a single view of users properties, behavioral, affinity and purchase metrics.

Personify empowers marketers to unlock the full potential of user segmentation, driving revenue, customer retention, and operational efficiency. As the digital landscape continues to evolve, businesses that embrace the power of user segmentation through platforms like Personify will undoubtedly gain a competitive edge, captivating customers with exceptional experiences tailored to their unique needs.

--

--