Jesper Armouti-Hansen

Selected work

Analysis, modeling, and research code

Each project appears once, with the question it addresses, the method, and the result.

432 contributions in the last year Less More

Applied analysis

Data work aimed at a decision: pick the measure that matters, build the analysis, and state what it supports.

01 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

Station-level crash risk LowerMediumHigher

Each dot is a CitiBike station.

Modeling & tools

Search and ranking, choice-modeling code, and small tool-calling systems.

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

Search pipeline

Hybrid retrieval, fused and reranked, then answered with citations.

02 Early-stage · Python package

choicekit

A Python package for reusable choice-modeling workflows, in development.

Problem
Choice-modeling code gets hard to trust when every project restarts from a loose script.
Approach
Move estimation machinery into tested package code and leave project files for data and interpretation.
Result
Early, but aimed at a clean boundary between modeling tools and one-off analysis.

Python · choice modeling · package design

03 GitHub project · AI tooling

Minimal Coding Agent

A small Gemini-powered coding agent that reads files, runs scripts, and edits code through explicit tools.

Problem
How much can a coding agent do with only a few explicit tools and no framework?
Approach
Implemented file inspection, script execution, and edits behind explicit, inspectable tool calls.
Result
A working agent that reads, runs, and edits code in a loop — and surfaces where it needs guardrails.

Python · tool-calling · Gemini API · CLI

Agent run

An example run — the agent finds a failing test and fixes it.

Research & replication

Research code: published replication packages and methods work in economics, tested and reproducible.

01 Manuscript + replication package · Inference & simulation

The Informativeness of Frequency-Report Scoring Rules

Manuscript, simulations, and replication code for belief elicitation from frequency reports.

Problem
A count report is observable; the belief behind it is not. How much does the report actually pin down?
Approach
Characterized the identified set of beliefs behind each report under three scoring rules, then checked the bounds with simulation.
Result
No rule dominates: which scoring rule gives the sharpest bounds depends on how concentrated the beliefs are.

Python · simulation · pytest · scoring rules

Sharpest-bound win share

Share of cases where each scoring rule gives the sharpest belief bounds, by belief concentration α.

02 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

03 Published · GEB 2024 · Replication package

Efficiency Wages with Motivated Agents

Replication data and code for a published paper on wages, motivation, and effort.

Problem
Do wage incentives and prosocial motivation reinforce each other, or work through separate channels?
Approach
Built reproducible analyses around experimental data and documented the paper's online appendix.
Result
A peer-reviewed empirical project with a complete replication package.

Python · Stata · experimental data · replication

Chosen effort by wage

Mean chosen effort by offered wage, with 95% confidence bands.

Also on GitHub

Smaller builds from learning new tools — a notes site, a static-site generator, and a few games and CLIs.

Personal Knowledge System Static Site Generator BookBot Asteroids Maze Solver