— Undergraduate Thesis Research

Project Haidar Izzuddin Rabbani

Steel Industry Machine Learning Pipeline — Transformasi laporan keuangan (format XBRL OJK) menjadi dataset ML & forecasting ROA/ROE

  Backup & Restore Sesi Download data sebagai backup, atau upload CSV backup untuk melanjutkan sesi lama

Langkah 1 Input Data dari Laporan Keuangan XBRL

Panduan: Nama persis field di laporan keuangan OJK
Istilah standar XBRL yang dipakai semua emiten (NIKL, LMSH, KRAS, ISSP, GDST, BAJA, dll)

Total Aset

ID:Jumlah aset
EN:Total assets
Seluruh kekayaan perusahaan. Baris paling bawah bagian aset.
Jumlah Aset Total Aktiva
Laporan Posisi Keuangan — setelah "Jumlah aset tidak lancar"

Aset Lancar

ID:Jumlah aset lancar
EN:Total current assets
Subtotal aset yang bisa dicairkan dalam 1 tahun.
Jumlah Aset Lancar Total Aktiva Lancar
Subtotal bagian atas, sebelum "Aset tidak lancar"

Liabilitas Lancar

ID:Jumlah liabilitas jangka pendek
EN:Total current liabilities
Subtotal utang yang jatuh tempo dalam 1 tahun.
Jumlah Liabilitas Jangka Pendek
Setelah rincian pinjaman jangka pendek, utang usaha, dll

Total Liabilitas

ID:Jumlah liabilitas
EN:Total liabilities
Subtotal seluruh utang (jangka pendek + panjang).
Jumlah Liabilitas Total Kewajiban
Sebelum bagian "Ekuitas"

Penjualan Bersih

ID:Penjualan dan pendapatan usaha
EN:Sales and revenue
Pendapatan dari penjualan produk/jasa.
Penjualan dan Pendapatan Usaha
Laporan Laba Rugi — baris paling atas

Laba Bersih

ID:Jumlah laba (rugi)
EN:Total profit (loss)
Tip penting: Kalau perusahaan punya anak usaha (grup), pakai "Laba (rugi) yang dapat diatribusikan ke entitas induk". Kalau entitas tunggal, keduanya sama.
Jumlah Laba (Rugi) Laba Diatribusikan ke Entitas Induk Laba Tahun Berjalan
Laporan Laba Rugi — setelah pajak penghasilan

Total Ekuitas

ID:Jumlah ekuitas
EN:Total equity
Modal pemilik. Sama seperti laba bersih, untuk grup ada juga "Jumlah ekuitas yang diatribusikan kepada pemilik entitas induk".
Jumlah Ekuitas Total Modal
Laporan Posisi Keuangan — paling bawah

PERHATIAN: Mata Uang & Satuan

Cek halaman "Informasi umum" di PDF! Tiap emiten beda:
NIKL, KRAS: USD
LMSH, ISSP, GDST, BAJA: IDR
ISSP: "Jutaan" (×1.000.000)
KRAS: "Ribuan" (×1.000)
• Lainnya: "Satuan Penuh"
Lihat di PDF: "Mata uang pelaporan"
Lihat di PDF: "Pembulatan"
Input angka sesuai apa yang tertulis di PDF. Contoh: kalau di PDF tertulis 1.843.145 dan satuan Ribuan, ketik 1.843.145. Nanti tabel akan menampilkan nilai asli 1.843.145.000.
XBRL: Total assets
XBRL: Total current assets
XBRL: Total current liabilities
XBRL: Total liabilities
XBRL: Sales and revenue
Profit attributable to parent
XBRL: Total equity

Langkah 2 Raw Data — Nilai Asli (untuk Backup) 0 baris

CompanyYearPeriodCurrency Total AssetsCurrent AssetsCurrent Liab Total LiabSalesNet IncomeTotal Equity Aksi
Belum ada data. Isi form di atas, atau klik "Import Raw Data" di bagian atas.

Langkah 3 Dataset ML — Rasio Keuangan 0 baris

CompanyYearPeriod Current RatioLeverage (DAR)Asset Turnover Working CapitalROA (Target)ROE (Target)
Kolom oranye = target variable untuk model ML.

