BalticFusion · r-mac-data-scenarios
Role 4 / 5 · time horizon: weeks–months

Intelligence Analyst

"Find the pattern. Improve the rule. Build the next detector."

Persona

Tutkija Annika Vesterinen

Maritime Pattern Analysis Cell · PhD in signal processing · 6 years post-doctorate

Annika lives in notebooks. While the watch floor is firefighting today's alerts, she's three months in the past, asking "of the 412 AIS-dark windows we recorded this quarter, which ones look most like S6 stage A and which look like normal navigational silence?". Her output is not incidents — it's better detectors: tuned composite-score weights, a new ontology relation, a backtested KQL rule ready for Activator.

She partners closely with the Forensic Investigator (who brings her the rich, labelled incident bundles) and the Commander (who sets her direction and signs off her rule changes). She is suspicious of any rule that fires more than five times a week in production without being closed by Watch.

⚠ synthetic persona

Daily workflow

Key data products

Data productSource scenario(s)Fabric toolRefresh cadence
Baseline-vs-today MAC fingerprint
Per coastal sensor: top-K OUI mix, dwell distribution, novelty rate vs 10-week rolling baseline
S6 + all sensor historyNotebook (Spark) on Lakehouseweekly
Rule efficacy report
TP/FP per Activator rule, decoy-discrimination rate, mean time-to-close
all rulesLakehouse SQL + PBImonthly
Ontology pattern mining
Frequent-subgraph queries: which sub-patterns of S6 generalise to other incidents?
S6 + ontologyNotebook + ontology graph storeon-demand
New-detector simulation
Notebook backtest of a proposed Activator rule against ≥ 4 weeks of historical KQL
allNotebook backtest harnessad hoc
Composite-weight proposal
Diff vs current weights.json with expected score-distribution shift
S6 compositeNotebook + Loop page to Commanderquarterly

Linked scenarios

S6 — Multi-Stage Combo The reference labelled incident What this role sees: the gold-standard 5-stage bundle used to validate every new composite-weight proposal. S3 — Loitering Over Critical Infrastructure Industrial-IoT MAC cluster signature What this role sees: the canonical loitering signature — the basis for a new "MAC-burst + infra-polygon dwell" detector under test. S4 — Spoofed AIS Identity The "two MACs, one MMSI" pattern What this role sees: the textbook MMSI-impossibility detector — currently zero false positives across 12 weeks of backtest.

Fabric tools used

Fabric Notebooks (PySpark) Lakehouse (silver/gold) Eventhouse (KQL exploration) Ontology graph store Activator (rule deployment) Loop (proposal docs)

Example Data Agent prompts

Dashboard mockup

Intel · Notebook · MAC-baseline-drift.ipynb · cell 14 / 22
In [14]: df_today.join(df_baseline, on="oui").filter(F.col("novelty_z") > 2.5).orderBy("novelty_z", ascending=False).show(10) Out[14]: novel OUIs at MAC-PRV-COAST-01 (2025-W41 vs 10-wk baseline) oui_prefix vendor count novelty_z FC:B8:97 (unassigned-burner) 7 8.42 02:11:32 (locally-administered) 4 6.95 A4:5E:60 Cradlepoint 3 3.81 DC:A6:32 Raspberry Pi 2 2.74 B8:27:EB Raspberry Pi 2 2.61 ⤷ first two rows align temporally with the 09:14–09:42 AIS-dark window for MMSI 230999401 ⤷ cluster-id MAC-CLUSTER-2025-A · proposing new rule "burner-near-cable" In [15]: RULE EFFICACY · last 12 weeks existing rule R-S1-dark25 vs proposed R-S1-dark20+poc precision 0.71 0.79 recall 0.83 0.81 decoy-FP rate 0.18 0.07 ▸ proposal: ship the change requires Commander sign-off (Loop /role-cmd/proposals)