const div = document.createElement('div') div.style.overflowY = 'scroll' div.style.width = '50px' div.style.height = '50px' div.style.visibility = 'hidden' document.body.appendChild(div) const scrollbarWidth= div.offsetWidth - div.clientWidth document.body.removeChild(div) if(scrollbarWidth > 0){ document.body.style.setProperty('--scrollbar-width', `${scrollbarWidth}px`) }
top of page
Recent courses

POLITICAL ECONOMY

Undergraduate: NUS, 2023–2026 [Syllabus]

TEXT ANALYSIS FOR RESEARCH IN ECONOMICS AND FINANCE

Ph.D.: NUS, Fall 2025 [Syllabus]

ASIA IN THE GLOBAL ECONOMY

EMBA: NUS, 2025, 2026 [Syllabus]

ECONOMIC GROWTH AND DEVELOPMENT

Master: UPF/BSE, 2023 [Syllabus]

BUSINESS AND SOCIETY: PUBLIC POLICY

MBA: INSEAD, 2020–2023 [Syllabus]

Selected keynote addresses

9th Economics of Media Bias Workshop (Berlin, 2026)

8th Madrid Political Economy Workshop (Madrid, 2025)

CESifo Summer Institute Workshop on Digital Platforms: Policy and Politics (Venice, 2025)

CESifo 2023 Political Economy Workshop (Dresden, 2023)

Australian Political Economy Workshop (Melbourne, 2023)

European Public Choice Society Meeting 2023 (Hannover, 2023)

Annual Congress of the Swiss Society of Economics and Statistics (Fribourg, 2022)

Workshop on Governance of Big Data and Artificial Intelligence (Tilburg, 2019)

Third Economics of Media Bias Conference (Cologne, 2018)

bottom of page