Skip to content
← all posts

· 14 min read · Jonathan Chrisnaldy

Forced to Save, and I Never Knew It

The US 401(k) is voluntary, yet its savers watch their money grow. Indonesia already requires workers to save through JHT, and I did not know it existed. From 2005 to 2020, the same yearly saving became 1.4 times what was put in at JHT's rate, after Indonesian inflation, and 2.4 times in an S&P 500 fund, after US inflation. BPJS has not published the rate it credits to JHT balances for the years after 2020.

share: · LinkedIn · X

The first time I understood how a 401(k) works, I was hooked. Part of the pay goes into it before you can spend it, it lowers your taxable income, and the employer adds money of its own. For anyone who plans to stay in the US for a long time, it looked like a no-brainer to me. My home country, I thought, had nothing like it.

I was wrong about that. I worked on a payroll in Indonesia, and under Indonesian law a share of that pay should have gone into an old-age savings account: Jaminan Hari Tua, or JHT, run by BPJS Ketenagakerjaan. I did not know it existed. So the question for this post changed. It is not why Indonesia has no 401(k). It is how a worker can pay into such an account, year after year, without noticing, and what the 401(k) gets right that JHT does not.

My answer, before any data: the 401(k) does not work by force. It is not compulsory. It works by letting you watch your money grow.

This is not financial advice. No sentence here tells anyone to buy, sell or move anything.

What Indonesia already has

For a JHT member whose employer is not a state organ, 5.7 percent of wages must go in each month: 2 percent from the worker and 3.7 percent from the employer (Pemerintah Republik Indonesia, 2015b). A separate pension scheme, Jaminan Pensiun, takes another 3 percent of its members’ wages, up to a ceiling (Pemerintah Republik Indonesia, 2015a); it pays a pension, so I leave it out of the growth comparison.

A worker who resigns can take the JHT balance in cash after a waiting period of one month (Menteri Ketenagakerjaan, 2022; Pemerintah Republik Indonesia, 2015c). A 401(k) saver who takes money out early generally pays a 10 percent additional tax (Internal Revenue Service, 2026b).

The law sets a floor under the rate BPJS credits to JHT balances: at least the average one-year deposit rate at state banks. It also requires BPJS to tell members their balance and its growth once a year (Pemerintah Republik Indonesia, 2015b).

How I tested it

I wrote the rules down before computing anything and put them on GitHub, with the later changes dated. The formula for a fund fee was settled after the first results, and the record says so. I also wrote down five predictions first, and five of five came true, so read the comparison below as confirming what you might expect, not as a surprise.

The test follows a single saver from 2005 to 2020, sixteen years. Each year the saver puts in the same amount in real terms, and the balance grows at the year’s rate. I run it four ways:

  • JHT, at the rate BPJS set each year for member balances, with the extra payouts some years brought.
  • JHT, base rate alone, without those extras.
  • An S&P 500 fund, the kind of index fund a 401(k) saver can hold.
  • A 90/10 mix: 90 percent S&P 500 and 10 percent US Treasury bonds, a simplified version of a target-date fund, which holds 90 percent stocks for young savers (Vanguard, 2026b).

Both US lines are charged a yearly fee of 0.08 percent, the expense ratio of Vanguard’s target-date funds (Vanguard, 2026c). Each saver stays in their own currency and is measured after their own country’s inflation. The result is the real balance at the end, divided by the real money put in.

The window stops in 2020 for a reason I come back to: BPJS has not published the rate it credited to balances for later years.

What the same saving became

