Skip to content
Documentation

Whether it works, where it heads, what was removed.

Reading a goal's series, the difference between pacing and a forecast, when a forecast refuses to answer, and the ledger of removed bot traffic.

Reading a goal

A page or event goal reports daily completions, converters, and a conversion rate based on daily visitors. Order goals report completions and revenue in each recorded currency. Orders carry no visitor code, so their converters and visitor conversion rate remain unavailable. Goals covers the kinds and their setup. Two reading rules matter:

  • One series, whatever produced it. A day Kehai counted and a day imported from your old tool sit in the same fields, each row naming its origin, so the series does not split into halves nobody can add.
  • A missing measure stays missing. An imported day whose source never supplied converters shows null there, not a number reconstructed from some other denominator.

Pacing is arithmetic, forecast is a model

Two different questions share the Goals screen and should not be confused:

PacingForecast
answersAre we going to hit the number we committed toWhere is this series heading
built fromArithmetic against a target a person set: required run rate against achieved run rateTwo candidate models validated against simply repeating last week
needsA goal and a target, nothing more. Three weeks of history is fine28 complete days, plus two more stretches as long as the horizon asked for: 56 days for two weeks ahead, 88 for a month
refusesOnly a bad callA history it cannot validate itself against, naming the days it has and the days it needs

A target names one measure, completions or revenue in one currency, for one goal and one month or quarter. The amount is a whole number of completions, or an amount of money, and at most a billion. Pacing then shows where the period stands, the run rate it needs, and the run rate it has, in status bands rather than false precision, and rounds the way the Overview card does. The modeled projection beside a target belongs to the forecast module and reads the site's history back to its first measured day, up to 366 days, the same reach the Forecast screen asks for, so the two screens answer one target from one history.

When the forecast refuses

The forecast projects one goal's completions, or its revenue in one currency, one to ninety days out. Every returned point is labeled modeled and is never added to a counted value: the line on the screen changes texture where measurement ends and projection begins.

Within the eligible history, days without a recorded outcome are filled with an assumed zero. This does not prove that measurement was working. Recorded pauses from deleting and restoring a site shorten the training window to the history after the last affected day. A day supplied by an import remains eligible through a Kehai collection pause. The shorter history can lead to a refusal.

It refuses more than it answers, on purpose. It needs 28 complete days of training, because a shorter history cannot show four of each weekday, and behind them two further stretches as long as the horizon you ask for, which it holds back to measure itself on days it has not seen: 56 complete days for two weeks ahead, 88 for a month. The refusal names both numbers, what the site has and what the request needs. Traffic is not a forecast target at all: visits can change for reasons that leave no trace in the history, and projecting them would dress an unstable extrapolation as a business answer. When it does answer, the interval shown is the one it actually measured on held-out data, not a formula's optimism.

Bots: the integrity ledger

Requests classified as crawlers are kept out of human reports. The Bots screen lists the bot events that reached that classification and were stored, with their declared user agent and matching rule. Requests blocked at the edge, refused earlier, or lost during delivery do not appear in this ledger.

Read it knowing what a name is: a declaration, never a verification. Confirming that "Googlebot" really was Google would take a reverse lookup of an address Kehai does not keep, so the screen says what the visitor declared and no more. The point of the ledger is trust in the other screens: every human number you read has already had this traffic taken out, and the ledger shows the stored bot records behind that classification.