Jesper Armouti-Hansen

Quantitative Analyst · Economics PhD

Jesper
Armouti-Hansen

Quantitative analyst with an economics PhD and a decade of applied data work. I build statistical and machine-learning models on structured data, and assess when their output is reliable enough to act on.

Cologne, Germany · Python · machine learning · econometrics

Model confidence → decision Logistic regression · 480 held-out
Auto-handled
63%
To review
37%
Auto-accuracy
88%

Drag the band — coverage vs. accuracy

Risk per trip → time of day CitiBike × NYPD collisions
Morning Midday Evening Late eve Night ≈4×

Collisions matched to stations (BallTree 300 m), severity-weighted, EB-smoothed — risk per trip peaks at night, ~4× daytime.

Profile

What I do

01

Model evaluation

Accuracy, calibration, and error-pattern checks that decide where a model can run on its own and where it needs review. It's what gets a model trusted in production.

02

Statistical & econometric modeling

Statistical and econometric models, built and estimated on structured data, with a clear read on how much of the variation they actually capture.

03

Machine learning on structured data

Machine learning on tabular data (gradient boosting, regularized models, and the like), always benchmarked against a simple baseline so the added complexity has to earn it.

04

Reproducible code

Version-controlled, tested code in Python, SQL, and R. The economics training is the edge on the harder part: telling a real effect from noise.

Selected work

Analysis, models, and checks

A few projects, each with the question it addresses, the method, and the result.

01 GitHub project · Retrieval system

RAG Search Engine

A hybrid movie-search engine combining lexical and semantic retrieval, reranking, image search, and RAG answers.

Problem
Plain search fails when a query is vague, visual, or more description than title.
Approach
Combined BM25, embeddings, reciprocal rank fusion, CLIP, reranking, and caching, with explicit checks at each retrieval stage.
Result
A pipeline with each retrieval stage measured separately, so ranking quality is attributable to a stage rather than the whole.

Python · RAG · BM25 · embeddings · CLIP · evaluation

02 Case study · Operational analysis

CitiBike Demand, Risk, and Net Flow

Station- and trip-level analysis of demand, net flow, and collision-adjusted risk across New York's bike-share network.

Problem
Where does the network strain — heavy use, poor rebalancing, or higher risk per trip?
Approach
Joined trip records with collision data and built station-level measures that separate raw volume from exposure-adjusted risk.
Result
Three separate measures — demand, imbalance, and exposure-adjusted risk — that a single ranking would have conflated.

Python · pandas · feature engineering · risk analysis · forecasting

03 GitHub project · Model comparison

Economic Theories and Machine Learning

Code comparing economic theories against machine-learning benchmarks on behavioral data.

Problem
When a theory predicts behavior, how much of the predictable variation does it actually capture?
Approach
Benchmarked theory-based specifications against machine-learning models and examined the remaining predictive gap.
Result
Theory specifications scored on out-of-sample prediction and compared against the machine-learning benchmark.

Python · machine learning · model evaluation

All work

Experience

Where I've worked

Full CV

Background

Research & teaching

A decade in academic economics — published research, refereeing for journals, and university teaching.

4peer-reviewed papers
PhDeconomics, summa cum laude
5journals refereed for
60+theses supervised

2024 · Games and Economic Behavior

Efficiency Wages with Motivated Agents

Jesper Armouti-Hansen, Lea Cassar, Anna Dereky, and Florian Engl

145, pp. 66–83

Games and Economic Behavior journal cover

2024 · Journal of Mathematical Economics

Managing Anticipation and Reference-Dependent Choice

Jesper Armouti-Hansen and Christopher Kops

112, 102988

Journal of Mathematical Economics journal cover

Research background

Contact

Get in touch

Email is the best way to reach me — I'm glad to talk through a quantitative or modeling problem.