لوگوی راه چابکیراه چابکیAGILE WAY
دوره‌های آموزشیخدمات سازمانیمنتورینگ / مشاورهمقالاتدرباره ماتماس
پروداکت کلاب
لوگوی راه چابکیراه چابکیAGILE WAY

یادگیری عمیق، تجربه واقعی و جامعه‌ای برای ساختن محصولات بهتر.

یادگیری

همه دوره‌هامقالات و تجربه‌هاسیاست تحریریهپروداکت کلاب

خدمات

آموزش سازمانیمشاوره سازمانیمنتورینگ و مشاوره خصوصی

ارتباط

09361697141agilityway.co@gmail.comتهران، ایران
© ۱۴۰۵ راه چابکی؛ همه حقوق محفوظ است.یادگیری برای ساختن محصول بهتر
خانه/مقالات
داده و مدیریت محصول · ۱۵ دقیقه

نقشه راه SQL برای مدیر محصول؛ از پرسش تا تصمیم داده‌محور

نقشه راه عملی SQL و تحلیل داده برای مدیر محصول؛ از SELECT و JOIN تا قیف، Cohort و Retention، همراه برنامه ۶ هفته‌ای و پروژه واقعی.

انتشار: ۲۹ شهریور ۱۴۰۵
مسیر یادگیری SQL از جدول‌های داده تا قیف، Cohort و تصمیم محصولی

چرا مدیر محصول باید SQL بداند؟

SQL برای مدیر محصول قرار نیست شما را به مهندس داده تبدیل کند. ارزش اصلی آن کوتاه‌کردن فاصله میان یک سؤال محصولی و شواهدی است که برای تصمیم لازم دارید. وقتی می‌پرسید «افت فعال‌سازی از کدام مرحله شروع شده؟»، «کاربران کدام کانال بعد از چهار هفته ماندگارترند؟» یا «قابلیت جدید واقعاً رفتار هدف را تغییر داده؟»، توانایی خواندن مدل داده و نوشتن یک Query کوچک، گفت‌وگو با تحلیلگر و تیم فنی را دقیق‌تر می‌کند.

هدف این نقشه راه حفظ‌کردن ده‌ها دستور نیست؛ ساختن یک حلقه کاری است: سؤال روشن، تعریف سنجه، شناخت grain داده، استخراج، کنترل کیفیت، تفسیر و اقدام. این مقاله در ۲۰ سپتامبر ۲۰۲۶ با مستندات جاری PostgreSQL 18، Microsoft Learn و Amplitude بازبینی شده است.

اگر هنوز با سنجه، قیف و آزمایش راحت نیستید، دوره مدیریت محصول داده‌محور مسیر مکمل مناسبی است. SQL ابزار پاسخ‌گویی است؛ کیفیت پاسخ به تعریف درست مسئله و سنجه وابسته می‌ماند.

پیش از اولین Query: سؤال را به قرارداد تحلیل تبدیل کنید

فرض کنید ثبت‌نام محصول ۱۰ درصد رشد کرده، اما تیم حس می‌کند کاربران باکیفیت کمتر شده‌اند. سؤال «اوضاع چطور است؟» بیش از حد باز است. آن را به قراردادی قابل‌بررسی تبدیل کنید: «در میان کاربرانی که هر هفته ثبت‌نام کرده‌اند، چه درصدی حداکثر طی هفت روز پروژه اول را ساخته و در هفته چهارم برگشته‌اند؟ این نرخ به تفکیک کانال جذب چگونه تغییر کرده است؟»

پیش از بازکردن ابزار SQL این موارد را بنویسید:

  • واحد تحلیل یا grain: هر ردیف نماینده کاربر، رویداد، سفارش یا روز است؟
  • جامعه و مخرج: همه ثبت‌نام‌ها، فقط کاربران تأییدشده یا حساب‌های سازمانی؟
  • رفتار هدف: دقیقاً کدام event یا وضعیت، فعال‌سازی را نشان می‌دهد؟
  • بازه و timezone: هفته تقویمی، هفت روز پس از ثبت‌نام یا ساعت محلی کاربر؟
  • بخش‌بندی: پلتفرم، کانال، پلن یا نسخه محصول؟
  • Guardrail: رشد فعال‌سازی نباید با افزایش خطا یا لغو همراه باشد.

این قرارداد جلوی بسیاری از اختلاف‌ها را می‌گیرد. همان‌طور که در راهنمای اصلاح PRD مسئله، شاهد و معیار موفقیت از هم جدا می‌شوند، در تحلیل هم باید پرسش، تعریف و محاسبه جدا ولی متصل باشند.

مرحله اول: خواندن و فیلترکردن داده

