Connects multi-channel marketing touchpoints to revenue outcomes without third-party cookies or privacy compromises.
A high-throughput, self-hosted web analytics and attribution engine powered by ClickHouse OLAP. Replaces naive last-click heuristics with probabilistic Markov chain state-transition models, isolating true incremental conversion lift while separating human visitors from AI answer engines.

Marketing teams often rely on naive Last-Click attribution heuristics. When a customer purchases a product, 100% of the conversion credit and attributed revenue is granted to the final touchpoint (such as a direct visit or branded Google ad). This completely starves top-of-funnel discovery channels—like organic SEO, blog guides, and informational content—of marketing budget, causing growth leaders to misallocate spend toward expensive retargeting.
Businesses need to understand the complete sequence of touchpoints that guided a buyer from initial problem awareness through evaluation and conversion, calculating the true incremental lift of every acquisition dollar.
The problem is that third-party cookie deprecation, Apple Safari ITP, and strict global privacy regulations (GDPR, ePrivacy, CCPA) have rendered legacy tracking pixels broken and legally hazardous. Furthermore, AI answer engines (ChatGPT, Claude, Perplexity) crawl sites without executing JavaScript, creating massive blind spots in traditional analytics tools.
A self-hosted, privacy-first analytics and algorithmic multi-touch attribution platform:
Generates a daily rotating SHA-256 salted hash from visitor headers (createHash('sha256').update(salt|ip|ua|day)). Identifies session paths with zero cookies and zero raw IP persistence.
Partitioned MergeTree tables storing events, AI hits, and revenue transactions. Executes complex funnel aggregations and high-cardinality queries in under 50ms.
Calculates state-transition probabilities across customer journey paths. Evaluates removal effects to objectively measure the incremental value of early discovery channels.
Parses incoming server hits against 25 crawler signatures (ChatGPT-User, Claude-SearchBot, PerplexityBot, Googlebot). Categorizes fetches into AI Answers, Search, and Training.
Synchronizes purchase events and refund deductions directly with customer visitor journeys, computing exact revenue per channel and true ROI net of refunds.
The step-by-step pipeline transforming raw HTTP beacon events into algorithmic channel attribution:
Lightweight 1KB tracker sends pageview, UTMs, and referrer. No cookies set.
Server computes salted daily hash and classifies source (Search, Social, AI, Direct).
Appends to ClickHouse MergeTree table partitioned by monthly calendar window.
Separates human sessions from AI answer crawlers (Claude, Perplexity, GPTBot).
Computes removal effect matrices to assign fractional conversion credits to channels.
Compare how different attribution algorithms distribute conversion credit across the exact same 4-touch customer journey.
Weight(C) = RemovalEffect(C) / ∑ RemovalEffectsModels multi-touch user journeys as a directed state-transition graph. Calculates conversion contribution by mathematically removing a channel and calculating the percentage drop in total conversion probability (Removal Effect = 1 - P(Conversion without Channel X) / P(Total Conversion)).
Every visual proves a verified capability of the platform. Click any asset to inspect in full-resolution modal.

Why it matters: Replaces bloated Google Analytics setups with a single, self-hosted privacy-compliant interface.

Why it matters: "Online now" counts reflect genuine user engagement rather than ghost tabs left open for hours.

Why it matters: Demonstrates production-grade distributed systems design capable of enterprise data scale.
Built strictly from verified repository components with high-performance open-source technologies:
ClickHouse 24.x with partitioned MergeTree engine
Next.js 14, React 19, Tailwind CSS, Recharts
Mapbox GL & MapLibre WebGL 3D Globe
Python (numpy/scipy) Markov transition matrices
Daily rotating SHA-256 salted hash, zero IP storage
insight.mjs terminal query client with JSON pipe
Stripe webhooks (refund-aware), GSC, GA4 dual-run
Docker Compose multi-container deployment
This portfolio case study demonstrates the self-hosted ClickHouse schema, cookieless daily salted hashing algorithms, bot crawler classification engine, and Markov attribution mathematical models.
Live Stripe API secret keys, commercial customer credit card records, and private domain DNS records are intentionally excluded and evaluated using synthetic event streams.
* Zero unverified claims of guaranteed ROI lift or client revenue increases are made.
Every project in this portfolio represents a specialized phase of the digital growth lifecycle:
Programmatic content generation & graph linking.
90-day search decay detection & refresh briefs.
12-part strategy, 24 agents, 17 channel playbooks.
ClickHouse cookieless tracking & Markov attribution.
Pathfinder MTA demonstrates advanced systems engineering across high-throughput OLAP databases, cryptographic privacy protocols, and mathematical attribution algorithms. It proves the ability to architect data pipelines that solve complex attribution challenges at scale without compromising user privacy or violating global regulations.
Direct answers to high-stakes interview questions regarding ClickHouse OLAP, cookieless identity, and Markov chain algorithms.
Answer: It computes a cryptographic SHA-256 salted hash combining a server-side secret, the client IP, the User-Agent, and the current calendar day (createHash('sha256').update(salt|ip|ua|day)). This produces a stable 32-character pseudonym for the session day that allows journey path reconstruction without writing anything to visitor storage or persisting raw IP addresses in the database.
Answer: Web analytics is an append-heavy, read-analytical workload with billions of rows. Relational row stores like PostgreSQL choke on high-cardinality group-by queries. ClickHouse uses columnar compression with LowCardinality dictionaries and partitioned MergeTree engines, reading only the exact columns queried from disk and returning results in under 50 milliseconds across tens of millions of rows.
Answer: We represent all customer touchpoint sequences as a directed state-transition graph with an absorbing Conversion state. We calculate the transition probability matrix between all channels. To evaluate a specific channel (e.g. Organic Search), we simulate its complete removal by zeroing its transitions and computing the drop in total conversion probability. The relative removal effect across all channels gives their true objective fractional contribution.
Answer: Most AI bots fetch static HTML directly without executing client-side JavaScript. Pathfinder uses server-side token pattern matching on incoming User-Agent strings (e.g. ChatGPT-User, PerplexityBot, Claude-SearchBot) and logs them into a dedicated ai_hits table. This allows content creators to see exactly which articles AI models are reading to cite answers without polluting human visitor counts.
I'm open to Digital Growth, Technical SEO, SaaS, AI Automation, and Analytics opportunities.