مفاهیم تحلیل مخاطب

5 گرایش مخاطب، 9 احساس پیشرفته، شدت در برابر وضعیت، پلتفرم‌های صوتی‌تصویری (تلویزیون/رادیو/مطبوعات) و توکن‌های دامنه‌محور

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


5 گرایش مخاطب (Audience Stance)

برای هر موضوع/برند پایش‌شده، نظرات منتشره در 5 گرایش دسته‌بندی می‌شوند. این کلاس‌بندی ابتدا توسط تحلیل‌گر یا مدل ML تعیین می‌شود و سپس به‌عنوان رنگ‌بندی در کارت‌ها، نمودارهای Sankey، و توزیع‌های گرایش استفاده می‌شود.

حامی420منتقد سازنده180مخالف95مخالف جدی62خنثی215
حامی43٪منتقد سازنده19٪مخالف10٪مخالف جدی6٪خنثی22٪
برچسب نمایشیکدتوکن CSSمعنی
حامی1--flow-pro-govپشتیبان موضوع/برند، دیدگاه مثبت غالب
منتقد سازنده2--flow-internal-criticبازخورد انتقادی همراه با پیشنهاد بهبود
مخالف3--flow-internal-opponentمخالف موضوع، با لحن جدی ولی نه افراطی
مخالف جدی4--flow-external-opponentمخالفت ساختاریافته یا کمپین‌محور
خنثی5--flow-greyغیرقابل دسته‌بندی، بی‌طرف، نامرتبط

کلیدهای متنی تایپ FlowKey (که در توکن‌های CSS بالا هم دیده می‌شوند) شناسه‌های legacy سازگاری با کد قدیمی‌اند و هرگز در UI محصول نمایش داده نمی‌شوند — سطح نمایش همیشه «برچسب نمایشی» خنثی است:

type FlowKey = 'pro-gov' | 'internal-critic' | 'internal-opponent' | 'external-opponent' | 'grey'
import { FlowBadge, Distribution } from '@partodata/ui'

<FlowBadge flow="pro-gov" />
<FlowBadge flow="internal-critic" />
<Distribution kind="flow" data={{ 'pro-gov': 280, 'internal-critic': 80, 'internal-opponent': 40, 'external-opponent': 20, grey: 30 }} />

FLOW_KEYS ثابت در lib برای iteration: import { FLOW_KEYS, flowLabels } from '@partodata/ui'.


9 احساس پیشرفته (Emotion Scale)

برای تحلیل عمیق، DS در کنار 3 سطح ساده‌ی sentiment، یک scale پیشرفته‌ی 9 احساسی هم پشتیبانی می‌کند — برگرفته از مدل چرخ Plutchik. برای داشبوردهای تحلیلی + تفکیک عمیق احساس مناسب است؛ برای summary cards و list views، scale ساده‌تر کافی است.

خشم120انتظار85شادی340اعتماد92ترس41شگفتی67غم128انزجار34خنثی210
شادی
34٪(340)
خنثی
21٪(210)
غم
13٪(128)
خشم
12٪(120)
اعتماد
9٪(92)
بقیه
11٪(108)
کلیدفارسیتوکن CSSرنگ مرجع
angerخشم--emotion-angerقرمز اشباع‌شده
fearترس--emotion-fearبنفش-تیره
sadnessغم--emotion-sadnessنیلی
joyشادی--emotion-joyسبز زمردی
disgustانزجار--emotion-disgustصورتی-سرخابی
surpriseشگفتی--emotion-surpriseکهربایی-طلایی
trustاعتماد--emotion-trustفیروزه‌ای
anticipationانتظار--emotion-anticipationسبز لیمویی
neutralخنثی--emotion-neutralخاکستری-آبی
import { EmotionBadge, Distribution } from '@partodata/ui'

<EmotionBadge emotion="anger" />
<Distribution kind="emotion"
  data={{ joy: 120, trust: 100, anger: 60, fear: 40, neutral: 80, anticipation: 50 }}
  variant="stacked"
/>

چه زمانی scale ساده، چه زمانی scale پیشرفته؟

  • Simple (3-class) via SentimentBadge — برای summary badges، compact cards، list views، dashboard headers. سرعت خوانش > دقت.
  • Advanced (9-emotion) via EmotionBadge + Distribution kind="emotion" — برای detail views، تحلیل deep، Sankey breakdown. دقت > سرعت خوانش.

Distribution kind="emotion" در حالت variant="compact" با topN می‌تواند emotionهای کم‌اهمیت را در یک chip «بقیه» ادغام کند.


شدت (Severity)

یک مقیاس چهارسطحی برای اولویت یک هشدار، خوشه، تیکت یا پیشنهاد اقدام؛ برای مرتب‌سازی و فیلتر:

فوریبالامتوسطپایین
کلیدکدفارسیتوکن CSS
urgent1فوری--severity-urgent
high2بالا--severity-high
medium3متوسط--severity-medium
low4پایین--severity-low
import { SeverityBadge } from '@partodata/ui'

