تحلیل اکتشافی مجموعه داده کافه بازار

تو این قسمت سعی می کنیم یه دیدی از مجموعه داده به دست بیاریم و به یه سری سوال که به مرور جذاب تر میشن پاسخ بدیم. هرجا که امکان­ پذیر باشه، چارت مناسبی رو رسم می ­کنیم تا حس بهتری از خروجی بگیریم. نکته مهمی که باید بهش اشاره کنم اینه که با توجه به فارسی بودن مقادیر بعضی از ویژگی ­های کلیدی، کار کردن با کتابخونه­ هایی مثل matplotlib یا seaborn کارو سخت می­کنه. بنابراین هرجا نمایش متون فارسی اهمیت داشته باشه از plotly استفاده کردم و هرجا اهمیت نداشت سراغ seaborn رفتم. هرچند از نسخه 4.8 به بعد plotly، میشه backend کل plotting تو pandas رو از matplotlib به plotly تغییر داد ولی من این کارو نکردم. اگر علاقه دارید پلات ها رو به صورت اینتراکتیو داشته باشید، از اینجا فایل خروجی html نوت بوک رو مطالعه کنید.اول از همه ببینیم کلا چندتا اپلیکیشن داریم و چندتا بازی. برای پاسخ به این سوال از پای چارت استفاده کردم.شمارش تعداد برنامه ها و بازی هاپس کلا 81.7% مجموعه داده رو برنامه­ ها تشکیل دادن و فقط 18.3% متعلق به بازی­ هاست. تعدادشون هم که مشخصه. این دو بخش رو جدای از هم تحلیل می ­کنیم. در ادامه میخوایم ببینیم توی کدوم دسته، تعداد اپلیکیشن­ های بیشتری منتشر شده.برای گروه برنامه ­های کاربردی، دسته های "آموزش" و "ابزارها" با تفاوت فاحش بیشترین اپلیکیشن­ ها رو از نظر تعداد پوشش میدن و خلوت ­ترین دسته­ بندی هم متعلق به آب و هوا، کودک و رفت و آمد هست.اما برای بازی­ ها، دسته ­های اکشن و تفننی پرشمارترین­ ها هستند در حالی که بازی ­های استراتژی و کلمات و دانستنی کمترین تعداد رو در بر میگیرن. اگر همینجا یه نگاه به تعداد بازی ­های کودکانه و از اون طرف اپلیکیشن­ های کاربردی حوزه کودک بندازیم، متوجه فقر شدید این حوزه میشیم که این نشون میده کار در حوزه کودک چقدر کم مورد توجه قرار گرفته.در ادامه میخوام ببینیم تو هر کدوم از دسته برنامه ­ها و بازی­ ها، چقدر اپلیکیشن رایگان، پولی یا با پرداخت درون برنامه ­ای داریم.همون طور که می­بینید، تفاوت فاحشی بین توزیع اپلیکیشن ­های پولی و پرداخت درون­ برنامه ­ای بین برنامه ­ها و بازی­ ها وجود نداره که برای من کمی عجیب بود. انتظار اولیه ام این بود که توسعه­ دهندگان بازی ­ها بیشتر گرایش به مدل پرداخت درون­ برنامه ­ای داشته باشن.سوالی که در ادامه برام پیش اومد این بود که آیا دلیل انتشار بیشتر اپلیکیشن ­ها در این دسته­ ها، پرطرفدار بودنشون بوده؟ یعنی آیا لزوما وجود تعداد بیشتر اپلیکیشن در یک دسته­ بندی خاص، به دلیلِ بالا رفتن احتمال گرفتن نصب بیشتر بوده؟ اینجا از treemap کمک گرفتم و میزان نصب فعال دسته­ های مختلف رو برای برنامه­ ها و بازی ­ها رسم کردم.هرچقدر از رنگ ­های گرم به سرد حرکت کنیم و اندازه مربع کوچک­تر بشه، به این معناست که تعداد نصب­ ها کمتر بوده. فرضیه مون درباره دسته بازی ­ها تا حد زیادی صدق می­کنه. اما درباره برنامه ­ها میشه گفت نه. برای مثال دسته مذهبی که چهارمین دسته با بیشترین اپلیکیشن منتشرشده است، نصب فعالش 3% کل اپلیکیشن ­های نصب­ شده است! بنابراین یا تعداد زیادی توسعه ­دهنده­ داریم که درویش ­های پاک ­باخته هستن و در راه خدا کار می­کنن یا بودجه ­های خوبی پشت این حجم از انتشار اپلیکیشن­ هاییه که با اقبال جامعه کاربری هم روبرو نشده!خیلی از برنامه ­ها و بازی ­ها هستند که متاسفانه هیچ امتیازی براشون ثبت نشده. تو دیتاست ما این مجموعه که تعدادشون خیلی زیاد هم هست امتیاز 0 گرفتند. اگر بخوایم توزیع امتیازها رو بررسی کنیم، خیلی صحیح نیست که اپلیکیشن ­هایی که هیچ نظری براشون ثبت نشده رو در کنار بقیه باهم بررسی کنیم. بنابراین هم برنامه ها و هم بازی­ ها رو جوری فیلتر می­کنیم که حداقل یک نفر براشون امتیازی ثبت کرده باشه.در ادامه میخوایم این مورد رو بررسی کنیم که توزیع این امتیازها با توجه به نوع پرداخت اپلیکیشن­ ها چطوری بوده. آیا پولی یا رایگان بودن اپلیکیشن تاثیری تو امتیازی که گرفته داشته؟ (با فرض اینکه همه توسعه­دهنده ­ها بچه­ های خوبی هستن و هیچکدومشون نمیره پول بده امتیاز الکی بخره و باز هم با فرض اینکه دوستان در کافه بازار خیلی حواسشون سر این قضیه جَمعه و امتیازهای تقلبی رو با الگوریتم­ های پیچیده تشخیص میدن)همونطور که از نمودار پیداست:میانه امتیاز برنامه ­های پولی 4 و برنامه ­های رایگان 4.3 هست که با اپلیکیشن ­های پرداخت درون ­برنامه ­ای برابری می­کنهمیانه امتیاز بازی­ های پولی اما 4.3 و بازی های رایگان 4 هست (برعکس بالا) و بازی های با پرداخت درون­ برنامه ­ای فقط کمی کمتر از بازی­های پولی میانه امتیاز 4.2 گرفتنمورد عجیب اما دقیقا سر امتیاز 5 هست که مثل یه میله پرچم(؟!) خودنمایی می­کنه ?برای اینکه عمق فاجعه رو بهتر متوجه بشیم، توزیع امتیاز این دو گروه رو هم می­بینیم:به میانگین امتیازها و انحراف معیار دقت کنید. این میله بلند تقدیم به همون کسانی که فقط با 70 هزار تومان 100 تا امتیاز 5 ستاره ثبت می­کنن.اما آیا برای دسته­ بندی خاصی، توزیع این امتیازها تفاوت معناداری دارن؟ برای این کار از نمودار جعبه ­ای کمک گرفتم.تو این نمودار اول به وضعیت عجیب دسته مذهبی توجه کنید و بعد به میانه امتیاز بسیار پایین دسته آب و هواتو بازی ­ها میانه امتیازات دسته کلمات و دانستنی­ها بسیار بهتر از بقیه و دقیقا برابر 4 هست. بدترین امتیازات هم متعلق به دسته شبیه ­سازی و تا حدی بازی های اکشن هست که به نظر میرسه چندان در جلب نظر جامعه کاربری مخاطبش موفق عمل نکرده. به خاطرتون بیارید که دسته اکشن از نظر تعداد نصب دومین دسته پرطرفدار بود!برای اینکه کمی ذهنمون استراحت کنه، سعی می­کنم در ادامه به چندتا سوال ساده پاسخ بدم. میخوایم ببینیم پرطرفدارترین بازی­ ها کدوم ­ها هستند. این کارو برای برنامه­ ها انجام نمیدم چون پاسخش با اپلیکیشن­ های بی­ شمار گوگل که بطور پیش­فرض روی اندروید نصب هستند، خیلی جالب درنمیاد.بازی­ های ایرانی آمیرزا، کلاچ، پاسور حکم و فندق بازی­هایی هستند که تو 10تای برتر از نظر تعداد نصب قرار دارند.همچنین اگر برامون جذاب باشه که کدوم برنامه ­های پولی، بیشترین میزان فروش رو داشتن، به پلات زیر می­ رسیم با 10 مورد برتر فروشبرنامه سنتور با حدود 750 میلیون تومان بیشترین فروش رو داشته. به دوتا برنامه ردیابی شماره موبایل روی نقشه دقت کنید که که اولی حداقل 454 و دومی حداقل 350 میلیون تومان فروش داشتند. احتمالا یکی بخاطر آمار بالای سرقت گوشی موبایل هست که نشون میده دزدان و سارقان عزیز کارشون رو دارن به خوبی انجام میدن و دومین دلیلی که من به ذهنم می­رسه اینه که یه عده که ممکنه درون خانواده یا خارج از خانواده باشن که علاقه دارن بدونن طرف موردنظرشون کجاها میره یا الان کجاست! 800 میلیون تومان فروش اونم حداقل تخمینی که ما داریم خیلی رقم بزرگیه! حضور اون گالری مخفی هم به نوبه خودش جالبه با حداقل 300 میلیون تومان فروش ?اما تخمینمون از میزان فروش بازی­ های پولی چقدره؟ یه نگاهی هم به 10 بازی پرفروش میندازم که بیشترین درآمد رو احتمالا کسب کردند.بازی machinarium با حداقل 180 میلیون تومان فروش، احتمالا پرفروش ترین بازی این مارکت بوده. با توجه به اعداد و ارقامی که از حوزه بازی سراغ دارم، ارقام فروش بازی­ های پولی اصلا جذابیتی نداره و شخصا توصیه می­کنم توسعه ­دهنده­ های بازی بیشتر به مدل پرداخت درون ­برنامه ­ای فکر کنن. البته همه این­ رقم ­­ها بر اساس تعداد نصب فعال محاسبه شده و ممکنه یه عده بعد از اتمام مراحل بازی اون رو پاک کرده باشن و دیگه روی گوشی نگه ندارن که این می­تونه ارقام فروشی که ما محاسبه کردیم رو خیلی کمتر از میزان واقعی جلوه بده. این نکته در مورد برنامه­ های پولی هم صدق می­کنه.اما چه کسایی بیشترین تعداد اپلیکیشن رو در کافه بازار منتشر کردن؟ اسامی این بزرگواران رو به خاطر بسپارید شاید در گزارش ­های آینده باهاشون کار داشتیم.به ازای کدوم برنامه ­ها و بازی­ ها بیشترین ثبت امتیاز توسط کاربرها انجام شده؟باد صبا بیشترین تعداد نظرات به ازاش ثبت شده حتی بیشتر از اپلیکیشن­ های مشهوری مثل اینستاگرام، دیوار، بازار، اسنپ و غیره. تو بازی­ ها هم حضور مجدد آمیرزا و فندق رو شاهد هستیم که دیگه با خیال راحت باید بگیم قطعا از موفق ترین بازی­ های توسعه ­داده­ شده هستن.یادم اومد که اصلا نگاهی به ارتباط و همبستگی خطی احتمالی بین متغیرها ننداختم. بنابراین یه heatmap میتونه تا حدی دیدی از این ارتباط احتمالی بهم بدهارتباط بین تعداد نصب فعال و میزان حجم ترافیک داده که بدیهی بود از همون اول چون علت و معلولی بود، اما تنها ارتباط خطی احتمالی که میتونه جالب باشه ارتباط بین تعداد نصب فعال و تعداد نظرات ثبت شده روی برنامه ست که اگرچه خیلی همبسته نیستند اما تاثیرگذارند.به عنوان سوال­ بعدی که شاید جذابیت داشته باشه، آیا قیمت یک برنامه پولی، تاثیری در امتیازات یا تعداد نصبش گذاشته؟رابطه قیمت و امتیاز برای برنامه هااز نمودار بالا متوجه میشیم که رنج قیمت نهایتا تا 40 هزارتومان هست و اغلب برنامه ­ها هم تا 10 هزارتومان قیمت دارند. اما آیا تفاوتی یا الگوی خاصی در امتیازات دیده میشه؟ نه. حتی برای برنامه ­هایی که 40 هزارتومان (گران­ترین برنامه ­ها) هستند هم می­بینید که توزیع امتیازات بسیار متنوع هست. پس توی برنامه­ ها، قیمت یک اپلیکیشن تاثیر خاصی در امتیازش نداشته (که عجیبه!)رابطه قیمت و امتیاز برای بازی هابرای بازی­ ها اما اگرچه بازهم نهایتا با اغماض می­تونیم بگیم اکثرا تا 10000 تومان قیمت دارند، اما بازی­ های گران قیمت­ تر به شکل واضحی امتیازهای پایین ­تری دریافت کردند. این مسئله اما برای بازی­ های خیلی گران 40000 تومانی به طور کامل صادق نیست و رنج امتیازات بین 3 تا 5 گرفتند.رابطه قیمت و تعداد نصب برای برنامه هااما نمودار بالا هم دیدنش خالی از لطف نیست. تقریبا اکثر قریب به اتفاق برنامه ­های پولی زیر 5000 بار نصب شدند و فقط تعداد کمی هستند که با حداکثر 15000 تومان قیمت به نصب 50000 بار رسیدند.رابطه قیمت و تعداد نصب برای بازی هاو همون­طور که میشد حدس زد، این روند برای بازی ­های پولی شکل بغرنج ­تری به خودش می­گیره. از همین دوتا نمودار اخیر میشه فهمید فروش برنامه و بازی به شکل پولی خیلی نتیجه هیجان ­انگیزی نمی­تونه داشته باشه.با توجه به تنوع زیاد قیمت ­ها و همین­طور سایز اپلیکیشن ­ها بهتره که اونا رو به دسته­ های مختلف بشکونیم و تعدادشون رو بشماریم. البته خیلی کارهای دیگه هم میشه کرد که من فقط به شمردن تعدادشون کفایت میکنم. برای نمایش توزیع تعداد اپلیکیشن ­ها بر حسب قیمتشون شاید بهتر باشه از waffle چارت استفاده کنیم.بیشتر برنامه­ ها تو رنج قیمت 5000 هزارتومان هستند و بعد 2811 تا تو رنج قیمت بیش از 5000 تومان تا نهایتا 10 هزارتومان هستند. بعدش میپره یهو توی رنج قیمتی 35 تا 40 هزارتومان!برای بازی­ ها اما اگرچه اکثریت متعلق به گروه قیمتی نهایتا تا 5 هزارتومان هستند، اما گروه بعدی که بیشترین تعداد رو داره، در رنج قیمتی بیش از 25 تا نهایتا 30 هزارتومان قرار دارند و بعد مثل برنامه ­ها رنج های بعدی هستند. مشابه همین دوتا نمودار بالا رو میشه مبتنی بر گروه ­های قیمتی و تعداد نصب برنامه ­ها هم رسم کرد که من واگذار می­کنم به علاقمندانش.در ادامه میخوایم همین شمارش رو بر اساس گروه­های حجمی هم داشته باشیم.برای سایز برنامه ­ها، 72% شون نهایتا تا 10 مگابایت حجم دارند و جالبه که 1678 اپلیکیشن داریم (1.15%) که حجمشون بیشتر از 80 مگابایت هست! که این تعداد بیشتر از مجموع تعداد اپلیکیشن­ های 50 تا 80 مگابایتی هست حتی!برای بازی­ ها اما تنوع حجمشون بیشتر به چشم میاد اگرچه کماکان گروهی که نهایتا 10 مگابایت حجم دارند تعداد بیشتری هستند، اما 10.2% از بازی­ ها (معادل 3337 مورد) بیشتر از 80 مگابایت حجم دارند. برای علاقمندان اینو اضافه کنم که حالا میشه رابطه واضح ­تری از تاثیر حجم یک برنامه یا بازی بر حسب تعداد نصبش به ­دست آورد.در آخر اینو اضافه کنم که خیلی خوشحال میشم اگر بررسی های بیشتری با این مجموعه داده انجام دادید، حتما لینکش رو با من هم به اشتراک بگذارید.