Langkah 4 Data Cleaning & Sorting (Pre-ML) 0 baris

Proses pembersihan data untuk ML: (1) drop kolom tidak relevan (Company, Currency — bukan fitur numerik), (2) drop baris dengan nilai NaN/Infinity pada rasio, (3) deteksi outlier ekstrem, (4) sortir global: Q1 semua perusahaan (tahun terlama→terbaru) → Q2 → Q3 → Semester → Tahunan. Kode saham tetap disimpan untuk labeling tapi tidak dipakai sebagai fitur.

Langkah 5 Exploratory Data Analysis (EDA) & Korelasi -

Fase data mining — memahami struktur data sebelum modeling: (1) descriptive statistics (mean, std, min, max, skewness), (2) correlation matrix antar fitur dan target (Pearson), (3) scatter matrix untuk hubungan visual tiap pasangan variabel, (4) identifikasi multicollinearity (VIF). Hasil ini memandu interpretasi hasil ML.

Langkah 6 Prediksi & Forecasting Machine Learning 7 models ready

Model machine learning dilatih menggunakan data rasio keuangan dari Langkah 3 untuk memprediksi ROA & ROE. Data di-urutkan global berdasarkan periode (Q1 → Q2 → Q3 → Semester → Tahunan) dan tahun terlama→terbaru. Pilih target & algoritma sesuai kebutuhan analisis.

Target Variable (klik untuk toggle)

Algoritma ML (klik untuk toggle)

Filter Periode (data yang akan dilatih & diprediksi)

Hyperparameter Tuning

OFF: pakai default params (tercepat) • Grid Search: 7–8 kombinasi fixed per model • Auto Best: adaptive 2-stage search — coarse grid dulu, lalu refined search di sekitar best params (lebih lambat tapi menghasilkan parameter paling optimal)
Menyiapkan dataset...
ROA
ROE

Perbandingan Performa Model

Visualisasi Hasil Training

Actual vs Predicted

Residual Plot

Feature Importance

Model Comparison (R²)

Forecast 3 Tahun ke Depan

Forecast Chart

Tabel Forecast (urut: Periode → Tahun → Company)

Period Company Year Type ROA Actual Model

Ringkasan Hyperparameter Tuning & Best Parameters

Tabel Best Parameters per Model

Model Kombinasi Dicoba Best Parameters R² Test (best) R² Range Improvement

Perbandingan Semua Kombinasi Tuning (per Model)

Pilih model untuk lihat detail tuning

# Parameters R² Test RMSE Status

Interpretasi Otomatis & Rekomendasi

Penjelasan Dataset ML — Dari Mana Data Ini Berasal?

Dataset ML ini bukan data sintetis/random. Semua nilai dihitung dari laporan keuangan asli perusahaan sektor baja (steel industry) yang diinput via form atau import CSV dari format XBRL OJK. Rasio-rasio dihitung secara langsung pakai rumus standar akuntansi keuangan.

Rumus Perhitungan Rasio (Fitur & Target ML)

Current Ratio (Fitur)
CR = Aset Lancar / Liabilitas Lancar
Mengukur likuiditas jangka pendek. Nilai >1 artinya perusahaan punya cukup aset likuid untuk bayar kewajiban <1 tahun.
Leverage DAR (Fitur)
DAR = Total Liabilitas / Total Aset
Mengukur struktur pendanaan. Rasio utang atas total aset — semakin tinggi, semakin besar financial risk.
Asset Turnover (Fitur)
ATO = Penjualan / Total Aset
Mengukur efisiensi operasional — seberapa efektif aset perusahaan menghasilkan revenue.
Working Capital (Fitur)
WC = Aset Lancar − Liabilitas Lancar
Modal kerja bersih untuk operasi harian. Positif = surplus likuiditas, negatif = defisit.
ROA (TARGET)
ROA = Laba Bersih / Total Aset
Return on Assets — profitabilitas keseluruhan, seberapa efektif aset menghasilkan laba. Standar: Brigham & Houston.
ROE (TARGET)
ROE = Laba Bersih / Total Ekuitas
Return on Equity — profitabilitas dari perspektif pemegang saham.

Cara Pembagian Data — Train vs Test

Kesimpulan Akhir & Rekomendasi Model