মোবাইল অ্যানালিটিক্সে সেশন হল একটি সময় সীমাবদ্ধ নিরবছিন্ন ব্যবহারকারী কর্মকলাপের অবধি। এই মেট্রিকটি ধরণ, নিজুজ ও LTV গণনার ভিত্তি হিসেবে কাজ করে। Adjust, 2025 অনুযায়ী, অ্যাপগুলিতে মাধ্যামিক সেশন দৈর্ঘ্য 4–7 মিনিট, কিন্তু বিভাগের উপর নির্ভর করে বহুল ভাবে পরিবর্তিত হয়। ব্যবহারকারী অনুভবের গুণমান আগালের জন্য সেশন মেট্রিক্স বোঝা অত্যন্ত গুরুত্বপূর্ণ।
মূখ্য বিষয়সমূহ
সেশন হল একটি সময়াবধি যার মধ্যে ব্যবহারকারী সক্রিয়ভাবে অ্যাপের সাথে কর্মকলাপ করে। অ্যাপ খোলার সময় (অথবা ব্যাকগ্রাউন্ড থেকে ফিরে আসার সময়) সেশন শুরু হয় এবং নিষ্ক্রিয়তার অবধি বা বন্ধ করার পরে শেষ হয়।
বিভিন্ন অ্যানালিটিক্স প্লেটফর্ম সেশন সীমানা ভাশায় সংজ্ঞায়িত করে। Firebase Analytics 30 মিনিট নিষ্ক্রিয়তার পরে একটি সেশন সম্পূর্ণ মনে করে, AppsFlyer 60 মিনিটের পরে, Amplitude 5 মিনিট বা session_end ইভেন্টে। কোন একটি মান নেই।
সেশন-ভিত্তিক মেট্রিক্স ধরণ হার (Retention Rate), নিজুজের গভীরতা (Stickiness Ratio) এবং ব্যবহারের ফ্রিক্যুয়েন্সি (Session Frequency) অনুযায়ী ব্যবহারকারী বিতরণের গণনার ভিত্তি। সঠিক সেশন সংজ্ঞা ছাড়া, সকল ব্যুত্পন্ন মেট্রিক্স ভুল হবে।
Mixpanel (2024) অনুযায়ী, যে অ্যাপগুলি Session Duration 15% উন্নত করেছে, তারা এক তিনমাহের মধ্যে LTV বৃদ্ধি 22% দেখিয়েছে। এটি অ্যাপে কাটানো সময় এবং মনেটাইজেশনের মধ্যে সরাসরি সম্পর্ক।
সেশন পরিমাপ অ্যাপ জীবনচক্রের ইভেন্টগুলির উপর ভিত্তি করে: খোলা (session_start) এবং বন্ধ (session_end)। তাদের মধ্যে, সকল ব্যবহারকারী কর্মকলাপ রেকর্ড করা হয়।
// Basic session tracker for Android
class SessionTracker {
private var sessionStart: Long = 0L
private val SESSION_TIMEOUT = 30 * 60 * 1000L
fun onAppOpened() {
sessionStart = System.currentTimeMillis()
Analytics.logEvent("session_start")
}
fun onAppClosed() {
val duration = System.currentTimeMillis() - sessionStart
Analytics.logEvent("session_end") {
param("duration_ms", duration)
}
}
fun isNewSession(lastActive: Long): Boolean {
return (System.currentTimeMillis() - lastActive) > SESSION_TIMEOUT
}
}
কোডটি সিস্টেম কলব্যাকের মাধ্যমে সেশন শুরু ও শেষ ট্রেক করে। SESSION_TIMEOUT প্যারামিটার (30 মিনিট) নির্ধারণ করে যে ব্যাকগ্রাউন্ড থেকে ফিরে আসাকে একটি নতুন সেশন বলে গণ্য করা উচিত না পূর্ববর্তীর ধারাবাহিকতা।
| প্লেটফর্ম | সেশন টাইমআউট | নির্ধারণ পদ্ধতি |
|---|---|---|
| Firebase Analytics | 30 মিন | স্বচালিত, কাস্টমাইজেশন নেই |
| Amplitude | 5 মিন (ডিফল্ট) | SDK এর মাধ্যমে কনফিগরযোগ্য |
| AppsFlyer | 60 মিন | নির্দিষ্ট ব্যবধান |
| Mixpanel | 30 মিন | minimumSessionDuration বিকল্পের মাধ্যমে কনফিগরযোগ্য |
| Adjust | 60 মিন | স্বচালিত, জীবনচক্রের সাথে সংযুক্ত |
টাইমআউটের পছন্দ মেট্রিক্সকে প্রভাবিত করে: ছোট টাইমআউট (5 মিন) অধিক সেশন তৈরি করে, লম্বা (60 মিন) কর্মকলাপগুলিকে একত্রিত করে। মূখ্য হল একটি নিয়ম নির্ধারণ করা এবং অবধিগুলির তুলনা করার সময় এটি পরিবর্তন না করা।
সেশন বিশ্লেষণ চারটি মৌলিক মেট্রিক্স উপর নির্ভর করে। প্রত্যেকটি ব্যবহারকারীর আচরণের একটি নির্দিষ্ট দিক প্রকাশ করে।
সেশন দৈর্ঘ্য হল সর্বোচ্চ সময় যা একজন ব্যবহারকারী প্রতি পরিদর্শনে অ্যাপে ব্যয় করে। সংবাদ অ্যাপগুলির জন্য, মান 2–4 মিনিট; গেমের জন্য, 8–15 মিনিট; স্ট্রিমিং সেবার জন্য, 20+ মিনিট। যদি Session Duration কমে, তবে এটি বিষয়বস্তু বা কর্মক্ষমতার সমস্যা নির্দেশ করে।
সেশন ব্যবধান হল পূর্ববর্তী সেশনের শেষ এবং পরবর্তীর শুরুর মধ্যে সময়। ছোট ব্যবধান (মিনিট বা ঘণ্টা) উচ্চ নিজুজের ইংগিত দেয়। দীর্ঘ ব্যবধান (দিন) সামান্য আগ্রহ বা একটি উপকারী ব্যবহার ক্ষেত্র নির্দেশ করে যেখানে অ্যাপটি কম বার প্রয়োজন হয়।
একটি অবধি (দিন, সপ্তাহ, মাস) ধরে প্রতি ব্যবহারকারী সেশনের সংখ্যা স্টিকিনেসের একটি সূচক। সূত্র: DAU / MAU (দৈনিক সক্রিয় ব্যবহারকারী / মাসিক সক্রিয় ব্যবহারকারী)। 20% এর উপরের মানকে ভাল বলে গণ্য করা হয়, 50% এর উপরে — বেশিরভাগ অ্যাপ বিভাগের জন্য চমৎকার।
সেশন গভীরতা হল একটি সেশনে স্ক্রিন বা কর্মের সংখ্যা। এটি দেখায় যে ব্যবহারকারী অ্যাপের কার্যক্ষমতা কতটুকু অনুসন্ধান করে। দীর্ঘ অবধির সাথে সামান্য গভীরতা নেভিগেশন সমস্যা নির্দেশ করে।
অ্যাপ জীবনচক্রে প্লেটফর্মের পার্থক্য সরাসরি সেশন সংজ্ঞাকে প্রভাবিত করে। iOS এবং Android ব্যাকগ্রাউন্ড অবস্থা এবং বিজ্ঞপ্তি ভিন্নভাবে পরিচালনা করে।
Android এ, সেশন শুরু হয় যখন প্রথম Activity এর onStart() কল করা হয় এবং শেষ Activity এর onStop() এ শেষ হয়। তবে, সিস্টেম প্রক্রিয়াকে ব্যাকগ্রাউন্ডে মারতে পারে, যা মিথ্যাভাবে সেশন শেষ করে। বিশ্বস্ত ট্রেকিংয়ের জন্য Application.ActivityLifecycleCallbacks ব্যবহার করা সুপারিশ করা হয়।
class AnalyticsApp : Application() {
private var activityReferences = 0
override fun onCreate() {
super.onCreate()
registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {
override fun onActivityStarted(act: Activity) {
if (++activityReferences == 1) {
Analytics.trackSessionStart()
}
}
override fun onActivityStopped(act: Activity) {
if (--activityReferences == 0) {
Analytics.trackSessionEnd()
}
}
})
}
}
activityReferences কাউন্টারটি নির্ধারণ করে যে ব্যবহারকারী অন্তত একটি স্ক্রিন দেখছে কিনা। যখন এটি 0 হয়, অ্যাপটি ব্যাকগ্রাউন্ডে চলে গিয়েছে এবং সেশন সম্পূর্ণ হয়।
iOS এ, একটি সেশন applicationDidBecomeActive এবং applicationDidEnterBackground পদ্ধতির সাথে সংযুক্ত। পুশ বিজ্ঞপ্তিতে ট্যাপ করা কৃত্রিমভাবে সেশন সংখ্যা বাড়িয়ে দিতে পারে — এটি অ্যানালিটিক্সে মনে রাখা উচিত।
Swift উদাহরণ:
import UIKit
class AppDelegate: UIResponder, UIApplicationDelegate {
func applicationDidBecomeActive(_ application: UIApplication) {
Analytics.trackSessionStart()
}
func applicationDidEnterBackground(_ application: UIApplication) {
Analytics.trackSessionEnd()
}
}
দর্শনীয়: iOS এ, অ্যাপগুলির মধ্যে স্যুইচ (App Switcher) করার ফলে সেশন শেষ হয় না — কেবল গভীর ব্যাকগ্রাউন্ডে যাওয়া বা বন্ধ করার জন্য স্যুইপ এর ফলে এটি সক্রিয় হয়।
সেশন বিশ্লেষণ সাধারণ গণনার বাইরে। সেগমেন্টেশন এবং কোহোর্ট বিশ্লেষণ নিজুজের প্যাটার্ন প্রকাশ করে যা একত্রিত ডেটায় দেখা যায় না।
ইনস্টল সপ্তাহ অনুযায়ী ব্যবহারকারীদের গ্রুপ করুন এবং প্রথম 7 দিনে সেশনের গড় সংখ্যা দেখুন। যদি সবচেয়ে নতুন ইনস্টল কোহোর্টের Sessions Per User পুরানাগুলির চেয়ে কম হয়, এটি অনবার্ডিং বা ট্র্যাফিক গুণমানের অবনতি নির্দেশ করে।
সেশন মেট্রিক্সে বৈসম্য হল সমস্যার প্রাথমিক সূচক। একটি রিলিজের পর স্বল্প সেশন (5 সেকেন্ডের কম) হঠাৎ বৃদ্ধি লঞ্চ বাগ নির্দেশ করে। এক দিনে Session Duration এ 30% পতন সার্ভার ডাউন বা API পরিবর্তনের ইংগিত হতে পারে। থ্রেশোল্ড সহ মনিটরিং সেটাপ করুন: যদি গড় Session Duration 7-দিনের চলমান গড় থেকে 2 স্ট্যান্ডার্ড বিচ্যুতির চেয়ে বেশি কমে, তবে একটি সাতর্ক বার্তা পাঠান।
সেশন রিপোর্টে অ্যাপ সংস্করণ সেগমেন্টেশন ব্যবহার করুন। সংস্করণ 3.2.0 এ 4 মিনিট Session Duration দেখায়, সংস্করণ 3.2.1 এ 2 মিনিট। কারণ অনবার্ডিংয়ে পরিবর্তন। সংস্করণ রোলব্যাক করালে মেট্রিকটি ফিরে আসে। সংস্করণ সেগমেন্টেশন ছাড়া, আপনি একটি গড় পতন দেখতে পারেন কিন্তু মূল কারণ খুঁজে পাবেন না।
পাওয়ার ব্যবহারকারী (5+ সেশন প্রতি দিন) — আপনার মূখ্য দর্শক। ক্যাজুয়াল ব্যবহারকারী (1–2 সেশন প্রতি সপ্তাহ) — পুনর্সক্রিয় করার জন্য একটি গ্রুপ। নিষ্ক্রিয় ব্যবহারকারী (30 দিনে 0 সেশন) — রিটার্গেটিং বা পুশ বন্ধ করার জন্য প্রার্থী।
প্রতিটি সেগমেন্টের জন্য এলাদা মেট্রিক্স গণনা করুন: পাওয়ার ব্যবহারকারীদের জন্য Session Duration ব্যবহারের গভীরতা দেখায়, যখন ক্যাজুয়াল ব্যবহারকারীদের জন্য প্রবেশ বাধা দেখায়। Amplitude (2024) অনুযায়ী, যে অ্যাপগুলি সেশন সেগমেন্ট অনুযায়ী বিষয়বস্তু ব্যবহার করে, তাদের Session Duration মাসিক গড়ে 18% বৃদ্ধি পায়।
ধরণ সেশনের মাধ্যমে গণনা করা হয়: একজন ব্যবহারকারী দিন N এ ধরা পাবেন যদি তার সেকালে অন্তত একটি সেশন থেকে। তবে, ভিন্ন উৎপাদের ভিন্ন সংজ্ঞা প্রয়োজন। সামাজিক মাধ্যমের জন্য, একটি সেশন 1 সেকেন্ড হতে পারে (খালি বিজ্ঞপ্তি পরীক্ষার জন্য খোলা), যখন একটি স্ট্রিমিং সেবার জন্য 15 মিনিট হতে পারে।
গুণমানের সূচক হিসেবে অনইনস্টল-সেশন ব্যবহার করুন: যদি আপডেটের পর স্বল্প সেশনের (10 সেকেন্ডের কম) সংখ্যা বাড়ে, ব্যবহারকারীরা প্রয়োজনীয় কার্যক্ষমতা খুঁজে পায় না। এটি অনইনস্টল বাড়ার আগে UX সমস্যার প্রাথমিক সংকেত।
ট্র্যাফিক উৎসগুলির সাথে সেশনগুলি সংযুক্ত করুন: পরিশোধিত চ্যানেল থেকে আসা ব্যবহারকারীদের অধিক সেশন এবং দীর্ঘ Session Duration থাকা উচিত। যদি জৈবিক ট্র্যাফিক পরিশোধিত ট্র্যাফিকের চেয়ে 40% বেশি Session Duration দেখায়, তবে টার্গেটিং গুণমানে সমস্যা আছে। সেশন এট্রিবিউশন অ্যাক্যুইজিশন ব্যয় অপ্টিমাইজ করতে সহায়তা করে।
সাধারণ জিজ্ঞাসা
গড় সেশন দৈর্ঘ্য বিভাগের উপর নির্ভর করে: গেমেস — 8–15 মিনিট, সোশাল মীডিয়া — 5–10 মিনিট, ইউটিলিটি অ্যাপ — 1–3 মিনিট। ধারা অধিক গুরুত্বপূর্ণ: যদি Session Duration এক মাসে 20% কমে, তবে একটি UX অডিট প্রয়োজন।
অনেক অ্যানালিটিক্স SDK ছোট করার সময় এন্ড ইভেন্ট পাঠায় না — তারা একটি টাইমআউটের জন্য অপেক্ষা করে। যদি ব্যবহারকারী অ্যাপটি 1 মিনিটের জন্য ছোট করে এবং ফিরে আসে, এটি একটি সেশন হিসেবে গণনা করা হয়। কেবল টাইমআউট (30–60 মিন) পরে একটি নতুন সেশন শুরু হয়।
দিন N এ ব্যবহারকারীর ধরণ সেই দিন যাদের অন্তত একটি সেশন ছিল তাদের অনুপাত হিসেবে গণনা করা হয়। যদি সেশন সঠিকভাবে ট্রেক না করা হয়, তবে ধরণ প্রাথমিকভাবে কম বা বেশি হবে।
হ্যাঁ, প্রৃষ্ঠভূমিক কর্মকলাপ (সঙ্গীত প্লেবেক, নেভিগেশন, সিংক) অ্যাপটিকে সক্রিয় অবস্থায় রাখতে পারে। ফরগ্রাউন্ড সেশন (ব্যবহারকারী স্ক্রিন দেখে) প্রোসেসর সেশন (UI ছাড়া প্রৃষ্ঠভূমিক কাজ) থেকে আলাদা করা ভালো।
সাবস্ক্রিপশন সেবা (স্ট্রিমিং, ফিটনেস, শিক্ষা) এর জন্য, 5–10 মিনিটের টাইমআউট সুপারিশ করা হয়। ব্যবহারকারীরা প্রায়ই সামান্য বিরতির পরে ফিরে আসে — এবং Session Duration বিকৃত না করার জন্য প্রতিটি বিরতিকে একটি নতুন সেশন হিসেবে গণনা করা উচিত।
সারাংশ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন