Ishita Mathur

Ishita MathurIshita MathurIshita Mathur
  • Home
  • Media
    • Mentions
    • Conferences
    • Writing
  • Experience
    • Fi Money
    • Fi Money
    • Gojek Tech
    • Delhivery
    • EPCC
  • Contact
  • More
    • Home
    • Media
      • Mentions
      • Conferences
      • Writing
    • Experience
      • Fi Money
      • Fi Money
      • Gojek Tech
      • Delhivery
      • EPCC
    • Contact

Ishita Mathur

Ishita MathurIshita MathurIshita Mathur
  • Home
  • Media
    • Mentions
    • Conferences
    • Writing
  • Experience
    • Fi Money
    • Fi Money
    • Gojek Tech
    • Delhivery
    • EPCC
  • Contact

Gojek Tech

Overview

I worked at Gojek from November 2017 to May 2020 on projects in Allocations, Ride-sharing and Food Delivery domains. Held responsibility for end-to-end development of ML projects, including project prioritisation, facilitation of cross-functional collaboration and stakeholder management.

Work on GoFood Search

Creating a holistic search experience for users within GoFood by improving both retrieval (contextual query understanding) and ranking (relevance based personalisation). This involved working directly with the Product manager to identify & align long term product goals, plan execution roadmap and define team-level OKRs.


Query Understanding: Lead the stream as PIC for QU, which involved communicating & collaborating with stakeholders in product, design & engineering, and holding responsibility for breaking down, prioritising & delegating tasks as well as ensuring timely completion of deliverables. The improved search experience saw a 60% increase in session-level conversions. 

  • Built an Intent Classifier that predicts the order of the query intents (dish, restaurant, cuisine etc) for a text search query at scale, using historical behavioural data, realtime suggestions, FastTest embeddings to predict intent probabilities for search queries at scale.
  • Worked on generating semantic dish suggestions for the search query when intent was `dish` by using embeddings to find similar dishes and iterated over a few approaches that used a combination of dish suggestions from the knowledge graph, ES fundamental dishes and word embeddings.
  • Used Word2Vec to build embeddings Query Expansion in gensim using search & order history to surface semantically relevant search results, which resulted in a 25% conversion lift.


Relevance Ranking: Aimed at providing the most relevant, personalised food search results to users, we help users to easily and quickly find restaurants and dishes they are looking for.

  • Built a personalised relevance ranking system using Learning-to-Rank (LTR) model in ElasticSearch to re-rank the list of results on the basis of the user's interaction history across brands, merchants and cuisines.
  • Engineered features for the LambdaMART algorithm (implemented in Ranklib & XGBoost) that were derived from query & merchant attributes as well as user interaction with the GoFood platform and created ETLs for the features. LTR experiments saw in ~15% lift in search to booking conversions.

Work on Transport

My work with this team involved creating a feature on the Gojek app (for GoRide and GoCar) that would enable customers to choose a specific, predefined pickup point, whenever they want to make a booking in large areas that have multiple pickup spots. 


  • The most frequented pickup-points (or gates) for each PoI were found by clustering the location coordinates using historical booking data. This determined where exactly customers were being picked up from and filtered them on the basis of polygons sourced from OSM to find bookings created inside the POI. The KMeans algorithm was used to cluster historical pickup points for a POI, and the optimal value of β€˜k’ for each POI was calculated using the elbow method and the stupid backoff method.
  • The next part involved building a Language model for each cluster (i.e gate) to determine the name for the gate. We used the pickup notes that customers wrote to drivers within the app and built an n-gram based Language model. The phrase generated by the model using the vocabulary from the notes that had maximum probability was then assigned as the gate name.


See the blog articles for both parts here and here.

Work on Allocations

My work with the Allocations team at Gojek involved contributing to the development of DRANK, a model that intelligently allocated a driver to a customer when they requested a ride on the Gojek app. 


  • DRANK used an XGBOOST model trained on historical data from the past behaviour of drivers and customers on the app as well as real-time booking-level data, and allocated that driver to a β€˜booking’ that was most likely to complete the booking.
  • The first task was to create a new ETL for the DRANK input data that would read parquet files from Google Cold Storage instead of the existing Postgres database. The ETL was created in the form of an Airflow job that would read the parquet files for a given day each morning and execute the DAG to process the data and store it in the format required by the DRANK training script.
  • The second task involved improving the existing model by engineering new features and creating a pipeline that would reduce the iteration cycle.

Other

  • Responsible for Data Science recruitment for Data Scientists and ML Engineers for Gojek's GoPay and GoFood teams.
  • Presented at multiple knowledge-sharing sessions for colleagues on query expansion, intent classification, learnings from the re-ranking models and FPOI.


Copyright Β© 2025 Ishita Mathur - All Rights Reserved.


Powered by

This website uses cookies.

We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.

Accept