Primary domain: online (incremental) machine learning — algorithms that update per-observation in O(1) amortised time rather than requiring full batch retraining. Applied focus on contextual bandits, off-policy evaluation (IPS, DR, doubly-robust estimators), and reward estimation under partial feedback and non-stationarity. Author of Formative, a causal estimation library, and Gittins, a production-grade contextual bandit engine. Wrote the off-policy evaluation tutorial in the official Vowpal Wabbit documentation.
Secondary domains: linear and mixed-integer optimisation (LP/MIP formulations for scheduling, routing and resource allocation), time-series and signals analysis (spectral methods, change-point and anomaly detection, pattern-of-life / normalcy modelling), and distributed backend architectures for real-time inference (streaming ingestion, feature stores, sub-millisecond serving layers).
Built some of the first real-time contextual bandit systems for high-volume recommendations in the Nordics, and real-time webpage optimisation for fashion retail. Constraints: per-observation online updates, partial (bandit) feedback, non-stationary reward distributions, and serving inside sub-second request budgets. Evaluation done off-policy (IPS / doubly-robust) rather than on live traffic where experimentation was constrained.
Bidding algorithms for second-price advertisement auctions under partial information, allocating ten-digit (€1B+) annual media budgets. Constraints: censored feedback from lost auctions, budget pacing, and non-stationary competition.
Estimated the causal impact on retention of a third-party bonus/loyalty program carrying eight-digit (€10M+) annual license fees, to decide whether the spend was actually driving incremental behaviour. Constraints: no clean randomised holdout, confounding from self-selecting engaged users, and a decision that had to withstand scrutiny. Used instrumental-variable regression and difference-in-differences to isolate the effect; the incremental retention did not justify the fees, and the program was decommissioned, saving €10M+ annually.
Implemented payment processing (charges, holds, automatic refunds) and high-availability hosting for retail with multi-million annual revenues, alongside event-driven backends and a storefront for personalised fashion.
Architected and shipped a composable, event-driven commerce platform for global fashion retail: headless CMS, commerce engine, payments, tax, and personalisation services, replacing a monolithic platform that couldn't absorb traffic spikes or multi-channel content reuse. Constraints: zero-downtime migration of a live revenue stream, multi-market catalogues, pricing and tax, and content authored once but published across web, email, SMS, and B2C channels.
MSc, Computer Science, University of Helsinki; major in software systems, extended minor in mathematics and statistics. Natively trilingual (Swedish, Finnish, English).
Finnish Defence Forces active reservist.
Off-policy Estimation in the Agentic Era, 2026
On Prompting, Priors, and What It Takes for LLMs to Produce Novelty, 2026
Machine Learning Reductions & Mother Algorithms, Part I: Introduction
Machine Learning Reductions & Mother Algorithms, Part II: Multiclass to Binary Classification
Real-World Reinforcement Learning
Improving the Delivery Cycle: A Multiple-Case Study of the Toolchains in Finnish Software Intensive Enterprises, IST, 2016
The Highways and Country Roads to Continuous Deployment, IEEE Software, 2015
A Behavior Marker tool for measurement of the Non-Technical Skills of Software Professionals: An Empirical Investigation, SEKE, 2015
Examining the Structure of Lean and Agile Values Among Software Developers, XP, 2014