1<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="google-site-verification" content="google-site-verification=KvlVoREKrbD3PKFShOsXWHrWxtP5pUbeEg5A5b_p4D0"> <meta http-equiv="Permissions-Policy" content="interest-cohort=()"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title> data | whce.world </title> <meta name="author" content="whce.world "> <meta name="description" content="World Human Capital Expenditure database "> <meta name="keywords" content="human capital, education, public health, public economics"> <meta property="og:site_name" content="whce.world"> <meta property="og:type" content="website"> <meta property="og:title" content="whce.world | data"> <meta property="og:url" content="WHCE.WORLD/data/"> <meta property="og:description" content="World Human Capital Expenditure database "> <meta property="og:locale" content="en"> <meta name="twitter:card" content="summary"> <meta name="twitter:title" content="data"> <meta name="twitter:description" content="World Human Capital Expenditure database ">
1<script type="application/ld+json"> 2 { 3 "author": 4 { 5 "@type": "Person", 6 "name": "whce.world " 7 }, 8 "url": "WHCE.WORLD/data/", 9 "@type": "WebSite", 10 "description": "World Human Capital Expenditure database 11", 12 "headline": "data", 13 14 "name": "whce.world ", 15 "@context": "https://schema.org" 16 } 17 </script>
17 <link rel="stylesheet" href="/assets/css/bootstrap.min.css?a4b3f509e79c54a512b890d73235ef04"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/mdb.min.css" integrity="sha256-jpjYvU3G3N6nrrBwXJoVEYI/0zw8htfFnhT9ljN3JJw=" crossorigin="anonymous"> <link defer rel="stylesheet" href="/assets/css/academicons.min.css?f0b7046b84e425c55f3463ac249818f5"> <link defer rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:100,300,400,500,700|Material+Icons&display=swap"> <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-github.css?591dab5a4e56573bf4ef7fd332894c99" media="" id="highlight_theme_light"> <link rel="shortcut icon" href="data:image/svg+xml,<svg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20100%20100%22><text%20y=%22.9em%22%20font-size=%2290%22>%E2%9A%9B%EF%B8%8F</text></svg>"> <link rel="stylesheet" href="/assets/css/main.css?d41d8cd98f00b204e9800998ecf8427e"> <link rel="canonical" href="WHCE.WORLD/data/">
17<script src="/assets/js/theme.js?9a0c749ec5240d9cda97bc72359a72c0"></script>
17 <link defer rel="stylesheet" href="/assets/css/jekyll-pygments-themes-native.css?5847e5ed4a4568527aa6cfab446049ca" media="none" id="highlight_theme_dark">
17<script>initTheme();</script>
17 </head> <body class="fixed-top-nav "> <header> <nav id="navbar" class="navbar navbar-light navbar-expand-sm fixed-top" role="navigation"> <div class="container"> <a class="navbar-brand title font-weight-lighter" href="/"> whce.world </a> <button class="navbar-toggler collapsed ml-auto" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar top-bar"></span> <span class="icon-bar middle-bar"></span> <span class="icon-bar bottom-bar"></span> </button> <div class="collapse navbar-collapse text-right" id="navbarNav"> <ul class="navbar-nav ml-auto flex-nowrap"> <li class="nav-item "> <a class="nav-link" href="/">about </a> </li> <li class="nav-item "> <a class="nav-link" href="/research/">research </a> </li> <li class="nav-item active"> <a class="nav-link" href="/data/">data <span class="sr-only">(current)</span> </a> </li> <li class="nav-item "> <a class="nav-link" href="/people/">people </a> </li> <li class="nav-item "> <a class="nav-link" href="/gjp/">GJP </a> </li> <li class="toggle-container"> <button id="light-toggle" title="Change theme"> <i class="ti ti-sun-moon" id="light-toggle-system"></i> <i class="ti ti-moon-filled" id="light-toggle-dark"></i> <i class="ti ti-sun-filled" id="light-toggle-light"></i> </button> </li> </ul> </div> </div> </nav> <progress id="progress" value="0"> <div class="progress-container"> <span class="progress-bar"></span> </div> </progress> </header> <div class="container mt-5" role="main"> <div class="post"> <header class="post-header"> <h1 class="post-title">data</h1> <p class="post-description"></p> </header> <article> <p>Download the full WHCE dataset (<a href="/assets/xlsx/Bhartietal2025WHCEFinalSeries.xlsx">xlsx</a>)</p> <p>Download the main figures and tables (<a href="/assets/pdf/Bhartietal2025MainFiguresTables_Combined.pdf">pdf</a>) (<a href="/assets/xlsx/Bhartietal2025.xlsx">xlsx</a>)</p> <p>Download the full set of appendix figures (<a href="/assets/pdf/Bhartietal2025AppendixFigures.pdf">pdf</a>) (<a href="/assets/xlsx/Bhartietal2025Appendix.xlsx">xlsx</a>)</p> <p>Download the full replication package (<a href="https://www.dropbox.com/scl/fi/5t8y67on57pynijak7cw4/Bhartietal2025.zip?rlkey=ebzxauea0l1bu5jd5y0fwkuiy&
17dl=0" rel="external nofollow noopener" target="_blank">zip</a>)</p> <p>Please cite as <mark>Bharti, N., Gethin, A., Jenmana, T., Mo, Z., Piketty, T., & Yang, L. (2026, March). Human Capital, Unequal Opportunities, and Productivity Convergence: A Global Historical Perspective, 1800â2100. <span style="font-style: italic; color: inherit;">Journal of Public Economics, 255</span>, 105578. https://doi.org/10.1016/j.jpubeco.2026.105578.</mark></p> </article> </div> </div> <footer class="fixed-bottom" role="contentinfo"> <div class="container mt-0"> © Copyright 2026 whce.world . </div> </footer>
17<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
17
17<script src="/assets/js/bootstrap.bundle.min.js"></script>
17
17<script src="https://cdn.jsdelivr.net/npm/[email protected]/js/mdb.min.js" integrity="sha256-NdbiivsvWt7VYCt6hYNT3h/th9vSTL4EDWeGs5SN3DA=" crossorigin="anonymous"></script>
17
17<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/masonry.pkgd.min.js" integrity="sha256-Nn1q/fx0H7SNLZMQ5Hw5JLaTRZp0yILA/FRexe19VdI=" crossorigin="anonymous"></script>
17
17<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/imagesloaded.pkgd.min.js" integrity="sha256-htrLFfZJ6v5udOG+3kNLINIKh2gvoKqwEhHYfTTMICc=" crossorigin="anonymous"></script>
17
17<script defer src="/assets/js/masonry.js" type="text/javascript"></script>
17
17<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/medium-zoom.min.js" integrity="sha256-ZgMyDAIYDYGxbcpJcfUnYwNevG/xi9OHKaR/8GK+jWc=" crossorigin="anonymous"></script>
17
17<script defer src="/assets/js/zoom.js?85ddb88934d28b74e78031fd54cf8308"></script>
17
17<script src="/assets/js/no_defer.js?2781658a0a2b13ed609542042a859126"></script>
17
17<script defer src="/assets/js/common.js?e0514a05c5c95ac1a93a8dfd5249b92e"></script>
17
17<script defer src="/assets/js/copy_code.js?12775fdf7f95e901d7119054556e495f" type="text/javascript"></script>
17
17<script defer src="/assets/js/jupyter_new_tab.js?d9f17b6adc2311cbabd747f4538bb15f"></script>
17
17<script type="text/javascript">window.MathJax={tex:{tags:"ams"}};</script>
17
17<script defer type="text/javascript" id="MathJax-script" src="https://cdn.jsdelivr.net/npm/[email protected]/es5/tex-mml-chtml.js" integrity="sha256-MASABpB4tYktI2Oitl4t+78w/lyA+D7b/s9GEP0JOGI=" crossorigin="anonymous"></script>
17
17<script defer src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?features=es6" crossorigin="anonymous"></script>
vendor: 64 bytes, line 17
17 <script async src="https://www.googletagmanager.com/gtag/js?id=
17G-811HT0665Q
vendor: 12 bytes, line 17
17"></script>
17<script>function gtag(){window.dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-811HT0665Q");</script>
17
17<script type="text/javascript">function progressBarSetup(){"max"in document.createElement("progress")?(initializeProgressElement(),$(document).on("scroll",function(){progressBar.attr({value:getCurrentScrollPosition()})}),$(window).on("resize",initializeProgressElement)):(resizeProgressBar(),$(document).on("scroll",resizeProgressBar),$(window).on("resize",resizeProgressBar))}function getCurrentScrollPosition(){return $(window).scrollTop()}function initializeProgressElement(){let e=$("#navbar").outerHeight(!0);$("body").css({"padding-top":e}),$("progress-container").css({"padding-top":e}),progressBar.css({top:e}),progressBar.attr({max:getDistanceToScroll(),value:getCurrentScrollPosition()})}function getDistanceToScroll(){return $(document).height()-$(window).height()}function resizeProgressBar(){progressBar.css({width:getWidthPercentage()+"%"})}function getWidthPercentage(){return getCurrentScrollPosition()/getDistanceToScroll()*100}const progressBar=$("#progress");window.onload=function(){setTimeout(progressBarSetup,50)};</script>
17
17<script src="/assets/js/vanilla-back-to-top.min.js?f40d453793ff4f64e238e420181a1d17"></script>
17
17<script>addBackToTop();</script>
17 </body> </html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.