Analytics Intern
Looked at how people actually use a travel card, then built the models that turn that behaviour into a retention or a matching decision.
- SigLIP2
- Airflow
- Databricks
- churn models
- SigLIP2hotel image matching
- AirflowGPU inference on Databricks
- Churnscores for retention, by stage
Behaviour
A travel card is used in bursts around a trip, then goes quiet. That pattern is normal. The useful question is which quiet periods, and which spikes, are something else.
- Worked from user interaction data rather than a single aggregate dashboard.
- Separated ordinary travel use from activity that looked like card abuse.
Churn
Someone who has not booked in a month is not the same as someone who was about to book and stopped. A single score collapses those stages.
- Models for customers likely to leave, at more than one stage of the relationship.
- The score was for a retention decision, not a leaderboard.
Hotels
A highlight is a sentence about a hotel. The image that should sit next to it is a matching problem, not a search over filenames. Once that matcher exists, it has to run without a notebook staying open.
- End-to-end path from a hotel highlight to the image that should represent it.
- The matcher is a fine-tuned SigLIP2 model.
- Airflow schedules inference on Databricks GPU compute.
Flights
A discount that everyone would have booked anyway is not incremental. The question for the next test is who receives the offer, and whether the booking would have happened without it.
- Read the dynamic flight discounting already in use.
- Worked with the team on hypotheses for discount allocation and incremental bookings.