home / bankproducts

Interest rates

One row per interest rate. rate_type matches product category per atom #316 (mortgage_rate, consumer_credit, overdraft, credit, savings_rate, leasing_rate, penalty). snapshot_date is when we observed the rate; valid_from is when the bank declared it effective.

Data license: CC-BY-4.0 · Data source: bankproducts.info

5 rows where product_id = "grkb:sparpyramide" sorted by snapshot_date descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: snapshot_date (date), valid_from (date)

id product_id bank_id rate_type rate tier_floor tier_ceiling tenor_months currency snapshot_date ▲ valid_from note source_document_id
grkb:sparpyramide:credit:stufe1 Sparpyramide grkb:sparpyramide Graubuendner Kantonalbank grkb credit 0.05   500000.0   CHF 2026-05-31 2025-09-01 Stufe 1 (Startzins); jedes Kalenderjahr ohne Bezug fuehrt in naechste Stufe  
grkb:sparpyramide:credit:stufe2 Sparpyramide grkb:sparpyramide Graubuendner Kantonalbank grkb credit 0.1   500000.0   CHF 2026-05-31 2025-09-01 Stufe 2  
grkb:sparpyramide:credit:stufe3 Sparpyramide grkb:sparpyramide Graubuendner Kantonalbank grkb credit 0.125   500000.0   CHF 2026-05-31 2025-09-01 Stufe 3  
grkb:sparpyramide:credit:stufe4 Sparpyramide grkb:sparpyramide Graubuendner Kantonalbank grkb credit 0.15   500000.0   CHF 2026-05-31 2025-09-01 Stufe 4 (Max-Bonus; bis CHF 50000/Jahr Bezug ohne Stufenverlust)  
grkb:sparpyramide:credit:cap Sparpyramide grkb:sparpyramide Graubuendner Kantonalbank grkb credit 0.01 500000.0     CHF 2026-05-31 2025-09-01 Ab CHF 500000 Verzinsung analog Sparkonto  

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE interest_rate (
    id                 TEXT PRIMARY KEY,       -- sgkb:sparkonto:credit:tier1
    product_id         TEXT NOT NULL REFERENCES product(id),
    bank_id            TEXT NOT NULL REFERENCES bank(id),  -- denormalized
    rate_type          TEXT NOT NULL,          -- credit (paid to customer), debit (charged to customer),
                                               -- bonus (conditional extra), discount (reduction on base),
                                               -- overdraft (penalty rate)
    rate               REAL,                   -- percentage value (0.050 = 0.050%); NULL = on request / not published
    tier_floor         REAL,                   -- balance threshold lower bound; NULL = from zero
    tier_ceiling       REAL,                   -- balance threshold upper bound; NULL = unlimited
    tenor_months       INTEGER,                -- term length in months (24 = 2yr); NULL = no fixed term
    currency           TEXT DEFAULT 'CHF',
    snapshot_date      TEXT NOT NULL,          -- date the rate was observed (YYYY-MM-DD)
    valid_from         TEXT,                   -- date the rate took effect (YYYY-MM-DD)
    note               TEXT,                   -- conditions, fine print
    source_document_id INTEGER REFERENCES source_document(id)
);
CREATE INDEX idx_interest_rate_product ON interest_rate(product_id);
CREATE INDEX idx_interest_rate_bank ON interest_rate(bank_id);
CREATE INDEX idx_interest_rate_snapshot ON interest_rate(bank_id, snapshot_date);
CREATE INDEX idx_interest_rate_type ON interest_rate(rate_type, bank_id);
Powered by Datasette · Queries took 25.634ms · Data license: CC-BY-4.0 · Data source: bankproducts.info