#!/usr/bin/env python3
"""Ringkas data SEO DAS: kueri & halaman yang jatuh, yang masih bertahan, brand vs non-brand, perangkat."""
import json, urllib.parse

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
d = json.load(open(f"{WS}/drafts/das_data_seo_20260929.json"))
ini, lalu = d["ini"], d["lalu"]

print("=== ringkasan ===")
for nama, x in (("periode ini", ini), ("periode lalu", lalu)):
    print(f"   {nama:<12} klik {x['klik']:>4} | tayang {x['tayang']:>6} | brand {x.get('klik_brand',0):>3} | non-brand {x.get('klik_nonbrand',0):>3}")
tur = lambda a, b: (b - a) / a * 100 if a else 0
print(f"   perubahan    klik {tur(lalu['klik'], ini['klik']):.0f}% | tayang {tur(lalu['tayang'], ini['tayang']):.0f}%")

print("\n=== perangkat (periode ini) ===")
for x in ini["perangkat"]:
    print(f"   {x['k']:<10} klik {x['klik']:>3} | tayang {x['tayang']:>6}")

print("\n=== kueri yang HILANG (ada klik di periode lalu, hilang kini) ===")
kini_peta = {x["k"]: x for x in ini["kueri"]}
hilang = [x for x in lalu["kueri"] if x["klik"] >= 2 and x["k"] not in kini_peta]
hilang.sort(key=lambda x: -x["klik"])
for x in hilang[:15]:
    print(f"   {x['klik']:>3} klik → 0 | {x['k'][:52]:<54} tayang {x['tayang']:>5} pos {x['pos']}")

print("\n=== kueri yang MASIH jalan (periode ini, minimal 1 klik) ===")
for x in sorted(ini["kueri"], key=lambda y: -y["klik"])[:15]:
    print(f"   {x['klik']:>3} klik | {x['tayang']:>5} tayang | pos {x['pos']:>5} | {x['k'][:50]}")

print("\n=== halaman: kini vs lalu (klik) ===")
kini_h = {x["u"]: x for x in ini["halaman"]}
gab = []
for x in lalu["halaman"]:
    y = kini_h.get(x["u"], {"klik": 0, "tayang": 0, "pos": 0})
    gab.append((x["u"], x["klik"], y["klik"], x["tayang"], y["tayang"], y["pos"]))
gab.sort(key=lambda t: -(t[1] - t[2]))
print("   yang paling banyak kehilangan klik:")
for u, kl, kn, tl, tn, pos in gab[:12]:
    print(f"   {kl:>3} → {kn:>3} klik | tayang {tl:>5} → {tn:>5} | pos {pos:>5} | {urllib.parse.unquote(u.replace('https://dasindonesia.com', ''))[:52]}")

print("\n   yang masih menyumbang klik:")
for x in sorted(ini["halaman"], key=lambda y: -y["klik"])[:12]:
    print(f"   {x['klik']:>3} klik | {x['tayang']:>5} tayang | pos {x['pos']:>5} | {urllib.parse.unquote(x['u'].replace('https://dasindonesia.com', ''))[:52]}")

print("\n=== halaman dengan tayang banyak tapi NOL klik (periode ini) ===")
nol = [x for x in ini["halaman"] if x["klik"] == 0 and x["tayang"] >= 20]
nol.sort(key=lambda y: -y["tayang"])
for x in nol[:12]:
    print(f"   {x['tayang']:>5} tayang | pos {x['pos']:>5} | {urllib.parse.unquote(x['u'].replace('https://dasindonesia.com', ''))[:56]}")

print("\n=== halaman masuk GA4 (90 hari) ===")
for x in d["ga4"]["halaman_masuk"][:12]:
    print(f"   {x['sesi']:>4} sesi | {urllib.parse.unquote(x['u'].replace('https://dasindonesia.com', ''))[:56]}")