<SeverityBadge severity="urgent" />
<SeverityBadge severity="high" variant="solid" />  {/* full fill */}
<SeverityBadge severity="medium" variant="soft" />  {/* tinted, default */}

تا نسخهٔ 4 همین مقیاس با نام دیگری هم بود: StatusBadge با سطح‌های critical، warning، middle و low. از 5.0 فقط SeverityBadge هست (critical می‌شود urgent، warning می‌شود high و middle می‌شود medium)؛ npx --no parto-migrate-v5 کد قدیمی را خودکار تبدیل می‌کند. در جدول، SeverityCell همین نشان را در ردیف می‌گذارد.


پلتفرم‌های صوتی‌تصویری — TV / Radio / Press

علاوه بر 7 پلتفرم اجتماعی استاندارد (Instagram، X، TikTok، YouTube، LinkedIn، Telegram، Threads)، DS برای پایش رسانه‌ای، این منابع کلاسیک را هم اضافه می‌کند:

اینستاگرامایکسفیسبوکتلگرامیوتیوبتیک‌تاکلینکدینتردزروبینووبمطبوعاتتلویزیونرادیوفایلپلتفرم 7فایل اکسل
کلیدفارسیتوکن CSSتم
tvتلویزیون--social-platform-tvtheme-independent
radioرادیو--social-platform-radiotheme-independent
pressمطبوعات--social-platform-presstheme-aware

tv و radio در هر دو تم رنگ یکسان دارند (شخصیت برندی غالب). press بسته به theme تنظیم می‌شود (در light theme dark navy، در dark theme روشن‌تر).

import { PlatformMark } from '@partodata/ui/social'

<PlatformMark source="tv" />
<PlatformMark source="press" />

چه زمانی از این‌ها استفاده کنیم؟

  • بولتن‌های پایش رسانه — هرجا که داده‌ی شبکه‌های اجتماعی با پوشش رسانه‌ی کلاسیک ترکیب می‌شود، این پلتفرم‌ها سهم رسانه‌ی سنتی را نمایان می‌کنند
  • Post — هر 11 منبع (شبکه‌های اجتماعی + TV/Radio/Press/Web) با یک مدل (SocialPost) و یک کامپوننت: پست، خبر با تیتر و نویسنده، و بخش پخش با برنامه، زمان پخش، بازهٔ بخش، روش به‌دست‌آمدن متن و اطمینان تشخیص؛ فهرستشان یک EntityCollection است

تشخیص بات (Bot Detection)

برای ارزیابی اعتبار حساب‌ها، DS یک scale سه‌سطحه دارد:

نرخ حساب‌های واقعی78٪
واقعی78٪مشکوک15٪بات7٪
کلیدفارسیتوکن semantic
realواقعی--sentiment-positive (سبز)
suspiciousمشکوک--warning-default (نارنجی)
botبات--destructive-default (قرمز)

این به‌صورت BotDetectionMeter در کارت‌های پروفایل + audit صفحات استفاده می‌شود.

import { BotDetectionMeter } from '@partodata/ui'
;<BotDetectionMeter data={{ real: 824, suspicious: 156, bot: 74 }} />

نمره‌ی ارزیابی (Score Tiers)

برای ارزیابی کیفیت یک پیج/حساب/گزارش، DS یک scale 5 سطحه دارد:

نمره تعامل

میانگین لایک و کامنت نرمال‌شده بر دنبال‌کننده

وزن 60٪خوب
72/100+12نسبت به ماه قبل
نرخ تعامل3.2٪
آستانه‌ها:≥80 عالی≥60 خوب≥40 متوسط≥20 ضعیف
کلیدفارسیتوکن CSS
excellentعالی--score-excellent
goodخوب--score-good
moderateمتوسط--score-moderate
poorضعیف--score-poor
criticalبحرانی--score-critical

پیش‌فرض thresholdها (نرمال‌سازی روی scale 0..100): excellent ≥ 80، good ≥ 60، moderate ≥ 40، poor ≥ 20، critical < 20. در CriterionScoreCard و EngagementRateBenchmark استفاده می‌شود.

import { CriterionScoreCard } from '@partodata/ui'
;<CriterionScoreCard name="کیفیت محتوا" score={72} weight={0.4} trend={{ delta: +8 }} />
{
  /* tier از score خودکار محاسبه می‌شود → "good" → سبز */
}

کارت‌های دامنه‌محور

چهار کارت برای پنل‌های پایش آماده است؛ حساب تحت رصد یک Account است، نه کارت جدا.

ConceptCard — یک کلاستر مفهومی

نمره، توزیع گرایش و احساس، روند و خلاصهٔ هوش مصنوعی یک کلاستر.

رونمایی گوشی جدید

فوری

خوشه 4 — 1,240 پست