Line chart, 2005 to 2020, of the real balance per unit of real money put in for the same yearly saving. It ends at 2.4 for an S&P 500 fund and 2.3 for a 90/10 stock and bond mix, after US inflation, and at 1.4 for JHT and 1.3 for JHT at its base rate, after Indonesian inflation.
Each year the saver puts in the same real amount, raised by that country’s annual-average consumer price index, in the middle of the year; each line credits the year’s rate on the opening balance and half of it on the year’s money. Balances are valued in December prices of the same year. JHT: the rate set for member balances (2015: the year-end rate BPJS reported; reading 2020’s figure as the rate for balances is an inference), with the incentives of 2008 and 2009 and the payouts of 2013; the dashed line leaves those out. S&P 500 fund and the 90/10 mix (90% S&P 500, 10% 10-year Treasury bond, rebalanced yearly): returns less a 0.08% yearly fee. Not financial advice; a stock fund can fall sharply in a year, and the savers face different currencies and risks. JHT rates: PT Jamsostek and BPJS Ketenagakerjaan (each rate’s page is in docs/jht-manifest.csv). Indonesian prices: International Monetary Fund, Consumer Price Index (headline index, compiled by BPS-Statistics Indonesia); BPS’s published December inflation from Bank Indonesia’s Data Inflasi. US returns: Aswath Damodaran, Historical Returns on Stocks, Bonds and Bills (S&P 500 with dividends; 10-year US Treasury bond); US prices: International Monetary Fund, Consumer Price Index. Calculations by the author. Non-commercial use.

By the end of 2020, the S&P 500 saver had 2.4 times what they put in, after inflation. The 90/10 saver had 2.3 times. The JHT saver had 1.4 times, or 1.3 without the extra payouts.

That gap is not free. In 2008, the stock fund saver had 0.73 times what they had put in. The JHT saver that year had 1.02 times. A stock fund is a different kind of saving, with a different risk, and I am not comparing which a person should choose. I am comparing what each saver could watch grow.

The rate, year by year

Bar chart of JHT's rate after Indonesian inflation each year from 2005 to 2020: below zero in two of sixteen years, 2005 and 2008, with circles for the same rate against BPS's published December inflation in some years.
Real rate: (1 + the year’s JHT rate) divided by (1 + that year’s December-to-December inflation), less 1. The JHT rate is the base rate set for member balances, without the 2009 incentive; 2015 is the year-end rate BPJS reported, and reading 2020’s figure as the rate for balances is an inference. The IMF’s linked index and BPS’s published December inflation differ in a few years. JHT rates: PT Jamsostek and BPJS Ketenagakerjaan (each rate’s page is in docs/jht-manifest.csv). Indonesian prices: International Monetary Fund, Consumer Price Index (headline index, compiled by BPS-Statistics Indonesia); BPS’s published December inflation from Bank Indonesia’s Data Inflasi. Calculations by the author. Non-commercial use.

JHT’s rate beat Indonesian inflation in fourteen of sixteen years. It fell below it in 2005, when prices rose 17.1 percent and the rate was 8.0 percent, and in 2008. The same years come out negative against BPS’s own published December inflation, which differs from the IMF’s index in a few years.

What goes in

Bar chart of contribution rates each year, worker and employer: Singapore's CPF, 37 percent for workers aged 55 and under, on wages in the top band; a 401(k) in plans Vanguard keeps records for, 12.1 percent on average among participants in 2024; JHT, 5.7 percent; JP, a separate pension, 3 percent.
JHT and JP: the rates the regulations set (PP 46/2015 Pasal 16; PP 45/2015 Pasal 28). 401(k): Vanguard, How America Saves 2026, plans Vanguard keeps records for, 2024, among participants: the average deferral rate as the worker share, and the average total contribution rate less that as the employer share (a difference of two averages). 401(k) deferrals are optional. CPF: CPF Board contribution rates in force on 1 January 2026 for wages in the top band, the same for each age group up to 55 (data.gov.sg, Singapore Open Data Licence, data.gov.sg/open-data-licence). JP is a separate pension scheme. Calculations by the author. Non-commercial use.

JHT’s 5.7 percent is small next to what a typical 401(k) saver puts in. In plans Vanguard keeps records for, the average participant deferred 7.6 percent of pay in 2024, and the average total with the employer’s money was 12.1 percent (Vanguard, 2026a). The limit on employee elective deferrals in traditional and safe harbor 401(k) plans is $24,500 in 2026 (Internal Revenue Service, 2026a). Singapore’s CPF contribution rate is 37 percent, worker and employer together, for workers aged 55 and under, on wages in the top band.

