KNOWLEDGEBASE
XOM

Data Analytics

2 min read·Article 07 / 24

XOM measures three things separately: how an individual post performs, how the platform as a whole is behaving, and how advertising is converting. Each has its own surface and its own data path.

01Post analytics

The post analytics view is a per-post dashboard rendered with Chart.js. It reads the post's node from the Realtime Database and presents four trended metrics — views, XP earned, shares, and comments — alongside a saves total and a computed engagement rate. Trends are held as seven-day series, and the view carries a time-range selector and four tabs: overview, demographics, content, and timing.

The demographics tab breaks the audience down by age band, gender, and country. The timing tab presents a best-time-to-post read, expressed as engagement by weekday and by hour of day. Some of these panels ship with example distributions in the component's initial state, so verify against live values before quoting a specific number.

02Platform analytics

Admin-side analysis is built on a small set of shared helpers (components/admin/utils/analytics.ts) rather than a reporting engine. They cover the calculations the panels actually need: engagement rate from likes, shares, comments and views; top-performing content by a chosen metric; an XP leaderboard; and a simple anomaly detector that flags data points deviating from the mean by more than a configurable multiple.

The admin dashboard itself reads counts directly from Firestore using aggregate count queries rather than fetching whole collections, which keeps the stat cards cheap: total users, pending approvals, active users, rejected users, total posts, and pending reports. A recent-activity feed shows the last approvals and rejections with timestamps. Pending reports highlight when the count is above zero.

Every administrative write across the console — configuration changes, moderation actions, role changes — is appended to an audit log collection with the acting admin, module, action, timestamp, and before/after values. The system-logs panel reads that collection with a severity derived from the action type, so the audit trail doubles as the operational log.

03Advertising analytics

The ad system tracks impressions, clicks, hover, viewability, accumulated view time, and dismissals per creative, writing to per-creative and per-campaign metric paths. The campaign dashboard derives CTR, CPC, CPM, conversion rate, and ROI from those raw counters, and can export a report as CSV or JSON over a 7, 30, or 90 day window with a platform-wide summary block appended.

04A note on the API clients

The repository also contains an axios-based analytics client that targets /api/admin/analytics/* endpoints. Because XOM deploys as a static export with no Node server at runtime, those routes are not served in production. Treat that client as a design artifact for a future server-assisted analytics tier, not as a live integration point.

Need custom diagnostic analysis?

Contact our support engineers directly to initiate bespoke technical resolution.

CONNECT SUPPORT