Analytics and the audit log
Who this is for: admins checking what comp plans cost and tracing changes. Analytics is most useful once you've run payouts; see Run your first payout first.
Both live under Insights in the admin menu, beside Plan Simulator. Analytics shows what your plans cost and whether they're working. The audit log shows who changed what, and when.
Analytics
How the figures are calculated
Analytics recalculates commission live every time the page loads. It runs the same engine that generates payouts, for each month in the range, rather than reading stored payouts. So:
- Months with no payouts yet, and months with only drafts, still show figures.
- A figure can differ from a published payout if anything that feeds the calculation has changed since, such as a deal, a position or an exchange rate.
- Everyone counted held a rep position during the month. People who were only managers all month aren't counted.
- Money is shown in your base currency, converted at each month's last-day exchange rate. See Multi-currency.
Filters
The header has three filters:
- All Teams: pick one or more teams.
- All Plans: pick one or more comp plans.
- Date range: This Month, Last Month, Last 3 Months (the default), Last 6 Months, Last 12 Months or Custom Range.
The page loads at most 24 months at once. If you pick a longer range it shows the most recent 24 and says so: "Showing the most recent 24 months of the range you picked …"
Headline figures
| Figure | What it means |
|---|---|
| Total Revenue | Revenue credited to reps on revenue and ratio plans. |
| Total Units | Units counted on unit plans. The title uses your unit label, such as "Total Meetings". Shown only when there are units. |
| Total Commissions | Commission for everyone in range, unit plans included. |
| Cost of Sales | Commission on revenue and ratio plans divided by their revenue, as a percentage. |
| Cost per Unit | Commission on unit plans divided by units counted. |
| Avg Attainment | Average attainment of the people whose attainment is a single figure. |
| Active Reps | How many people the figures cover. |
| Avg Payout | Total commission divided by Active Reps. |
Unit-plan commission is in Total Commissions but not in Cost of Sales, so the percentage always compares like with like.
Trends
- Revenue vs Commissions: both plotted month by month, so you can see them diverge.
- Cost of Sales Trend: cost of sales by month, with an Avg Attainment % line on the same chart.
Distribution
- Team Comparison: revenue, commission and cost of sales per team.
- Attainment Distribution: how many people fall in each band: 0–50%, 50–75%, 75–100%, 100–125%, 125–150% and 150%+. Someone whose plans in the range measure different things (revenue on one, meetings on another) has no single attainment, so they're counted in a separate Varies by plan bar.
A healthy plan usually clusters around target with a tail either side. Most people below 100% suggests quotas are set too high. A large group far above 100% suggests they're too low, and you're paying accelerators as if they were the base rate.
Reps
Top Performers and Bottom Performers list the five highest and lowest by attainment. People whose plans measure different things are left out of both.
The Rep Performance (Current Range) table lists everyone in range with Name, Team, Revenue, Commission, Attainment, OTE (period) and CoS %. Click a column heading to sort.
A month split across two plans by a mid-period move reads attainment the way the rep's statement does. On one metric, it compares the deals with the two plans' combined quota. Across metrics, it weights each plan's attainment by its days. Filter to one plan to see that plan's own attainment.
Read the bottom list with care. A rep who is ramping or worked part of a period shows low attainment because their period was partial, not because they underperformed.
People left out of the figures
Two notices above the figures name anyone missing:
- No exchange rate. "N people are not included in these figures (names) because their currency has no exchange rate to" your base currency. A mistyped currency code, such as GPB for GBP, is the usual cause. Fix the code on the person's profile.
- Calculation failures. A person the engine couldn't price for a month is left out of that month, and the notice says who.
Reading cost of sales
Cost of sales is the figure to watch: the share of revenue you pay out as commission. If it climbs while attainment stays flat, accelerators or kickers are probably firing more than intended. Model the change in the Plan Simulator before the next plan cycle. Falling cost of sales alongside falling attainment is the opposite problem: the plan may no longer motivate anyone.
The audit log
Recording versus viewing
Earnest always records admin changes, whether or not the audit log is turned on. The Audit Log switch in Settings → Features only controls whether your admins can see the log.
The switch is off by default, and only a super admin can change it ("Only super admins can change this setting."). While it's off, Insights → Audit Log isn't in the menu, and a bookmark to it opens Settings with "The Audit Log is off for your organization." Ask Earnest support to turn it on. Once it's on, you see everything recorded within the retention period, including changes made before you turned it on.
What is recorded
Each entry records who acted, what they acted on, when, and the values before and after.
| Action | Entity types |
|---|---|
| Created, Updated, Deleted | Comp Plan, Payout, User, Team, Activity, Adjustment, Dispute, Team Title, Ramp Step, Commission Tier, Organization |
| Canceled | A scheduled change you cancelled, such as "Canceled scheduled position end" |
| Exported | "Exported all data", for a full data export |
Some non-admin actions are recorded too. A rep acknowledging a statement is logged as a payout event, and disputes are logged. Approving or rejecting several adjustments at once logs one event, without a comment.
Finding an entry
The log lists the newest events first, 50 at a time; click Load more for older ones. The table shows Date, Actor, Action, Entity Type and Entity.
Narrow it with Entity Type, Actor, From and To, and clear them with Reset. There's no search box and no filter by entity name. To find changes to one person, set Entity Type to User and read the Entity column.
Click an entry to open Event Details, which lists Old Values and New Values.
| Question | How to answer it |
|---|---|
| Who changed this rep's quota, and when? | Entity Type User; find their name in the Entity column. |
| Who published March, and when? | Entity Type Payout, From and To around the publish date. |
| Who approved this adjustment? | Entity Type Adjustment. The reviewer and comment are recorded. |
| When did this plan's tiers change? | Entity Type Comp Plan, then Commission Tier. |
Change history on a plan or payout
With the audit log on, plan and payout pages have a View History button. It opens Change History, which shows that one record's changes field by field. This is easier to read than Event Details when you only care about one plan or payout.
Earnest support and System
When someone from Earnest support acts in your organization while viewing it as one of your users, the actor reads Earnest support, never that user's name. Where an entry records whose behalf it was on, such as a manager's sign-off or a payee's dispute, it reads "Earnest support on Jane Doe's behalf". Your log doesn't name the individual operator; Earnest keeps that record.
Actions with no person behind them, such as scheduled jobs and API-key imports, read System. In the Change History panel, support actions also show as System.
Retention and export
Events are kept for 730 days (about two years), then deleted. The log has no export button of its own. To keep a copy, use Settings → Data → Export All Data and Download ZIP; the archive includes the audit events. A full export can be run once an hour. See Settings, notifications and your data.
The As-of audit
The audit log answers "who changed it". The As-of audit answers "what was the configuration on a given date, as we knew it then". It's at Organization → Scheduled Changes → As-of audit and works whether or not the audit log is on.
- Choose an Entity kind: Plan rules, Team seasonality, Title quota, Team plan mix, Position or Team plan assignment.
- Pick the plan, team, title or rep.
- Set Config for date, and optionally Knowledge as of ("Defaults to now.").
- Click Resolve.
The Version lineage table lists each version's valid range, when it was recorded and by whom, when it was superseded, and its status (In effect or Retracted). Times are in UTC. For the full model, see Scheduled changes and history.
FAQ
Analytics and my payouts page disagree. Why? Analytics recalculates live at each month's exchange rates, while a published payout is frozen. Any change since publishing (a deal, a position, a rate) shows up in analytics only. Check the team, plan and date filters too.
Why is a rep missing from analytics? They had no rep position in the range, their currency has no exchange rate (the page names them), or their month couldn't be calculated (the page names them too). People who were only managers aren't counted.
Can I export analytics? Not from this page. Use Settings → Data → Export All Data for the underlying data, or the payroll and statement exports on Payouts.
We turned the audit log on today. Will it show last month? Yes. Changes are always recorded, so everything within the last 730 days appears.
Is the audit log a record of everything users do? No. It records changes to the entity types above, plus statement acknowledgements, disputes and data exports. It isn't a general activity tracker.
Our cost of sales jumped but revenue didn't. Usually accelerators, more people than expected crossing a kicker threshold, or a large correction. Corrections are posted forward, so one shows up in the month it's posted, not the month it corrects.