The 401(k) is voluntary, but it does not leave saving to chance. In 2024, 61 percent of the plans Vanguard keeps records for enrolled workers automatically, and in the average plan 85 percent of eligible workers took part (Vanguard, 2026a).

What the saver is shown

Bar chart of the JHT fund's investment yield as BPJS published it from 2014 to 2025, with dots for the rate set for member balances, which BPJS has not published for the years after 2020.
Yields: the JHT program’s investment yield in BPJS’s annual and integrated reports, as each report states it; the basis is labelled gross in the first of these reports, net in the last three, and not labelled in between. No searchable report gives a yield for 2017. Rate for balances: the rate set each year for member balances (2015: the year-end rate BPJS reported; reading 2020’s figure as the rate for balances is an inference). JHT rates: PT Jamsostek and BPJS Ketenagakerjaan (each rate’s page is in docs/jht-manifest.csv). Non-commercial use.

US law requires a 401(k) that lets savers choose their investments to furnish each of them a statement at least once each quarter (Employee Benefits Security Administration, 2006).

BPJS’s JMO app, where members can check their balance, had 33,682,397 registered users in 2025 (BPJS Ketenagakerjaan, 2025, 2026). What BPJS publishes about growth is another matter. Its reports give the JHT fund’s investment yield for eleven of the twelve years from 2014 to 2025. It has not published the rate it credited to members’ balances for the five years after 2020. Its own website simulator assumes a return of 5 percent a year (BPJS Ketenagakerjaan, n.d.).

BPJS’s 2022 report lists, among the barriers to growing membership, that brand awareness is still not high compared with the other BPJS (BPJS Ketenagakerjaan, 2023). At the end of 2024, JHT had 19,100,050 active members (BPJS Ketenagakerjaan, 2025).

What Indonesia can learn

Indonesia does not need a 401(k). The money must go in by law, from the worker and the employer. What Indonesia does not do is make that money feel like yours.

The lessons I take from the 401(k) are small and practical. Publish the rate credited to balances each year. Show the employer’s share as a line on the payslip, so the worker can see that someone else is adding to their savings. This would not change how JHT is invested. It could change whether the people who own it know it is there.

I did not know JHT was there. That is the part I would change first.

The limits of this test

  • Two savers, two currencies, two kinds of risk. The comparison is about what each saver could see grow, not about which to choose.
  • The window ends in 2020: BPJS has not published the credited rate for later years. For 2015 the figure is the year-end rate BPJS reported, and reading 2020’s figure as the rate for balances is an inference.
  • Which balance the extra payouts of 2009 and 2013 applied to is not stated in the reports; the base-rate line shows the result without them.
  • The saver model is simplified: one payment a year, credited at half the year’s rate, applied the same way to each line. JHT itself credited by days held in some years.
  • How America Saves describes plans Vanguard keeps records for, a subset of US plans. The fee is the expense ratio printed in the funds’ 2026 prospectus, applied to each year.
  • The 90/10 mix holds US stocks and US bonds. Real target-date funds also hold international stocks and bonds.

Method notes and credits

The rules, predictions and code are in the post’s folder on GitHub, including the pre-registration and its dated amendments. JHT rates come from PT Jamsostek and BPJS Ketenagakerjaan (PT Jamsostek, 2007, 2008, 2009, 2011, 2012, 2013, 2014; BPJS Ketenagakerjaan, 2015, 2016a, 2016b, 2017, 2018, 2020, 2021a, 2021b, 2022, 2023, 2024, 2025, 2026), each figure checked by script against a quoted passage on its page. US returns are Aswath Damodaran’s annual returns for the S&P 500 with dividends and the 10-year US Treasury bond (Damodaran, 2026). Prices are the International Monetary Fund’s consumer price index for each country (International Monetary Fund, 2026a, 2026b), set beside BPS’s published December inflation from Bank Indonesia’s inflation data (Bank Indonesia, 2026). CPF rates are CPF Board data on data.gov.sg (Central Provident Fund Board, 2026) under the Singapore Open Data Licence. Calculations are mine.

References