از SELECT، FROM، WHERE، ORDER BY، LIMIT و DISTINCT شروع کنید. هدف هفته اول این است که بتوانید یک جدول را بخوانید، ستون‌های لازم را انتخاب کنید، بازه زمانی بسازید و خروجی را مرتب کنید.

منابع و مطالعه بیشتر

  • Aggregate Functions در PostgreSQL
  • Query and modify data with Transact-SQL در Microsoft Learn
  • Retention Analysis در Amplitude
  • آموزش Window Functions در PostgreSQL
تصویر مهدی فرحزادی
نویسندهمهدی فرحزادیمدیر محصول، مشاور و مدرس

مقالات مرتبط

مدیریت محصول۱۲ اشتباه رایج در نوشتن PRD و روش اصلاح آن‌ها؛ راهنمای عملینقش‌ها و تیم محصولتفاوت Product Manager، Product Owner و Project Manager چیست؟مهارت‌های مدیریت محصولProduct Sense چیست؟ راهنمای تقویت حس محصول با تمرین‌های عملی

روی یک جدول فرضی رویدادها با ستون‌های user_id، event_name، occurred_at و platform سه سؤال را پاسخ دهید: کاربران اندروید دیروز چند خطای پرداخت دیده‌اند؟ رویدادهای آخر یک کاربر چه بوده؟ چند کاربر یکتا از جست‌وجو استفاده کرده‌اند؟

NULL صفر یا رشته خالی نیست؛ یعنی مقدار ناشناخته یا ثبت‌نشده است. SELECT * را نیز به کاوش کوتاه محدود کنید و در تحلیل قابل‌اشتراک ستون‌های مشخص را انتخاب کنید تا تغییر schema معنای خروجی را ناخواسته عوض نکند.

مرحله دوم: ساخت سنجه با تجمیع

در هفته دوم COUNT، COUNT DISTINCT، SUM، AVG، MIN و MAX را همراه GROUP BY و HAVING یاد بگیرید. مستندات Aggregate Functions در PostgreSQL تفاوت مهم WHERE و HAVING را روشن می‌کند: اولی ردیف‌های ورودی را پیش از تجمیع فیلتر می‌کند و دومی گروه‌های محاسبه‌شده را.

اینجا مدیر محصول باید بیش از syntax به مخرج حساس باشد. «۱۲۰۰ بار استفاده از قابلیت» ممکن است از ۳۰ کاربر پرمصرف آمده باشد. تعداد event، تعداد کاربر یکتا و درصد کاربران واجد شرایط سه سنجه متفاوت‌اند. برای هر عدد یک جمله تعریف بنویسید: «نرخ فعال‌سازی هفت‌روزه برابر است با کاربران ثبت‌نام‌شده‌ای که در هفت روز اول پروژه ساخته‌اند، تقسیم بر همه ثبت‌نام‌های معتبر همان cohort.»

تمرین خروجی‌محور: یک جدول هفتگی بسازید که ثبت‌نام، کاربر فعال‌شده، نرخ فعال‌سازی و خطای ثبت‌نام را به تفکیک پلتفرم نشان دهد. سپس یک کنترل دستی انجام دهید: پنج کاربر را از داده خام دنبال کنید و ببینید واقعاً در صورت و مخرج درست قرار گرفته‌اند یا نه.

مرحله سوم: اتصال جدول‌ها بدون دوبرابرکردن واقعیت

بیشتر سؤال‌های محصول در یک جدول پاسخ ندارند. مشخصات کاربر در users، رفتار در events، خرید در orders و آزمایش در experiment_assignments است. در هفته سوم INNER JOIN و LEFT JOIN، کلید اتصال و رابطه یک‌به‌یک یا یک‌به‌چند را یاد بگیرید.

خطر اصلی JOIN دستور اشتباه نیست؛ تکثیر ردیف است. اگر هر کاربر چند سفارش و چند رویداد داشته باشد و دو جدول را مستقیم وصل کنید، ممکن است هر سفارش چند بار شمرده شود. پیش و پس از JOIN تعداد ردیف، کاربر یکتا و مجموع کنترل را مقایسه کنید. ابتدا هر منبع را به grain موردنیاز برسانید؛ مثلاً یک ردیف برای هر کاربر، سپس اتصال را انجام دهید.

مسیر مبتدی Query and modify data with Transact-SQL در Microsoft Learn ماژول‌های SELECT، فیلتر، JOIN، Subquery و GROUP BY را به‌ترتیب پوشش می‌دهد. در شروع میان چند dialect جابه‌جا نشوید؛ مفاهیم اصلی مشترک‌اند.

مرحله چهارم: قیف، Cohort و Retention

