Tuần trước, tôi nhận được một báo cáo phân tích dài 12 trang. Tiêu đề hoành tráng: 'Đánh giá toàn diện dự án XYZ'. Nhưng khi mở ra, 80% nội dung là các ô trống, dòng chữ 'N/A - thông tin không đủ' lặp đi lặp lại như một lời nguyền. Tôi không biết nên cười hay nên khóc. Đây là một tác phẩm điển hình của kiểu 'phân tích hình thức' – đẹp về khung sườn, rỗng về chất liệu. Trong thế giới crypto nơi mỗi block đều ghi lại hàng nghìn giao dịch, việc không tìm ra được một thông tin điểm nào đáng lẽ phải là một điều bất thường – nhưng không, nó lại là hiện thực của quá nhiều báo cáo mà tôi từng thấy.
Context – Tôi là Hoàng Mai, 39 tuổi, phân tích quỹ phòng hộ crypto tại Bangkok. Trong 7 năm qua, tôi đã đọc hơn 500 báo cáo phân tích từ các quỹ, các KOL, các nền tảng dữ liệu. Một điểm chung: hầu hết đều thiếu mạch dữ liệu gốc. Họ thường trích dẫn 'theo dữ liệu từ CoinGecko' hoặc 'theo thông tin từ team', nhưng không bao giờ cho bạn thấy chính xác họ đã lấy dữ liệu từ đâu, với query nào, và đã xử lý ra sao. Khi tôi hỏi 'bạn có script không?', câu trả lời thường là 'không, tôi chỉ nhìn biểu đồ thôi'. Đó là lý do tại sao tôi xây dựng bộ công cụ phân tích on-chain của riêng mình, và tại sao tôi viết bài này.

Core Insight – Hãy nhìn vào báo cáo 'N/A' kia. Nó có đầy đủ khung phân tích: kỹ thuật, tokenomics, thị trường, rủi ro, v.v. Nhưng không có một con số cụ thể nào. Điều này cho thấy một vấn đề cốt lõi: người viết không biết cách trích xuất thông tin từ dữ liệu on-chain, hoặc tệ hơn, họ không có quyền truy cập vào dữ liệu thô. Trong thế giới crypto, dữ liệu on-chain là kho báu mở. Bạn có thể dùng Etherscan, Dune Analytics, hoặc tự chạy node để lấy mọi thứ. Nếu không thể tìm ra một điểm dữ liệu nào, thì có hai khả năng: hoặc dự án đó không có hoạt động on-chain (tức là scam hoặc chưa launch), hoặc người phân tích không biết làm việc với dữ liệu.
Tôi sẽ lấy một ví dụ thực tế. Năm 2020, tôi phân tích Uniswap v2. Lúc đó, mọi người đều nói thanh khoản rất tốt. Nhưng khi tôi viết script Python để so sánh khối lượng swap thực tế với số liệu báo cáo, phát hiện 80% pool là thanh khoản giả tạo từ bot farm. Tôi không cần phải đoán – dữ liệu nói lên tất cả. Chỉ cần một query đơn giản: SELECT pool_address, SUM(amount0) as volume FROM swaps WHERE block_time > '2020-09-01' GROUP BY pool_address ORDER BY volume DESC. Kết quả là một danh sách các pool có volume gần như bằng 0, nhưng TVL lại rất cao. Đó là dấu hiệu của wash trading. Nếu tôi chỉ nhìn vào tổng số TVL từ CoinGecko, tôi sẽ không bao giờ thấy điều đó.
Ngược lại, báo cáo N/A kia không có bất kỳ con số nào. Nó ghi 'N/A' cho cả mục 'số lượng giao dịch' và 'địa chỉ hoạt động'. Điều đó có nghĩa là người viết thậm chí không thèm lên Etherscan để kiểm tra xem dự án có hợp đồng thông minh không. Đây là lỗi cơ bản nhất mà một 'data detective' không bao giờ mắc phải. Nếu bạn không thể tự mình verify dữ liệu, thì bạn không nên viết phân tích.

Contrarian Angle – Một số người sẽ nói: 'Nhưng mà, không phải lúc nào on-chain cũng có dữ liệu. Có những dự án mới launch, chưa có giao dịch nào. Vậy thì ghi N/A là đúng.' Sai. Ngay cả khi dự án chưa có giao dịch, bạn vẫn có thể phân tích được. Ví dụ: kiểm tra địa chỉ deployer, xem họ đã tương tác với những hợp đồng nào khác, xem lịch sử code, xem có audit report không. Nếu không có gì, thì kết luận: 'dự án này chưa có bất kỳ hoạt động on-chain nào, rủi ro cao' – đó là một thông tin có giá trị. Nhưng ghi 'N/A' là không chấp nhận được. Nó cho thấy sự lười biếng hoặc thiếu kỹ năng.
Một góc nhìn khác: báo cáo N/A có thể là sản phẩm của AI. Nhiều người dùng ChatGPT để viết phân tích, và nếu không có dữ liệu đầu vào, AI sẽ sinh ra các placeholder. Điều này đặt ra câu hỏi về chất lượng của nội dung được tạo tự động. Tôi không phản đối AI, tôi cũng dùng AI để hỗ trợ viết script. Nhưng nếu bạn không thể kiểm chứng kết quả, thì bạn đang tự lừa dối chính mình và người đọc. Trong crypto, dữ liệu là vua. Và AI chỉ là công cụ, không phải nguồn sự thật.
Takeaway – Tuần tới, nếu bạn đọc một báo cáo phân tích và thấy nó toàn 'N/A', hãy hỏi người viết: 'Anh/chị có thể cho tôi xem dữ liệu on-chain gốc không?'. Nếu họ không trả lời được, hãy bỏ qua báo cáo đó. Còn nếu bạn là người viết, hãy nhớ: một con số cụ thể, dù sai, còn hơn một ô 'N/A'. Bởi vì sai có thể sửa, nhưng trống rỗng thì không thể sửa được. Và nếu bạn thực sự không tìm được dữ liệu, hãy viết 'không tìm thấy dữ liệu on-chain cho dự án này trong khoảng thời gian X' – đó mới là phân tích có trách nhiệm.

Cuối cùng, tôi muốn kể một câu chuyện. Năm 2017, tôi dành 4 tháng để phân tích ICO EOS. Tôi đã viết script scrape 100.000+ giao dịch, chỉ để tìm ra 3 cụm bot. Mọi người bảo tôi điên, vì không ai trả tiền cho việc đó. Nhưng tôi làm vì tò mò. Và kết quả là một báo cáo 40 trang với hàng trăm biểu đồ. Tôi không bao giờ ghi 'N/A' trong báo cáo đó. Bởi vì nếu không có dữ liệu, tôi sẽ tự tạo ra dữ liệu bằng cách query sâu hơn. Đó là tinh thần của một Data Detective: không bao giờ chấp nhận khoảng trống, luôn luôn đào sâu. Và tôi mong bạn cũng vậy.