Calendar and publishing
Analytics
Analytics is every number MORR measures, and why it moved. All channels is the overview: four figures with their shape and their change, What worked in words beside them, then growth, every channel on one comparable axis, and when the winners go out. Tap a channel at the top and the page is that channel alone.
Pick how far back at the top right: 7d, 30d or 90d. Every figure is that stretch held against the same stretch before it, because a number on its own says nothing and “412, up from 260” is the whole reason to open the page. Switching keeps the page on screen, dimmed, until the new range’s numbers land.
Share report, beside it, sends a range and the channels you pick to somebody without an account, as a page they can open or print. On the web only. See Share an analytics report.
Press kit, the card at the end of the overview, is these numbers packaged for brands: the one-sheet you send before anybody talks money. It says whether you have one yet and opens it, or makes one. The phone has the same card at the end of its Analytics. See Your press kit.
The row of pills under the header is the channel switcher: All channels, then one pill per connected channel with its own profile picture, its handle and its platform. The choice is part of the address, so a channel’s page can be bookmarked or sent, and a reload stays on it. The phone has the same switcher at the top of its Analytics screen.
Every chart reads the same way. Move across it, or tab to it and use the arrow keys, and a line snaps to the nearest day with every series’ number there. Chart and Table above each one switch to the numbers behind the picture, day by day. One measure is drawn in ink; where the lines are the subject (views and taps, one channel against another) each gets its own color, keeps it when others are hidden, and is named in a legend above.
Not captured yet
This picture is taken from the running app, not drawn by hand. Run npm run docs:shots to take it.
analytics.png
| Tile | Counts | The line and the pill (the faint line behind is the stretch before) |
|---|---|---|
| Posts published | What went out in the window, and how many are on the calendar for the next 14 days | Day by day, against the same stretch before |
| Total followers | Every connected channel’s newest reading, added up | The total by day, against the start of the window |
| Page views | Times any of your bio pages was opened | By day, against the same stretch before |
| Link taps | Times a block on a bio page was followed | The same |
What worked
Straight under the tiles, the reasons behind them, in words. One sentence ties it together (“Your best post in the last 30 days was a reel that opened with a question hook, out on a Tuesday evening, and it ran 3.6× @you’s typical views”), then four cards. Every post is measured against its own channel’s typical post, so a small account’s 4× counts the same as a big one’s and the answer is never just “your biggest account”.
| Card | Says | Where it comes from |
|---|---|---|
| The post | The post in the range that beat its channel’s typical by the most, with its picture, its views against the typical, and what it was, when it went out and what it opened with | Your posts, read every night |
| The hook | The opening that carries the views, and by how much | Your own posts once they are broken down in Research; until then the creators you watch, and the card says so |
| The hour | The day and three-hour block your above-typical posts went out in most | Your posts once four of them beat your typical; until then the creators you watch |
| The format | Which kind of post (reels, carousels, photos) runs furthest past your typical, with the others beside it | Your posts once two kinds have three or more posts each, the same floor a hook has to clear. Until then, the creators you watch |
In a workspace with team features, a best post that ran at least 1.5× its typical has Make another like this under it: it starts a brainstorm with the post pinned at the top, asking what else would work for the same reason.
What a post of yours is worth
Further down is what a post of yours is worth to a brand. For each channel with posts on file it prints a dollar range, your typical views, your best post as a multiple of your typical, and how many posts a week you put out, then one sentence that says exactly how the range was read. Nothing here is typed and nothing is estimated beyond the band, which is printed under every figure.
| Figure | How it is read |
|---|---|
| The range | Your last 30 posts on that channel, sorted by views. The lower quarter mark times the low end of the band, and the upper quarter mark times the high end. A range a person can defend from either side, never a point |
| Typical views | The median of those 30. Half your posts did better, half did worse |
| Best post | Your best of the 30 over your typical, as a multiple. A 20× is a post that did twenty times your normal |
| A week | How many posts a week you put out across the window |
| The band | What brands pay per thousand views on that platform, from published 2026 benchmarks: TikTok $2–$8, Instagram $5–$12, YouTube $20–$35 for long-form and $10–$17.50 for Shorts. Niche and engagement multipliers exist in the industry formulas and are deliberately not applied, because a multiplier nobody can audit is a number nobody should print |
| Measured by MORR | A post that went out through MORR carries the platform’s own id, so its views are measured end to end. Anything else is read off your public post. The line under the sentence says which |
A channel not read yet gets one button: Read my posts. That reads your own last 200 posts the way Research reads anyone’s, on the month’s research allowance, and the panel fills in a couple of minutes later. Only Instagram, TikTok and YouTube can be read.
The panels
| Panel | Shows |
|---|---|
| What a post of yours is worth | Your last 30 posts on each channel, priced, as above |
| Followers | Every channel MORR can count, added up, day by day. Move across it to read a day. A gap is before the first reading. A line under the chart says how many of your channels are behind it when it is not all of them |
| Not counted | Under Followers: each connected channel MORR is not counting, with the reason. Follower counts are read from Instagram, TikTok and YouTube only, so a channel on another platform says so; one whose provider shared a display name rather than a handle says that, and reconnecting it usually fixes it; one that is queued says its first count lands tonight. Where you can do something about it, Manage channels is right there |
| What worked | The post, the hook, the hour and the format behind the range, in words, as above |
| Every channel, side by side | First, every channel’s followers on one axis, each measured against where it stood at the start of the range, so +2% on a large account and +2% on a small one sit at the same height. Tap a name in the legend to hide or show its line; the colors never move. Then one row per channel, marked with its line’s color: followers and when they were counted, growth as a count and as a share, the trend, posts published, the typical post’s views, engagement rate, and the best post with how far past typical it went. Click a row to open that channel |
| Bio page | Views and taps side by side, one pair of bars a day, empty days included, and how many taps each hundred views brought. Narrow it to one page when you run more than one |
| Post mix | What you put out in the window by type (post, reel, story, carousel) as one bar cut into shares, with the count and share of each. A type keeps its color whatever it ranks |
| Best times to post | The answer first, written out: “Tuesdays, 6–9 PM”, with how many winners went out then. Under it, a week of three-hour blocks, darker where more winners went out, with each day’s total down the side and each block’s along the bottom. The best block is outlined. Point at any block for its count, how far past normal those went, and how many of all the posts sent then won. Across everyone you watch, in your time zone, counted per account, never across, because view counts are not comparable between accounts |
| Hashtags on the winners | The hashtags on those winning posts as bars, ranked by how often they appear, with how far past a normal post those went on average. From the creators you study, not the whole platform, so what it says is only as wide as who you watch |
| What is working, and why | The best posts in the window from everyone you watch, then the openings and the shapes that beat the poster’s own normal, as bars of the multiple with a hairline at 1× and the count beside each. The strongest is said in a sentence above. A group with too few posts says so instead of claiming a number. Counted from the breakdowns on Patterns |
| Recent posts | What is next and what went out, with the channel, the state and the time, and a link to the live post |
A brand-new account
Nothing on Analytics is estimated, so an account with nothing measured yet does not open to a wall of empty panels. It opens to what fills in, and when: the channels already connected, every post and its numbers tonight at the time the page names, the follower line after the second night, and your own best times once a handful of posts beat your typical. The steps you can do now (connect a channel, make a bio page, study a creator) carry their button, and a step already done is ticked. The best-times map and what is working read the creators you watch, so they appear below it as soon as you study one. A channel with nothing read yet gets the same list on its own page.
One channel on its own
Open a channel from the switcher, or from its row in the table, and every panel is scoped to that one account. Its posts and what each one did are read every night from the platform itself, through the publishing partner, at the time the page names in the reader’s own time zone.
Not captured yet
This picture is taken from the running app, not drawn by hand. Run npm run docs:shots to take it.
analytics-channel.png
| Panel | Shows |
|---|---|
| The four figures | Followers, views, engagement rate and posts published, each against the same stretch before |
| What worked | The same four cards as the overview, against this channel’s own typical post |
| Followers | The channel’s own line, and the net change over the range in the corner: “+1,240 net in the last 30 days, from 25,960” |
| Views, reach, impressions | Each post’s numbers, on the day it went out, for whichever of the three the platform shares. A post keeps counting after it is published, so the newest days are still climbing |
| Top posts | The best eight in the range with their picture, the start of the caption, and every number the post has. Rank by views, likes, comments, shares, saves or engagement; the ranked number says how far past your typical post it went |
| What you post, and what works | Each kind of post the platform has (Reels, carousels and photos on Instagram, Shorts and videos on YouTube, pins on Pinterest), with how many, the typical one’s views, and its engagement rate |
| Best times to post | The week of three-hour blocks, drawn from this channel’s own posts that beat its typical views, over twice the range. Pointing at a block says how many of the posts sent then beat it |
| What the platform shares | The numbers only that platform keeps: watch time, average view duration, the share of each video watched and subscribers gained on YouTube; reach, saves, shares, profile visits and follows on Instagram. One it keeps to itself says so |
What each platform shares
MORR prints what the platform hands over for a post and nothing else. Where a platform keeps a number to itself, the page says “Instagram doesn’t share this through its API” in its place, never a zero, because a zero would say nobody saved the post.
| Platform | Per post, through its API |
|---|---|
| YouTube | Views, likes, comments, shares, watch time, average view duration, average % watched, subscribers gained |
| TikTok | Views, likes, comments, shares. Not watch time, completion, saves or profile visits |
| Views, reach, likes, comments, shares, saves, profile visits, follows, and watch time on Reels | |
| Comments and shares | |
| X | Impressions, likes, replies, reposts, bookmarks |
| Threads | Views, likes, replies, reposts |
| Impressions, likes, comments, shares | |
| Impressions, saves, comments | |
| Bluesky | Likes, replies, reposts |
When a platform’s nightly read fails, the channel’s page says so under its name, and views, likes, comments and shares come from the public posts where MORR can read them (Instagram, TikTok and YouTube). The line under the page says how many posts carry the platform’s own numbers and how many were read off the public post.
| What you see | What it means | What to do |
|---|---|---|
| First numbers land after tonight’s read | A channel connected today. Nothing has been read yet | Nothing. Anything you publish through MORR is counted from the moment it goes out |
| Reconnect on the pill | The platform has stopped accepting the connection, or MORR has not seen the channel for a day and a half | Press Reconnect. Everything read before stays on the page |
| … wouldn’t hand over this channel’s posts last night | The platform refused that night’s read | If it keeps happening, reconnect the channel |
| Channel not found | The link points at a channel that was removed, or that sits in another workspace | See all channels, or switch workspace |