Calculate the Session Duration:

Prompt
Calculate the Session Duration:
Use the timestamps from the columns "[Column with session start time]" and "[Column with session end time]" in the attached CSV to calculate per-session duration using the following formula:

Session Duration = End Time of Session − Start Time of Session

Input assumptions & parsing:

Timestamps are ISO (e.g., YYYY-MM-DD HH:MM:SS) or unix epoch; if both appear, prefer ISO.

Treat start/end in the same timezone; if a "[Timezone]" column exists, parse accordingly.

Exclude sessions with negative or missing durations; report the count excluded.

Output requirements:

Compute duration (seconds) for every row, plus a human-friendly mm:ss field.

Report Average Session Duration, Median Session Duration, P90, and P95.

Provide a distribution table with buckets: 0–10s, 11–30s, 31–60s, 61–120s, >120s.

If a "[Segment/Audience/Device]" column exists, repeat the stats by segment.

After calculating, report where the Average Session Duration lands on the following scale (higher is better). Replace the bracketed thresholds with the targets you use:

Very Good = ≥ [A] seconds

Good = [B–(A−1)] seconds

Average = [C–(B−1)] seconds

Poor = [D–(C−1)] seconds

Very Poor = < [D] seconds

Example defaults you can use if no thresholds are provided (typical content site):
Very Good ≥ 120s, Good 61–119s, Average 31–60s, Poor 11–30s, Very Poor < 11s.

Next, analyze the responses in the column "[Column with qualitative explanations]" in the CSV (e.g., open-text notes on what kept users engaged or caused short sessions). Identify common themes and provide clear, actionable suggestions to increase session duration (e.g., faster LCP, stronger above-the-fold value, internal links, related content modules, fewer disruptive popups).
Sample output
Session Duration — Example Report
Summary

Average Session Duration: 54 seconds → Average

Median Session Duration: 41 seconds

P90: 2 minutes 5 seconds

P95: 3 minutes 12 seconds

Sessions Analyzed: 4,800 (42 excluded due to missing/invalid timestamps)

Distribution of Sessions
Duration Bucket	Sessions	% of Total
0–10s	720	15%
11–30s	1,080	22.5%
31–60s	1,320	27.5%
61–120s	1,050	21.9%
>120s	630	13.1%

Observation: Nearly 40% of users exit within the first 30 seconds, while ~35% stay longer than a minute.

Segment Breakdown
By device

Mobile: Avg 42s (Poor)

Desktop: Avg 71s (Good)

Tablet: Avg 63s (Good)

By landing page

Homepage: Avg 61s (Good)

Category pages: Avg 37s (Average–Poor)

Product pages: Avg 56s (Average)

Blog content: Avg 128s (Very Good)

Qualitative Insights (from explanations column)

Top themes influencing short or long sessions:

Quick exits on category pages due to clutter — 28%

“Too many items, felt overwhelming.”

Blog articles boosted long sessions — 22%

“I stayed to read the whole post and clicked related links.”

Pop-ups caused early exits — 18%

“Left right away when the newsletter popup blocked the screen.”

Slow mobile load times — 17%

“Took too long to load images, I quit.”

Strong product imagery encouraged exploration — 15%

Recommendations

Streamline category pages: fewer above-the-fold products, clearer filtering to reduce overwhelm.

Reduce intrusive popups: delay newsletter prompt until ≥30s or after scroll depth.

Optimize mobile performance: compress images, lazy-load below-the-fold assets, and improve LCP.

Double down on blog strategy: promote articles with high dwell time, and link related posts to extend sessions.

Enhance product page engagement: add short explainer videos or “quick view” to encourage deeper browsing.

Next Checks

A/B test simplified category layout → target +15s average session duration.

Track mobile vs. desktop gap weekly; aim to raise mobile from 42s → ≥60s.

Add engagement markers (scroll depth, clicks per session) to confirm time-on-page correlates with interaction.

Target: Improve Average Session Duration from 54s → ≥61s (Good).