Upload firm financial data. FinGraph maps it as a network — variables that move together sit closer, unrelated ones drift apart. See the hidden structure of balance-sheet data, find variable clusters, and detect peer firms.
🔒 Your data never leaves your browser — all computation runs locally.
what FinGraph does
Co-movement networks & clusters
Loading…
Everything runs in your browser — your data never leaves it.
1 Load firm financial data
CSV or Excel. Rows = firm-year observations; columns = financial variables. Auto-recognises the major providers — Compustat/WRDS (at, lt, ceq…), CSMAR (A001101000…), Worldscope (WC02999…) and readable item names — so ratios and distress scores are derived automatically.
🕸️
Drop a file here or click to browse
CSV · XLSX · XLS
Very large exports (100s of MB) may not fit in a browser — export a subset first (one year, or selected firms/variables) or a CSV.
📚 Works with the major finance & accounting datasets — how to export
FinGraph auto-recognises the column conventions of the main providers, so exports load with labels, ratios and distress scores derived automatically. Export one row per firm-year (long panel) as CSV or Excel:
Dataset
ID · period columns
How to export
Compustat / WRDS (Fundamentals Annual)
gvkey · datadate/fyear
WRDS → Compustat → Fundamentals Annual → download CSV (mnemonics at, lt, ceq, sale, ni… are auto-labelled)
WC-codes (WC02999…) are recognised; Datastream readable names are matched by label
Orbis / BvD, Capital IQ
company id · year
Export with English item names (Total assets, Total liabilities…) — matched automatically
SEC EDGAR (Financial Statement Data Sets)
cik · period
Pivot the tag/value files to one row per firm-year before uploading
CRSP (returns/prices)
permno · date
Best merged with Compustat (CCM); FinGraph reads the panel
Any tidy panel works even if your provider isn't listed — FinGraph matches readable column names (e.g. “Total Assets”, “Net Income”). You can also correct any column in the Configure step. Datasets are your own licensed extracts; FinGraph never uploads them.
Multi-row headers are handled automatically: CSMAR/Datastream exports stack a field-code row, a description row and a “unit” row — FinGraph keeps row 1 as the header and drops the description/unit rows so only real firm-year records load.
🛢️ Reshape / query your data with SQL — optional
Run SQL on the loaded table to select, filter, rename or pivot it into clean firm-year rows. The table is ?; wrap odd column names in [brackets]. Runs entirely in your browser. The result replaces the working dataset and every analysis below (network, heatmap, prediction, regression, causal designs) automatically re-runs on it.
2 Configure
Scales every numeric variable before analysis. Z-score / min–max don't change correlations (they're scale-invariant) but matter for machine learning, firm similarity and the timelines; robust / log / rank also reshape distributions. Leave on None for distress scores and common-size ratios, which expect raw values.
Tick the years to include. The selection filters the dashboard, network, heatmap, predictions and models to those firm-years.
Pick the grouping column (industry, sector…) and tick which groups to include. Everything below is restricted to the selected firms.
Data overview — timelines & sample counts
A dashboard of your panel: how many firms, years and firm-year observations you have, and how each variable moves over time. Lines are coloured by industry (or any grouping you pick). The featured variable is enlarged; the rest appear as a small-multiples grid below.
Grouping options are the categorical columns in your file (industry, sector, exchange…). Click any mini-panel to enlarge it.
Sample composition
Featured variable over time
Every variable over time — small multiples
Hover any mini-panel for its own ⬇ download.
3 Network
Nodes are variables. An edge means the two variables are correlated across firms; the stronger the correlation, the closer and thicker the link. Clusters of co-moving variables are coloured.
Advanced — filtration & model
Firm network aggregates each firm to its mean profile across periods, standardises variables, and links firms with similar structures.
Period: watch the network evolve year by year
Correlation heatmap — matrix view of the network
The same correlations shown as a colour matrix. Blue = positive, red = negative, white ≈ 0. Use the lower-triangle view for a clean publication figure. Built from the variables/ratios in the network above — rebuild the network to change them.
Tip: the lower-triangle + values view is the classic correlation table for papers.
Choose a performance target (e.g. ROA, ROE, asset growth) and let FinGraph learn to predict it from the other financial items or ratios — with a linear model, ridge regression, or a neural network. Everything trains in your browser; your data never leaves it. Results report out-of-sample accuracy on a held-out test set.
Research model builder — build a model & test it on your data
Specify a research model — an outcome (e.g. firm performance) explained by predictors and control variables — and test it with multiple regression. You get the model diagram, a full statistics table (B, SE, β, t, p, VIF, 95% CI), model fit (R², adjusted R², F), and hypothesis support. Download the whole thing as a report.
Firms — allModeration / Mediation
Outcome Y = the dependent variable above; ticked controls are included.
Difference-in-differences
Outcome Y = the DV above; SEs clustered by firm. Check the pre-event trends look parallel.
Causal designs — IV · PSM · RD · event study
Matched on the ticked control variables (covariates).
Outcome Y = the DV above; controls = ticked control variables.
Earnings quality & forensics — discretionary accruals & Benford's law
Two accounting-research tools. Discretionary accruals (Jones / modified-Jones) estimate the "abnormal" part of accruals — a widely used earnings-management proxy. Benford's law screens the leading digits of reported figures for anomalies. Needs income & cash-flow columns (Net income, Operating cash flow, Revenue, Receivables, PPE).
Discretionary accruals |DA| = the size of earnings management; higher = more aggressive. Benford flags digit patterns unlikely in unmanipulated data.
Reduce your variables to the underlying factors with principal component analysis (scree, loadings, variance explained), and group firms by their financial profiles with k-means clustering (silhouette + a principal-component map). Uses the variables selected in Configure.
PCA finds latent factors driving the balance sheet; clustering finds peer groups. The scatter maps everything onto the first two components.
Free to use. If FinGraph supports your research, please cite it:
APA
Inam, A. (2026). FinGraph: A free, browser-based platform for network visualization and econometric analysis of firm financial-statement data (Version 1.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.21204108
BibTeX
@software{inam2026fingraph,
title = {FinGraph: A Free, Browser-Based Platform for Network Visualization and Econometric Analysis of Firm Financial-Statement Data},
author = {Inam, Aneeq},
year = {2026},
version = {1.0},
publisher = {Zenodo},
doi = {10.5281/zenodo.21204108},
url = {https://draistudio.com/fingraph/}
}
RIS
TY - COMP
T1 - FinGraph: A Free, Browser-Based Platform for Network Visualization and Econometric Analysis of Firm Financial-Statement Data
AU - Inam, Aneeq
PY - 2026
ET - Version 1.0
PB - Zenodo
DO - 10.5281/zenodo.21204108
UR - https://draistudio.com/fingraph/
ER -