حجم نظرات منفی در 24 ساعت اخیر سه برابر شده. تمرکز روی شهرهای بزرگ.

حامی6٪منتقد سازنده26٪مخالف44٪مخالف جدی16٪خنثی8٪
مثبت10٪خنثی16٪منفی74٪
مجموع
1240

AlertRuleCard — یک قاعدهٔ هشدار

شرط، آستانه، کانال و شدت یک هشدار.

افزایش ناگهانی منفی

فوریفعال
شرط فعال‌سازی

هرگاه نرخ منفی بیش از 20٪ شود

آستانه:≥ 20٪
کانال‌ها:ایمیلتلگرامدرون‌برنامه‌ای
آخرین فعال‌سازی: 2 ساعت پیشتعداد فعال‌سازی: 14

SavedQueryCard — یک جست‌وجوی ذخیره‌شده

جست‌وجو با تعداد اجرا و زمان آخرین اجرا.

گزارش هفتگی — منتقدان سازنده

نظرات منتقد سازنده در شبکه‌های اجتماعی، 7 روز اخیر

گرایش:منتقد سازندهپلتفرم:تلگرام، توییتربازه:7 روز
48 اجرا2 روز پیش

JobCard — یک کار در حال اجرا

کار ناهمگام با پیشرفت، جزئیات و اقدام‌ها.

تحلیل کامنت‌های کمپین تخفیف فصلی

در حال برچسب‌گذاری#6
62٪
1250
کامنت
هوشمند@sample_shopدر حال محاسبه…
در حال اجرا
چند منبع

بازخورد بسته‌بندی جدید

نیازمند بازبینی شما#5

نتیجه آماده است و منتظر بازبینی شماست.

842
کامنت
12
برچسب
یکپارچه3 منبع
نیازمند بازبینی شما

برای جزئیات هر کدام، صفحه‌ی کامپوننت مربوطه را ببینید.


توزیع جغرافیایی — استان‌های ایران

برای داده‌ی per-province، IranProvinceHeat یک لیست افقی با heat-bar ارائه می‌دهد. 31 استان ایران با کد ISO 3166-2:IR و برچسب trilingual (fa/ar/en) در lib به‌عنوان IRAN_PROVINCES export شده. findProvince() و getProvinceLabel() برای lookup در دسترس‌اند.

نظرها درباره کمپین تخفیف فصلی به تفکیک استان
استانمقدار
تهران4,820 نظر
اصفهان2,140 نظر
خراسان رضوی1,965 نظر
فارس1,480 نظر
خوزستان1,180 نظر
آذربایجان شرقی1,040 نظر
مازندران860 نظر
گیلان610 نظر
کرمان540 نظر
یزد320 نظر
هرمزگان210 نظر
آذربایجان غربیبدون داده
اردبیلبدون داده
البرزبدون داده
ایلامبدون داده
بوشهربدون داده
چهارمحال و بختیاریبدون داده
خراسان جنوبیبدون داده
خراسان شمالیبدون داده
زنجانبدون داده
سمنانبدون داده
سیستان و بلوچستانبدون داده
قزوینبدون داده
قمبدون داده
کردستانبدون داده
کرمانشاهبدون داده
کهگیلویه و بویراحمدبدون داده
گلستانبدون داده
لرستانبدون داده
مرکزیبدون داده
همدانبدون داده
1تهران4.8 هزار نظر
2اصفهان2.1 هزار نظر
3خراسان رضوی2 هزار نظر
4فارس1.5 هزار نظر
5آذربایجان شرقی1.3 هزار نظر
6خوزستان1.2 هزار نظر
7مازندران920 نظر
8گیلان880 نظر
import { IranProvinceHeat } from '@partodata/ui'
;<IranProvinceHeat
  data={{ tehran: 4820, isfahan: 2140, fars: 1480 }}
  scale="severity-urgent"
  topN={10}
  hideMissing
  showRank
/>

بولتن‌سازی

برای ساخت bulletin پایش، ReportComposer + 6 section template آماده وجود دارد:

بولتن هفتگی — هفته 14

گزارش روند نظرات و توزیع گرایش مخاطبان

خلاصه اجرایی

نظرات مثبت روند صعودی داشت؛ توجه‌ی رسانه‌ای بیشتر در شش استان متمرکز شد.
تعداد پست4.8 هزار+12.4٪
سهم مثبت78٪
پلتفرم‌های فعال9

ترکیب گرایش مخاطب

حامی
37٪
منتقد سازنده
24٪
خنثی
16٪
مخالف
14٪
مخالف جدی
9٪
import {
  ReportComposer,
  ExecutiveSummarySection,
  SentimentBreakdownSection,
  FlowDistributionSection,
  TopPostsSection,
  TimelineSection,
  SourceBreakdownSection,
  BulletinViewer,
} from '@partodata/ui'

برای بازخوانی نهایی + پرینت، BulletinViewer با print:hidden action buttons و [&_section]:break-inside-avoid آماده است.