در هفته چهارم syntax را به سه تحلیل روزمره محصول وصل کنید. قیف می‌پرسد کاربران در مسیر مشخص کجا ریزش می‌کنند. Cohort کاربران را براساس زمان یا رفتار آغاز مشترک مقایسه می‌کند. Retention می‌سنجد چه کسانی پس از رفتار آغازین، در پنجره تعریف‌شده رفتار ارزشمند را تکرار کرده‌اند.

برای قیف ثبت‌نام تا ساخت پروژه، ابتدا eligibility هر مرحله را روشن کنید. آیا کاربری که مستقیماً پروژه را import کرده باید مرحله ساخت را طی‌شده حساب شود؟ آیا ترتیب eventها مهم است؟ پنجره تبدیل چقدر است؟ یک قیف ابزار تحلیلی بدون این تصمیم‌ها فقط ظاهری دقیق دارد.

در Retention نیز تعریف زمان نتیجه را تغییر می‌دهد. مستندات Retention Analysis در Amplitude توضیح می‌دهد که سنجش از یک start event به return event انجام می‌شود. شما باید مشخص کنید بازگشت «در روز هفتم»، «تا روز هفتم» یا «از روز هفتم به بعد» است. Cohortهای تازه را هم پیش از کامل‌شدن پنجره با cohortهای بالغ مقایسه نکنید.

خروجی این هفته یک تحلیل یک‌صفحه‌ای با تعریف سنجه، سه مشاهده، دو توضیح رقیب و یک اقدام بعدی است. «نرخ iOS کمتر است» هنوز علت نیست؛ شاید ترکیب کانال یا خطای instrumentation آن را ساخته باشد.

مرحله پنجم: CTE و Window Function برای سؤال‌های پیچیده‌تر

در هفته پنجم CTE را برای شکستن Query بلند به گام‌های نام‌دار یاد بگیرید. سپس سراغ ROW_NUMBER، LAG، LEAD و محاسبات تجمعی بروید. Window Function برخلاف GROUP BY هویت ردیف‌ها را حفظ می‌کند و روی مجموعه مرتبط با هر ردیف محاسبه انجام می‌دهد؛ آموزش Window Functions در PostgreSQL این تفاوت و نقش PARTITION BY و ORDER BY را با مثال نشان می‌دهد.

کاربرد محصولی آن چیست؟ اولین رویداد هر کاربر را با ROW_NUMBER پیدا کنید، تغییر هفته‌به‌هفته نرخ را با LAG بسنجید و درآمد تجمعی cohort را محاسبه کنید. لازم نیست همه توابع پیشرفته را بلد باشید. اگر می‌توانید «اولین»، «قبلی»، «رتبه در گروه» و «مجموع تا این نقطه» را درست بسازید، بخش بزرگی از سؤال‌های عملی را پوشش داده‌اید.

مرحله ششم: یک پروژه واقعی از سؤال تا پیشنهاد

در هفته ششم یک مسئله کوچک اما کامل انتخاب کنید: افت فعال‌سازی، تکرار خرید یا استفاده کم از یک قابلیت. یک فایل تحلیل بسازید که شامل سؤال، تعریف‌ها، فرضیه‌ها، نقشه جدول‌ها، Queryهای مرحله‌ای، کنترل کیفیت، یافته‌ها و پیشنهاد اقدام باشد.

مثلاً برای افت فعال‌سازی ابتدا cohort ثبت‌نام هفتگی بسازید. نرخ ساخت پروژه در هفت روز را به تفکیک پلتفرم مقایسه کنید. نسخه اپ، کانال جذب و وقوع خطا را اضافه کنید. اگر افت فقط در Android نسخه مشخصی دیده شد، پنج مسیر کاربر را نمونه‌خوانی کنید و با لاگ خطا تطبیق دهید. نتیجه می‌تواند پیشنهاد رفع باگ باشد؛ یا اگر شواهد کافی نیست، یک instrumentation کوچک و زمان بازبینی مشخص.

این خروجی برای پورتفولیوی مدیریت محصول قوی‌تر از اسکرین‌شات یک داشبورد است، چون نحوه صورت‌بندی، کنترل و تصمیم شما را نشان می‌دهد. داده حساس، شناسه واقعی کاربر و Query زیرساخت خصوصی را منتشر نکنید؛ از داده ساختگی یا ناشناس استفاده کنید.