Bank Indonesia. (2026). Data inflasi [Inflation data] [Data set]. Retrieved October 17, 2026, from https://www.bi.go.id/id/statistik/indikator/data-inflasi.aspx

BPJS Ketenagakerjaan. (n.d.). Pengembangan saldo JHT: Tetap sejahtera di hari tua [JHT balance growth: Staying prosperous in old age]. Retrieved October 21, 2026, from https://www.bpjsketenagakerjaan.go.id/tetap-sejahtera.html

BPJS Ketenagakerjaan. (2015). Laporan tahunan 2014 [2014 annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/15072015_080550_AR%20BPJS%20TK%202014.pdf

BPJS Ketenagakerjaan. (2016a). Laporan tahunan terintegrasi 2015 [2015 integrated annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/Laporan_Tahunan_2015.pdf

BPJS Ketenagakerjaan. (2016b, February 19). BPJS Ketenagakerjaan targetkan dana kelolaan Rp246 T tahun ini [BPJS Ketenagakerjaan targets Rp246 trillion in managed funds this year]. Internet Archive copy, captured September 19, 2017. https://web.archive.org/web/20170919194042id_/http://www.bpjsketenagakerjaan.go.id:80/berita/6489/BPJS-Ketenagakerjaan-Targetkan-Dana-Kelolaan-Rp246-T-Tahun-Ini.html

BPJS Ketenagakerjaan. (2017). Laporan tahunan 2016 [2016 annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/BPJS%20Ketenagakerjaan%20IR%202016.pdf

BPJS Ketenagakerjaan. (2018). Laporan tahunan 2017 [2017 annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/laporan-tahunan-2017.pdf

BPJS Ketenagakerjaan. (2020). Laporan terintegrasi 2018 [2018 integrated report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/BPJS19_LO23_FS.pdf

BPJS Ketenagakerjaan. (2021a). Laporan tahunan terintegrasi 2019 [2019 integrated annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/BPJS_2020_LO17.pdf

BPJS Ketenagakerjaan. (2021b). Laporan tahunan terintegrasi 2020 [2020 integrated annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/Integrated_Report_2020.pdf

BPJS Ketenagakerjaan. (2022). Laporan terintegrasi 2021 [2021 integrated report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/Integrated_Report_2021.pdf

BPJS Ketenagakerjaan. (2023). Laporan tahunan terintegrasi 2022 [2022 integrated annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/BPJS_2022_LO19-_(1).pdf

BPJS Ketenagakerjaan. (2024). Laporan tahunan terintegrasi 2023 [2023 integrated annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/Integrated_Report_2023.pdf

BPJS Ketenagakerjaan. (2025). Integrated report 2024. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/Laporan_Terintegrasi_BPJS_Ketenagakerjaan_2024_5mb_publish.pdf

BPJS Ketenagakerjaan. (2026). 2025 laporan terintegrasi [2025 integrated report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/IR_2025.pdf

Central Provident Fund Board. (2026). CPF contribution rates [Data set]. data.gov.sg. Retrieved October 21, 2026, from https://data.gov.sg/datasets/d_98ffa142ae0dec40391f78f81d26aca9/view

Damodaran, A. (2026). Historical returns on stocks, bonds and bills [Data set]. NYU Stern School of Business. Retrieved October 21, 2026, from https://pages.stern.nyu.edu/~adamodar/pc/datasets/histretSP.xls

Employee Benefits Security Administration. (2006). Periodic pension benefit statements: Pension Protection Act of 2006 (Field Assistance Bulletin No. 2006-03). U.S. Department of Labor. Internet Archive copy of the DOL file. https://web.archive.org/web/20190619215402id_/https://www.dol.gov/sites/default/files/ebsa/employers-and-advisers/guidance/field-assistance-bulletins/2006-03.pdf

Internal Revenue Service. (2026a). Retirement topics: 401(k) and profit-sharing plan contribution limits. https://www.irs.gov/retirement-plans/plan-participant-employee/retirement-topics-401k-and-profit-sharing-plan-contribution-limits

Internal Revenue Service. (2026b). Topic no. 558, Additional tax on early distributions from retirement plans other than IRAs. https://www.irs.gov/taxtopics/tc558

International Monetary Fund. (2026a). Consumer price index (CPI) [Data set]. Retrieved October 16, 2026, from https://data.imf.org/en/datasets/IMF.STA:CPI

International Monetary Fund. (2026b). Consumer price index (CPI) [Data set]. Retrieved October 22, 2026, from https://api.imf.org/external/sdmx/2.1/data/IMF.STA,CPI,5.0.0/USA.CPI._T..M

Menteri Ketenagakerjaan. (2022). Peraturan Menteri Ketenagakerjaan Republik Indonesia Nomor 4 Tahun 2022 tentang tata cara dan persyaratan pembayaran manfaat jaminan hari tua [Minister of Manpower Regulation on the procedures and requirements for paying the old-age savings benefit]. Jaringan Dokumentasi dan Informasi Hukum, Kementerian Ketenagakerjaan. https://jdih.kemnaker.go.id/asset/data_puu/2022PMNaker004.pdf

Pemerintah Republik Indonesia. (2015a). Peraturan Pemerintah Republik Indonesia Nomor 45 Tahun 2015 tentang penyelenggaraan program jaminan pensiun [Government Regulation on the pension (JP) program]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/peraturan/15122015_104556_PP%2045%20Tahun%202015.pdf

Pemerintah Republik Indonesia. (2015b). Peraturan Pemerintah Republik Indonesia Nomor 46 Tahun 2015 tentang penyelenggaraan program jaminan hari tua [Government Regulation on the old-age savings (JHT) program]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/peraturan/15122015_104556_PP%2046%20Tahun%202015.pdf

Pemerintah Republik Indonesia. (2015c). Peraturan Pemerintah Republik Indonesia Nomor 60 Tahun 2015 tentang perubahan atas Peraturan Pemerintah Nomor 46 Tahun 2015 tentang penyelenggaraan program jaminan hari tua [Government Regulation amending Government Regulation No. 46 of 2015 on the old-age savings program]. Jaringan Dokumentasi dan Informasi Hukum, Kementerian Ketenagakerjaan. https://jdih.kemnaker.go.id/asset/data_puu/PP_Nomor_60_Tahun_2015.pdf

PT Jamsostek. (2007). Laporan tahunan 2006 [2006 annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/02022015_140411_anual_06.pdf

PT Jamsostek. (2008). Laporan tahunan 2007 [2007 annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/02022015_140427_anual_07.pdf

PT Jamsostek. (2009). Laporan tahunan 2008 [2008 annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/02022015_140427_anual_08.pdf

PT Jamsostek. (2011). Laporan tahunan 2010 [2010 annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/26032015_134549_AR%20JAMSOSTEK%20LOWRESS%20PLENO%2010711.pdf

PT Jamsostek. (2012). Laporan tahunan 2011 [2011 annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/02022015_140606_ar%20jamsostek%202011%20lores.pdf

PT Jamsostek. (2013). Laporan tahunan 2012 [2012 annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/25032015_214934_AR%20JAMSOSTEK%202012.pdf

PT Jamsostek. (2014). Laporan tahunan 2013 [2013 annual report]. https://www.bpjsketenagakerjaan.go.id/assets/uploads/laporan_tahunan/26032015_133805_ARA%20BPJS%20Ketenagakerjaan%202013.pdf

Vanguard. (2026a). How America saves (25th ed.). https://workplace.vanguard.com/content/dam/inst/iig-transformation/has/2026/pdf/HowAmericaSaves2026.pdf

Vanguard. (2026b). Target-date fund glide path. https://workplace.vanguard.com/investment/strategies/tdf-glide-path.html

Vanguard. (2026c). Vanguard Target Retirement Funds [Prospectus, Investor Shares, January 28, 2026, with a supplement dated May 20, 2026]. https://personal.vanguard.com/pub/Pdf/p308.pdf

// About the author

Jonathan Chrisnaldy is a product manager and analyst in New York City, with an M.S. in Technology Management from Columbia University. He writes data stories about the numbers behind everyday claims. More on the experience page or LinkedIn.