|
1 | | -# econ_crime_monitoring_lab |
| 1 | +# Economic Crime Monitoring Lab |
2 | 2 |
|
3 | | -Synthetic-only economic crime monitoring lab for local demo and interview use. |
4 | | -The project simulates a fraud + AML monitoring stack end-to-end: synthetic transaction generation, controls, rules + ML scoring, alerting, case simulation, MI reporting, and investigator dashboarding. |
| 3 | +[](https://github.com/<OWNER>/economic-crime-monitoring-lab/actions/workflows/ci.yml) |
5 | 4 |
|
6 | | -## Quick Start (macOS, ~2 minutes) |
| 5 | +Synthetic transaction monitoring pipeline with alerting, management information (MI), and a dashboard. All data in this repository is synthetic, and the project is for defensive analytics only. |
| 6 | + |
| 7 | +## What it does |
| 8 | + |
| 9 | +The pipeline generates synthetic customer, account, and transaction data; runs data quality checks; engineers monitoring features; applies rules and a baseline model; creates an alert queue and case records; produces weekly MI outputs; and serves a Streamlit dashboard for review. |
| 10 | + |
| 11 | +## Quickstart (macOS) |
7 | 12 |
|
8 | 13 | ```bash |
9 | 14 | make install |
10 | 15 | make run |
11 | 16 | make dashboard |
12 | 17 | ``` |
13 | 18 |
|
14 | | -What happens: |
15 | | -- `make run` creates outputs in local folders only: |
16 | | - - `data/econ_crime_lab.db` |
17 | | - - `reports/YYYY-MM-DD/mi_report.md` |
18 | | - - `reports/YYYY-MM-DD/mi_report.html` |
19 | | -- `make dashboard` starts Streamlit and loads data from SQLite. |
| 19 | +`make dashboard` starts the app at `http://localhost:8501`. Generated outputs are written locally and are not committed to the repository. |
20 | 20 |
|
21 | | -## Synthetic Data & Repo Hygiene |
| 21 | +## Outputs |
22 | 22 |
|
23 | | -- All data is synthetic. No real customer data is used. |
24 | | -- Generated outputs are intentionally ignored by git (`.db`, CSV outputs, reports, caches). |
25 | | -- To reset local outputs and caches: |
| 23 | +- Default SQLite database: `data/econ_crime_lab.db` |
| 24 | +- Reports directory: `reports/YYYY-MM-DD/` |
| 25 | +- Key tables: |
| 26 | + - `customers` |
| 27 | + - `accounts` |
| 28 | + - `transactions` |
| 29 | + - `alerts` |
| 30 | + - `cases` |
| 31 | + - `mi_weekly` |
| 32 | + - `model_metrics` (if present) |
26 | 33 |
|
27 | | -```bash |
28 | | -make clean |
29 | | -``` |
30 | | - |
31 | | -## What This Demonstrates (Economic Crime Data) |
| 34 | +## How this maps to Economic Crime (Data) |
32 | 35 |
|
33 | | -- Monitoring controls: schema validation, data quality checks, and run metadata. |
34 | | -- Management information (MI): weekly alert volumes, outcomes, and handling metrics. |
35 | | -- Alert explainability: rule hit context, model feature contributions, and investigator notes. |
| 36 | +- Controls and monitoring: rule-based controls, alert volume/rate monitoring, and false-positive review. |
| 37 | +- MI: weekly reporting outputs and trend tracking for alerts and case outcomes. |
| 38 | +- Governance: reproducible runs, logged assumptions and run metadata, and data quality checks. |
| 39 | +- Threat awareness: simulated typologies (for example structuring-style behavior and unusual movement patterns) support pattern spotting and triage practice. |
36 | 40 |
|
37 | | -## Common Commands |
| 41 | +## Repository layout |
38 | 42 |
|
39 | | -```bash |
40 | | -make install |
41 | | -make run |
42 | | -make dashboard |
43 | | -make test |
44 | | -make lint |
45 | | -make clean |
| 43 | +```text |
| 44 | +scripts/ # pipeline and utility entry points |
| 45 | +src/ # econ_crime_monitoring_lab package |
| 46 | +tests/ # automated tests |
| 47 | +data/ # local synthetic data outputs |
| 48 | +reports/ # dated MI outputs |
46 | 49 | ``` |
47 | 50 |
|
48 | | -## Architecture |
| 51 | +## Notes and limitations |
| 52 | + |
| 53 | +- Synthetic data only. |
| 54 | +- This is not a fraud playbook. |
| 55 | +- The baseline model is illustrative. |
| 56 | +- This is a learning project and not production monitoring. |
| 57 | + |
| 58 | +## Screenshots |
| 59 | + |
| 60 | + |
| 61 | + |
49 | 62 |
|
50 | | -See `docs/architecture.md` for a mermaid system overview. |
| 63 | +Add screenshots by saving images into `docs/` with those names. |
0 commit comments