SIG (Susquehanna)·Data Scientist·Technical Phone Screen
Jul 2026
SQL-heavy technical screen for a data scientist role at SIG. Six questions back to back, all analytics SQL, no behavioral fluff. The problems ranged from basic conversion funnels to some genuinely tricky window function and cross-join completeness stuff.
- For a fixed 7-day window, compute conversion rate (delivered / created) broken down by city and courier type. An order counts as delivered if status is 'delivered' and delivered_at is not null, regardless of when it was delivered.
- Generate a monthly volume report for the last 3 months showing orders created, orders delivered, and GMV (delivered count times a fixed rate) per courier type. Months with zero activity must still appear in the output.
- For each user, find the first streak of 3 consecutive delivered biker orders. Any non-biker delivery breaks the streak; non-delivered orders are ignored entirely. Return the first and third order IDs and the time span between them in minutes.
- Compute the 95th percentile delivery time in minutes for delivered orders created in the last 30 days, grouped by courier type. Also return the count per group.
- Extend the monthly volume report to include city as a dimension, ensuring every combination of city (from both users and couriers), courier type, and month appears in the output even with zero orders.
- Find all orders created on or before a cutoff timestamp that were not delivered within 2 hours of creation. Include orders where delivered_at is null or where it exceeds the 2-hour threshold. Return a boolean column flagging these stale orders.
“Straightforward on the surface but the 'regardless of when delivered' part tripped me up briefly.” The rest of the author's notes on Data Scientist interview at SIG (Susquehanna), Technical Phone Screen round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post