Understanding data, one pipeline at a time.

Hello, I’m the writer behind alfianh.id. Here I collect notes on how data moves from its source to something useful for making decisions.

I work through small examples: transactions that need cleaning, transformations that need tests, and jobs that must be safe to repeat. Start with foundations, then examine design choices and their failure modes.

Author identity is a preview. Articles and data on this site are learning samples.

Find a learning path
Raw transactions are cleaned and tested before becoming an analytical model; failed checks need review.TransactionsClean & testAnalytical modelFailed check? Review the source.
One batch flow: incoming data, quality rules, and an analytical output. The return line marks review when checks fail.

Start with the flow

An editorial selection: understand the concept, try SQL, then think about recovery.

SQL for Cleaning Transaction Data

Normalize missing identifiers, choose a deterministic duplicate winner, and reconcile rejected transactions.

Latest writing

In publication order. Different reads from the editorial selection above.

Browse the archive
  1. Technical rendering sample

    A small sample for checking technical prose and bilingual publishing.

Learn in sequence

Beginner

Data engineering foundations

Follow data from its source through cleaning and ETL to an analytical model.

4 ordered articles

Be comfortable reading tables. For the Python exercise, have Python 3 and basic knowledge of functions.

Practitioner · Intermediate to advanced

Reliable pipelines

Connect scheduling, transformation tests, and safe replay.

3 ordered articles

Finish Foundations or be comfortable with SQL, Python functions, ETL, and dimensional models.

A design to inspect

Illustrative case study: synthetic transactions, quality checks, quarantine, and batch recovery. No client or business impact claims.

Explore the synthetic transaction pipeline