Terms

Plain definitions of the transfer learning, imbalanced classification and credit risk terms used throughout this project.

Plain definitions of the terms used in the project.

The four approaches

This site uses plain names for the four things you can do with a borrowed model. Each has a technical name too, given here so you can look it up elsewhere.

Borrow — apply a model built elsewhere without giving it any local examples. Known technically as zero-shot, meaning it has seen zero examples from the new population. The term comes from zero-shot learning, and is the same sense as “zero-shot prompting” for language models.

Adjust — start from the borrowed model and keep training it on whatever local records you have. Technically fine-tuning.

Combine — build a local model and hand it the borrowed model’s verdict as one extra piece of evidence, letting it decide how much to trust it. Technically stacking.

Build your own — ignore the borrowed model entirely and use only local records. Technically training from scratch.

Transfer learning, or domain adaptation, is the umbrella term for reusing a model built on one population for a different one.

Data and setup

Horizon — how far ahead the label looks. Poland’s “3year” file records whether a firm went bankrupt within three years of the accounts being reported.

Base rate — the share of the population with the outcome. Between 3.2% and 6.9% here, which is what makes this an imbalanced problem.

Class imbalance — when one outcome is far rarer than the other. A model that predicts “healthy” for every firm is 96% accurate and completely useless. Accuracy is not reported here for that reason.

Stratified — when splitting data, preserving the distressed/healthy proportion in every piece. This keeps a small sample from being accidentally all-healthy.

Feature mapping — mapping two differently-named datasets onto one shared set of variables. A model can then move between them.

Transformations

Rank / percentile transform — replacing a raw value with its position within its own population: “this firm’s debt ratio is at the 80th percentile of Polish firms”. Used here because Taiwan’s published values are pre-scaled to [0, 1] and Poland’s are not.

Min-max normalisation — rescaling a column until its smallest value is 0 and its largest value is 1. Taiwan’s publishers did this; Poland’s did not. That creates the scale mismatch.

Winsorising — clipping extreme outliers back to a percentile instead of deleting the rows.

Imputation — filling missing values. Here, with the training set’s median, computed without looking at test data.

Metrics

ROC-AUC — the probability that the model scores a randomly chosen distressed firm above a randomly chosen healthy one. 0.5 is a coin flip, 1.0 is perfect. Optimistic under heavy imbalance. It is never reported alone here for that reason.

Average precision — summarises how much of the top of your ranked alert list is real. Best suited here for top-alert quality when only about 4% of firms fail.

Cross-validation — splitting data into folds, training on some and testing on the rest, rotating through so every row is tested once.

Models

XGBoost — gradient-boosted decision trees. Builds many small trees in sequence, each correcting the previous ones’ errors.

Logistic regression — a linear model producing a probability; the interpretable reference point.

scale_pos_weight — XGBoost’s setting for telling the model the rare class matters proportionally more. How imbalance is handled throughout this project.

SMOTE — builds extra minority-class examples between existing ones. Deliberately not used here: with 25 sampled firms at a 3.9% base rate there is about one real distressed firm, and stretching one example into many can create patterns that are not actually in the data.

SHAP — a method for attributing a prediction to individual input features, used here to compare which ratios each market’s model uses most.

Finance

Altman Z-score — Altman’s 1968 bankruptcy formula, built from five ratios: working capital/assets, retained earnings/assets, EBIT/assets, equity/liabilities, and sales/assets. Both datasets contain all five, which is what anchors the shared feature space in theory rather than in name-matching.

EBIT — earnings before interest and taxes: operating profit before financing and tax effects.

Working capital — current assets minus current liabilities; short-term financial slack.

Retained earnings — cumulative profit kept in the business rather than paid out. The strongest single distress signal in both markets here.

Current ratio / quick ratio — short-term liquidity. Current assets over short-term liabilities; the quick ratio excludes inventory, which is harder to convert to cash.

Turnover ratios — how efficiently assets generate sales (receivable turnover, inventory turnover, and so on). Found here to carry almost no distress signal in either market.

Listed vs private firms — listed companies trade publicly and face stricter disclosure requirements; private ones do not. Taiwan’s dataset is listed firms, while Poland’s is largely private.

Sanity checks

Spearman correlation (ρ) — correlation of ranks rather than values. Used here to ask whether the two markets agree on which ratios matter most.