-- Rozšířený horizont plánování: statistiky cen a TUV pro predikce za horizont OTE.

CREATE TABLE ems.market_price_stats (
    id              SERIAL PRIMARY KEY,
    site_id         INT NOT NULL REFERENCES ems.site(id),
    day_of_week     INT NOT NULL,
    hour_of_day     INT NOT NULL,
    avg_price       NUMERIC(10,6) NOT NULL,
    stddev_price    NUMERIC(10,6),
    p25_price       NUMERIC(10,6),
    p75_price       NUMERIC(10,6),
    sample_count    INT NOT NULL DEFAULT 0,
    last_updated    TIMESTAMPTZ NOT NULL DEFAULT now(),
    UNIQUE (site_id, day_of_week, hour_of_day)
);

COMMENT ON TABLE ems.market_price_stats IS
'Historické průměry spotové ceny OTE per DOW+hodina.
Analogie consumption_baseline_stats pro ceny.
Používá se pro predikci cen za horizont OTE (36h+).
Min. 3 měsíce dat pro smysluplné průměry.';

CREATE TABLE ems.tuv_usage_stats (
    id              SERIAL PRIMARY KEY,
    site_id         INT NOT NULL REFERENCES ems.site(id),
    day_of_week     INT NOT NULL,
    hour_of_day     INT NOT NULL,
    avg_temp_delta_c  NUMERIC(6,3) NOT NULL,
    stddev_temp_delta NUMERIC(6,3),
    sample_count    INT NOT NULL DEFAULT 0,
    last_updated    TIMESTAMPTZ NOT NULL DEFAULT now(),
    UNIQUE (site_id, day_of_week, hour_of_day)
);

COMMENT ON TABLE ems.tuv_usage_stats IS
'Průměrná změna teploty TUV zásobníku per DOW+hodina.
Záporná hodnota = zásobník se ochlazuje (spotřeba teplé vody).
Kladná = TČ ohřívalo. Používá se pro predikci kdy bude potřeba ohřev.';
