Graduate data scientist in London. I have just completed an MSc in Data Science & Analytics at the University of Westminster. Before that I did a BSc in Industrial Engineering at Sabancı University.
I build end-to-end machine-learning pipelines in Python and SQL, from API data collection and ETL through modelling, evaluation and reporting, and I ship data products as tested full-stack web apps. I care about validating models properly and preventing data leakage, and about turning results into clear decisions.
Open to graduate / junior data scientist roles in London · UK Graduate visa, no sponsorship required.
| Project | What it is | Stack |
|---|---|---|
| Do Any Model Families Beat a Zero-Return Forecast? (MSc dissertation) | A pre-registered benchmark of 18 models, from statistical and deep-learning models to zero-shot foundation models, on daily returns of 50 S&P 500 stocks from 2005 to 2026 (272,200 observations). It uses purged walk-forward CV, the Model Confidence Set and FDR-corrected Diebold–Mariano tests. Finding: no model significantly beats a zero-return point forecast; Chronos-2 has the lowest CRPS (4.2% below the baseline) through better-calibrated intervals. 271 automated tests. | Python, PyTorch, Nixtla, Hugging Face, arch |
| KiteMap (live demo; full-stack data product) | Turns hourly weather forecasts for 18 kitesurf spots into a personal go / no-go verdict and kite size. An hourly Cloudflare Worker ingests Open-Meteo data into PostgreSQL and a cached API; a rule-based decision engine is covered by 206 tests. | TypeScript, Next.js, Supabase, Cloudflare Workers, Vitest |
| S&P 500 Stock Segmentation | K-Means and Ward clustering of 496 stocks by mean return, beta and volatility (group coursework). The two methods agree on 96.6% of stocks (silhouette 0.46). | Python, scikit-learn, yfinance |
| Reddit Sentiment & Topic Analysis | 603 posts from 5 subreddits, analysed with VADER sentiment, bigrams and 5-topic LDA, and written up as a stakeholder report. | Python, PRAW, NLTK, scikit-learn |
| Museum Collection Graph Database | A relational museum database remodelled as a 36-node, 45-relationship property graph, with 6 Cypher queries that replace recursive SQL self-joins. | Neo4j, Cypher |
| Has London Housing Lost Its Crown? | A six-chart data story on UK regional house prices, 1995–2026. From 2016 to 2026 London grew 12%, against 58% in the North West. | R, ggplot2 |
| Reverse Digital Twin for CNC Milling (BSc final-year project) | Group project: a MATLAB mechanistic milling-force model and a 129,600-row simulated force dataset, built as training data for a reverse digital twin. | MATLAB |
- Programming & data: Python (pandas, NumPy, scikit-learn, SciPy, PyTorch), SQL (PostgreSQL), R, TypeScript, Neo4j (Cypher), MATLAB, Git
- Machine learning: LSTM, GRU, Transformers (TFT, PatchTST), foundation models (Chronos-2, TimesFM), Random Forest, K-Means and hierarchical clustering, NLP (VADER, LDA)
- Statistics & forecasting: ARIMA, ETS, GARCH, probabilistic forecasting (CRPS), walk-forward cross-validation, hypothesis testing, Diebold–Mariano, Model Confidence Set, backtesting
- Engineering: ETL pipelines, REST APIs, automated testing (pytest, Vitest), Next.js, Supabase, Cloudflare Workers, Vercel
- Tools: Nixtla, Hugging Face, Colab and Kaggle GPUs, APIs (yfinance, FRED, PRAW), ETL, star-schema data warehousing, Power BI, Excel
LinkedIn · I speak Turkish (native), English (advanced) and French (intermediate).

