Good Carder
Professional
- Messages
- 765
- Reaction score
- 493
- Points
- 63
От кардера — кардерам. Вы вбили 100 карт, 10 прошло, 90 упало. Вы знаете, какие BIN работают? В какое время суток лучше вбивать? Какие прокси дают меньше отказов? Если вы не можете ответить на эти вопросы, вы играете в казино, а не занимаетесь кардингом.
В этой статье я покажу, как построить систему мониторинга и аналитики, которая превратит хаос отказов в управляемый процесс. Вы узнаете, как собирать данные (Google Sheets + Python), какие метрики отслеживать, как визуализировать тренды (Plotly, Grafana) и построить дашборд для отслеживания ROI. Никакой теории — только готовые решения, которые работают в 2026 году.
Профессиональный кардер ведёт лог каждой попытки. Он знает:
Без лога вы слепы. С логом — вы видите систему.
Пример Python-скрипта для записи в Google Sheets:
Где взять credentials.json: Создайте проект в Google Cloud Console, включите Google Sheets API, создайте сервисный аккаунт, скачайте ключ JSON и поделитесь таблицей с email этого сервисного аккаунта.
Формула: (количество success / общее количество попыток для этого BIN) * 100%
BIN с успешностью >20% — зелёная зона (покупайте ещё).
BIN с успешностью 5–20% — жёлтая зона (проверяйте, может, проблема в прокси).
BIN с успешностью <5% — красная зона (не покупайте, даже если дёшево).
Как настроить:
Это сложнее, чем Plotly, но даёт автоматическое обновление и доступ с любого устройства.
Полный код дашборда:
Как запустить:
Дашборд откроется в браузере. Вы сможете загружать CSV и видеть аналитику в реальном времени.
Главные метрики: успешность по BIN, прокси, времени суток и шлюзу. ROI — царь всех метрик. Если ROI отрицательный, меняйте поставщиков карт, прокси или стратегию.
Лог — это ваша чёрная коробка. Анализируйте её каждую неделю, и удача перестанет быть случайностью.
Быстрая памятка на одну строку:
«Лог — это не бюрократия, это оружие. BIN с 30% успеха — покупай, с 5% — игнорируй. Прокси-провайдер с 0% — выкидывай. Часы 2–5 утра — время вбива. Графики в Plotly, дашборд в Streamlit, шифрование логов — обязательно. Без аналитики ты не кардер, ты лудоман.»
В этой статье я покажу, как построить систему мониторинга и аналитики, которая превратит хаос отказов в управляемый процесс. Вы узнаете, как собирать данные (Google Sheets + Python), какие метрики отслеживать, как визуализировать тренды (Plotly, Grafana) и построить дашборд для отслеживания ROI. Никакой теории — только готовые решения, которые работают в 2026 году.
Часть 1. Почему без аналитики вы — игрок, а не кардер
Большинство новичков действуют по принципу «вбил — упало — забыл». Они не запоминают, какой BIN сработал, какой прокси сгорел, в какое время суток был успех. Это путь к постоянным потерям.Профессиональный кардер ведёт лог каждой попытки. Он знает:
- Какие BIN дают 30% успеха, а какие — 5% (и перестаёт покупать мусор).
- Какие прокси-провайдеры стабильны, а какие сгорают после 10 запросов.
- В какое время суток банки менее бдительны (чаще всего 2–5 утра по местному времени).
- Какой платёжный шлюз (Stripe, Adyen, Braintree) даёт больше проходов.
Без лога вы слепы. С логом — вы видите систему.
Часть 2. Сбор данных: от вбива до Google Sheets
Первый шаг — организовать сбор данных. Не надейтесь на память. Каждая попытка должна попадать в таблицу.2.1. Минимальные поля для лога
Создайте Google Sheets с колонками (или CSV-файл, который потом загрузите):| Поле | Пример | Описание |
|---|---|---|
| timestamp | 2026-05-25 14:32:11 | Время попытки (UTC) |
| site | shopify.com/example | Целевой магазин |
| bin | 414720 | Первые 6 цифр карты |
| country_card | US | Страна эмитента |
| proxy_ip | 45.67.89.10 | IP прокси |
| proxy_type | residential | residential / datacenter / mobile |
| proxy_provider | webshare | Имя провайдера |
| antidetect | dolphin_anty | Название антидетекта |
| profile_id | prof_a1b2c3 | ID профиля |
| http_status | 402 | HTTP статус ответа |
| error_code | insufficient_funds | Код ошибки от шлюза |
| response_time_ms | 2350 | TTFB в миллисекундах |
| amount_usd | 49.99 | Сумма чека |
| result | fail | success / fail |
| notes | proxy reused | Комментарии |
2.2. Автоматическое логирование через Python
Ручное заполнение таблицы утомительно. Лучше написать скрипт, который после каждого вбива (или чекера) автоматически добавляет строку в Google Sheets.Пример Python-скрипта для записи в Google Sheets:
Python:
import gspread
from oauth2client.service_account import ServiceAccountCredentials
import datetime
# Настройка доступа к Google Sheets
scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
creds = ServiceAccountCredentials.from_json_keyfile_name('credentials.json', scope)
client = gspread.authorize(creds)
# Открываем таблицу (по URL или названию)
sheet = client.open('Carding Log 2026').sheet1
def log_attempt(data):
row = [
datetime.datetime.utcnow().isoformat(),
data.get('site', ''),
data.get('bin', ''),
data.get('country_card', ''),
data.get('proxy_ip', ''),
data.get('proxy_type', ''),
data.get('proxy_provider', ''),
data.get('antidetect', ''),
data.get('profile_id', ''),
data.get('http_status', ''),
data.get('error_code', ''),
data.get('response_time_ms', ''),
data.get('amount_usd', ''),
data.get('result', ''),
data.get('notes', '')
]
sheet.append_row(row)
# Пример использования
log_attempt({
'site': 'shopify.com/example',
'bin': '414720',
'country_card': 'US',
'proxy_ip': '45.67.89.10',
'proxy_type': 'residential',
'proxy_provider': 'webshare',
'antidetect': 'dolphin_anty',
'profile_id': 'prof_001',
'http_status': 402,
'error_code': 'insufficient_funds',
'response_time_ms': 2350,
'amount_usd': 49.99,
'result': 'fail',
'notes': 'first attempt'
})
Где взять credentials.json: Создайте проект в Google Cloud Console, включите Google Sheets API, создайте сервисный аккаунт, скачайте ключ JSON и поделитесь таблицей с email этого сервисного аккаунта.
2.3. Логирование через локальный CSV (если не хотите облако)
Python:
import csv
import datetime
def log_attempt_csv(data, filename='carding_log.csv'):
file_exists = False
try:
with open(filename, 'r'):
file_exists = True
except FileNotFoundError:
pass
with open(filename, 'a', newline='') as f:
writer = csv.writer(f)
if not file_exists:
writer.writerow(['timestamp', 'site', 'bin', 'country_card', 'proxy_ip', 'proxy_type', 'proxy_provider', 'antidetect', 'profile_id', 'http_status', 'error_code', 'response_time_ms', 'amount_usd', 'result', 'notes'])
writer.writerow([
datetime.datetime.utcnow().isoformat(),
data.get('site', ''),
data.get('bin', ''),
data.get('country_card', ''),
data.get('proxy_ip', ''),
data.get('proxy_type', ''),
data.get('proxy_provider', ''),
data.get('antidetect', ''),
data.get('profile_id', ''),
data.get('http_status', ''),
data.get('error_code', ''),
data.get('response_time_ms', ''),
data.get('amount_usd', ''),
data.get('result', ''),
data.get('notes', '')
])
2.4. Парсинг логов из Stripe API (продвинутый уровень)
Если вы используете Stripe для чекинга, можно автоматически выгружать данные о платежах через API:
Python:
import stripe
stripe.api_key = "sk_live_..."
# Получить последние 100 PaymentIntent
intents = stripe.PaymentIntent.list(limit=100)
for intent in intents:
# Извлечь нужные поля
data = {
'timestamp': datetime.fromtimestamp(intent.created).isoformat(),
'bin': intent.payment_method_details.card.bin,
'country_card': intent.payment_method_details.card.country,
'http_status': 200 if intent.status == 'succeeded' else 402,
'error_code': intent.last_payment_error.get('code') if intent.last_payment_error else None,
'amount_usd': intent.amount / 100,
'result': 'success' if intent.status == 'succeeded' else 'fail'
}
log_attempt(data)
Часть 3. Ключевые метрики для анализа
Собрав 50–100 записей, можно начинать анализ. Вот самые важные метрики.3.1. Успешность по BIN
Группируйте записи по BIN (или по первым 4 цифрам BIN, если 6 слишком мелко). Считайте процент успеха.Формула: (количество success / общее количество попыток для этого BIN) * 100%
BIN с успешностью >20% — зелёная зона (покупайте ещё).
BIN с успешностью 5–20% — жёлтая зона (проверяйте, может, проблема в прокси).
BIN с успешностью <5% — красная зона (не покупайте, даже если дёшево).
3.2. Успешность по прокси-провайдеру
Группируйте по proxy_provider. Сравнивайте процент успеха. Если один провайдер даёт 30% успеха, а другой — 0%, вы знаете, с кем работать.3.3. Успешность по времени суток
Добавьте в таблицу колонку hour = HOUR(timestamp). Постройте график успеха по часам. Часто пик приходится на 2–5 утра по местному времени (когда банковские отделы фрода спят).3.4. Успешность по платёжному шлюзу
Группируйте по домену сайта или по типу шлюза (Stripe, Adyen, Braintree, самописный). Вы быстро поймёте, какие шлюзы «дырявые», а какие — крепкий орешек.3.5. Среднее время ответа (response_time_ms)
Медленные ответы (>3000 мс) могут указывать на плохой прокси или проблемы с сетью. Быстрые ответы (<200 мс) при отказе часто означают, что карта отсеялась на уровне шлюза без запроса к банку.3.6. ROI (Return on Investment)
Самая важная метрика. Рассчитывается как (доход от успешных транзакций - затраты на карты, прокси, антидетект) / затраты * 100%. Ведите отдельную таблицу расходов.Часть 4. Визуализация: от скучных таблиц к живым графикам
Сырые данные в таблице — это хорошо, но графики дают мгновенное понимание трендов.4.1. Построение графиков в Google Sheets
Google Sheets имеет встроенные инструменты: выделите данные → Вставка → Диаграмма. Выберите тип (линейный для времени, столбчатый для сравнения BIN). Недостаток: нужно обновлять вручную.4.2. Визуализация через Python + Plotly
Plotly — мощная библиотека для интерактивных графиков.
Python:
import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
# Загружаем лог
df = pd.read_csv('carding_log.csv', parse_dates=['timestamp'])
# 1. Успешность по часам
df['hour'] = df['timestamp'].dt.hour
hourly_success = df.groupby('hour')['result'].apply(lambda x: (x == 'success').mean() * 100).reset_index()
fig1 = px.line(hourly_success, x='hour', y='result', title='Success Rate by Hour of Day')
fig1.show()
# 2. Успешность по BIN (топ-20)
bin_success = df.groupby('bin')['result'].apply(lambda x: (x == 'success').mean() * 100).sort_values(ascending=False).head(20).reset_index()
fig2 = px.bar(bin_success, x='bin', y='result', title='Top 20 BINs by Success Rate')
fig2.show()
# 3. Тепловая карта: успешность по дню недели и часу
df['dayofweek'] = df['timestamp'].dt.dayofweek
pivot = df.pivot_table(index='hour', columns='dayofweek', values='result', aggfunc=lambda x: (x == 'success').mean() * 100).fillna(0)
fig3 = px.imshow(pivot, labels=dict(x="Day of Week", y="Hour", color="Success %"), title="Success Rate Heatmap")
fig3.show()
# 4. Сравнение прокси-провайдеров
proxy_success = df.groupby('proxy_provider')['result'].apply(lambda x: (x == 'success').mean() * 100).reset_index()
fig4 = px.bar(proxy_success, x='proxy_provider', y='result', title='Success Rate by Proxy Provider')
fig4.show()
4.3. Grafana для профессионального дашборда
Grafana — система для мониторинга, которая подключается к базам данных (PostgreSQL, MySQL) и строит дашборды в реальном времени.Как настроить:
- Установите PostgreSQL (или используйте бесплатную облачную версию).
- Напишите скрипт, который загружает логи в БД.
- Подключите Grafana к БД.
- Создайте дашборд с панелями: график успешности по времени, таблица лучших BIN, метрики ROI.
Это сложнее, чем Plotly, но даёт автоматическое обновление и доступ с любого устройства.
Часть 5. Пример дашборда на Streamlit (готовый код)
Streamlit — это Python-фреймворк для создания веб-приложений. Вы можете запустить дашборд локально и открыть в браузере.Полный код дашборда:
Python:
import streamlit as st
import pandas as pd
import plotly.express as px
from datetime import datetime
st.set_page_config(page_title="Carding Analytics Dashboard", layout="wide")
st.title("📊 Кардерский дашборд (анализ попыток)")
# Загрузка файла
uploaded_file = st.file_uploader("Загрузите лог (CSV)", type=["csv"])
if uploaded_file is not None:
df = pd.read_csv(uploaded_file, parse_dates=['timestamp'])
# Базовые метрики
total_attempts = len(df)
success_attempts = len(df[df['result'] == 'success'])
success_rate = success_attempts / total_attempts * 100 if total_attempts > 0 else 0
col1, col2, col3 = st.columns(3)
col1.metric("Всего попыток", total_attempts)
col2.metric("Успешных", success_attempts)
col3.metric("Успешность %", f"{success_rate:.1f}%")
# График по времени
df['date'] = df['timestamp'].dt.date
daily = df.groupby('date')['result'].apply(lambda x: (x == 'success').mean() * 100).reset_index()
fig_time = px.line(daily, x='date', y='result', title="Успешность по дням")
st.plotly_chart(fig_time, use_container_width=True)
# Топ-10 BIN
bin_success = df.groupby('bin')['result'].apply(lambda x: (x == 'success').mean() * 100).sort_values(ascending=False).head(10).reset_index()
fig_bin = px.bar(bin_success, x='bin', y='result', title="Топ-10 BIN по успешности")
st.plotly_chart(fig_bin, use_container_width=True)
# Успешность по прокси-провайдеру
proxy_success = df.groupby('proxy_provider')['result'].apply(lambda x: (x == 'success').mean() * 100).reset_index()
fig_proxy = px.bar(proxy_success, x='proxy_provider', y='result', title="Успешность по прокси-провайдеру")
st.plotly_chart(fig_proxy, use_container_width=True)
# Таблица с последними 20 попытками
st.subheader("Последние 20 попыток")
st.dataframe(df.tail(20)[['timestamp', 'bin', 'proxy_provider', 'error_code', 'amount_usd', 'result']])
else:
st.info("Загрузите CSV-файл с логом попыток")
Как запустить:
Bash:
pip install streamlit pandas plotly
streamlit run dashboard.py
Дашборд откроется в браузере. Вы сможете загружать CSV и видеть аналитику в реальном времени.
Часть 6. OPSEC для аналитики
- Не храните логи в открытом виде. Шифруйте CSV-файлы (Veracrypt, AES-256) или используйте зашифрованные облачные сервисы (CryptDrive).
- Не используйте личный Google-аккаунт для Google Sheets. Создайте отдельный аккаунт через Tor/VPN. Не привязывайте к нему свой номер телефона.
- Регулярно чистите старые записи. Не храните логи дольше 3–6 месяцев. Это улики.
- Не публикуйте скриншоты дашборда. Даже анонимно. По метрикам и стилю можно идентифицировать кардера.
- Используйте отдельную виртуальную машину для аналитики. Не смешивайте с боевыми скриптами.
Часть 7. Резюме от кардера
Аналитика — это не роскошь, а необходимость. Без неё вы не масштабируетесь, не оптимизируете затраты и не выживаете. Начните с малого: Google Sheets + ручной ввод. Через 50 попыток переходите на автоматическое логирование через Python. Ещё через 100 попыток — внедряйте дашборд на Streamlit или Grafana.Главные метрики: успешность по BIN, прокси, времени суток и шлюзу. ROI — царь всех метрик. Если ROI отрицательный, меняйте поставщиков карт, прокси или стратегию.
Лог — это ваша чёрная коробка. Анализируйте её каждую неделю, и удача перестанет быть случайностью.
Быстрая памятка на одну строку:
«Лог — это не бюрократия, это оружие. BIN с 30% успеха — покупай, с 5% — игнорируй. Прокси-провайдер с 0% — выкидывай. Часы 2–5 утра — время вбива. Графики в Plotly, дашборд в Streamlit, шифрование логов — обязательно. Без аналитики ты не кардер, ты лудоман.»