برنامه پیشنهادی شش‌هفته‌ای

  • هفته ۱: روزی ۳۰ دقیقه SELECT و فیلتر؛ خروجی: پاسخ به پنج سؤال روی یک جدول.
  • هفته ۲: تجمیع و تعریف سنجه؛ خروجی: گزارش هفتگی فعال‌سازی با مخرج مستند.
  • هفته ۳: JOIN و مدل داده؛ خروجی: اتصال users و events همراه کنترل تکثیر.
  • هفته ۴: قیف، Cohort و Retention؛ خروجی: تحلیل یک‌صفحه‌ای با اقدام بعدی.
  • هفته ۵: CTE و Window Function؛ خروجی: اولین رفتار و تغییر دوره‌ای هر segment.
  • هفته ۶: پروژه سرتاسری؛ خروجی: Case Study قابل بازبینی و ارائه.

هر هفته یک Query قدیمی را از نو بنویسید و نتیجه را با روشی دیگر کنترل کنید. برای بیشتر مدیران محصول، یک‌سوم یادگیری و دوسوم تمرین نسبت مناسبی است.

استفاده درست از هوش مصنوعی در یادگیری SQL

AI می‌تواند schema را توضیح دهد، Query را به زبان ساده برگرداند، خطا را پیدا کند یا چند راه حل پیشنهاد دهد. اما نام جدول، رابطه‌ها و تعریف سنجه را نمی‌داند مگر شما زمینه دقیق بدهید. هیچ داده شخصی، credential یا اطلاعات محرمانه را در ابزار عمومی وارد نکنید.

پرامپت مفید شامل dialect، schema حداقلی، grain هر جدول، سؤال کسب‌وکار، خروجی مطلوب و چند ردیف ساختگی است. سپس از مدل بخواهید فرض‌ها و خطر تکثیر ردیف را فهرست کند. Query پیشنهادی را بخش‌به‌بخش اجرا کنید، تعدادها را قبل و بعد بسنجید و منطق را روی نمونه دستی تأیید کنید. برای درک گسترده‌تر نقش این ابزارها، نقشه راه مدیر محصول هوش مصنوعی را ببینید.

خطاهای رایجی که باید زود یاد بگیرید

  • مخرج متغیر: صورت و مخرج از جامعه یا پنجره زمانی یکسان نیستند.
  • شمارش event به‌جای user: استفاده زیاد چند نفر به‌عنوان پذیرش گسترده گزارش می‌شود.
  • JOIN چندبه‌چند پنهان: درآمد یا کاربر چند بار شمرده می‌شود.
  • مقایسه cohort نارس: کاربران جدید هنوز فرصت رسیدن به رفتار هدف را نداشته‌اند.
  • نادیده‌گرفتن timezone: مرز روز و هفته بین ابزار و پایگاه داده فرق دارد.
  • اعتماد به instrumentation: event ممکن است تکراری، دیررس یا پس از انتشار شکسته باشد.
  • علت‌دانستن همبستگی: segment بهتر لزوماً به‌دلیل همان ویژگی بهتر نشده است.
  • شروع با داشبورد: نمودار ساخته می‌شود، اما تصمیم و سؤال از ابتدا روشن نیست.

چک‌لیست پیش از اشتراک‌گذاری تحلیل

  • آیا سؤال و تصمیمی که این تحلیل پشتیبانی می‌کند مشخص‌اند؟
  • آیا grain، جامعه، بازه، timezone و تعریف event مستند شده‌اند؟
  • آیا تعداد ردیف و شناسه یکتا پیش و پس از JOIN کنترل شده است؟
  • آیا NULL، duplicate، bot، داده آزمایشی و رویداد دیررس بررسی شده‌اند؟
  • آیا cohortها فرصت مساوی برای رسیدن به Outcome داشته‌اند؟
  • آیا مشاهده، تفسیر و پیشنهاد از هم جدا نوشته شده‌اند؟
  • آیا یک توضیح رقیب یا محدودیت مهم ذکر شده است؟
  • آیا خروجی به یک اقدام، آزمایش یا سؤال بعدی ختم می‌شود؟

جمع‌بندی

نقشه راه SQL برای مدیر محصول با syntax شروع می‌شود، اما به syntax ختم نمی‌شود. از خواندن یک جدول به تجمیع، JOIN، قیف، Cohort و Window Function بروید و هر مرحله را با یک خروجی واقعی ببندید. مهارت حرفه‌ای زمانی شکل می‌گیرد که بتوانید تعریف سنجه را دفاع کنید، خطای داده را تشخیص دهید و نتیجه را به تصمیمی متناسب با سطح اطمینان تبدیل کنید.

امروز یک سؤال واقعی از تیم بردارید و قرارداد تحلیل شش‌خطی آن را بنویسید؛ حتی اگر هنوز Query نهایی را بلد نیستید. برای سنجش فاصله مهارتی خود می‌توانید از خودارزیابی مهارت‌های محصول استفاده کنید و برای بازبینی پروژه داده‌محور واقعی، منتورینگ مدیریت محصول مسیر بعدی را کوتاه‌تر می‌کند.