Ideal line & status

How Pulsaria works out where you should be today, the exact thresholds behind on track, at risk and off track, and what the gap and change numbers mean.

Pulsaria does not wait until the end of the period to tell you whether a target is in reach. It computes what your value should be today — the ideal — compares your latest number against it, and colours the result. Everything on this page comes from that one comparison.

The ideal line

For a KPI of type Cumulative goal, the target is spread evenly across the period:

ideal(date) = target ÷ total days in period × days elapsed since period start

For a KPI of type Recurring value, the ideal is flat: it equals the target on every day of the period. Nothing accumulates, so each reading is judged directly against the benchmark. Which type a KPI has is set in the KPI dialog under KPI type; see Anatomy of a KPI.

Three rules decide the day count:

  • Days are whole local calendar days. The boundary is your Mac’s midnight, not UTC midnight.
  • The first day of the period counts as 0 days elapsed, so the ideal starts at exactly 0.
  • Dates before the period start clamp to 0; dates after the period end clamp to the full period length.

The period start and end, and therefore the total number of days, come from the KPI’s period setting — see Periods & targets.

A worked example

A KPI called Revenue: target 10000, unit EUR, Higher is better, period Month, type Cumulative goal. The month is March, so the period runs 1–31 March and totalDays = 31. One day of progress is worth 10000 ÷ 31 = 322.58.

DateDays elapsedIdeal
1 Mar00.00
10 Mar92,903.23
20 Mar196,129.03
31 Mar309,677.42

Say on 10 March your recorded value is 2700. The ideal that day is 2,903.23, so you are at 93 % of it. That is inside the 10 % buffer, so the KPI is At risk, and the badge on the card reads -7% vs ideal in amber.

The ideal reaches the full target only on the day after the period ends. On 31 March the ideal of a monthly KPI is 9,677.42 — 96.77 % of the target. A cumulative KPI that lands exactly on its target on the last day therefore still reads slightly ahead of ideal.

Where the ideal line shows up

  • The ideal today pill in the KPI detail header, with an info tooltip: “Ideal = target × (days elapsed in period / total days in period). Assumes linear progress from period start at 00:00.”
  • The right-hand side of the KPI card footer: ideal: 2,903.23 EUR. For a Recurring value KPI the word changes to target:.
  • The grey dashed line in both charts. The legend on the detail page calls it Ideal Trend, or Target for a Recurring value KPI.
  • The Ideal column of the History table, again with the tooltip.

What the ideal line is not

It is strictly linear. There is no seasonality, no weekday weighting, no ramp-up curve and no manual milestones. There is also no forecast anywhere in the app: Pulsaria tells you where you stand today, it never extrapolates your run rate to the end of the period.

Status: on track, at risk, off track

Pulsaria grades the KPI’s latest recorded value against today’s ideal and assigns one of three statuses. The thresholds are fixed, and they invert with the KPI’s direction.

DirectionOn trackAt riskOff track
Higher is bettervalue ≥ idealideal × 0.9 ≤ value < idealvalue < ideal × 0.9
Lower is bettervalue ≤ idealideal < value ≤ ideal × 1.1value > ideal × 1.1

So the amber band is exactly 10 % below the ideal for a higher-is-better KPI and 10 % above it for a lower-is-better one. For a Recurring value KPI the ideal equals the target, so the same buffer answers “is this reading close enough to the benchmark?”.

The status appears as a coloured dot in the top right of every dashboard card, as a badge next to the KPI name on the detail page and in the chart header, in the right-hand column of the Weekly Review, and as counter pills at the top of the Dashboard and each project page.

The 90 % / 110 % buffer is hard-coded. There is no per-KPI and no global setting for it.

One consequence worth knowing: the status always uses the newest value in the KPI’s history, no matter how old it is. A KPI whose last entry is from three weeks ago is still graded against today’s ideal, with that stale number.

The first day of a period

On day 1 of a cumulative KPI the ideal is exactly 0. For a higher-is-better KPI that makes every non-negative value On track. For a lower-is-better KPI it works the other way: 0 × 1.1 = 0, so any value above zero is immediately Off track. The effect disappears on day 2.

Broken

Broken is a fourth status, shown in red, and it is not a goal state. It means Pulsaria could not read that KPI’s data at all — for example a connector KPI whose connection was deleted, or a file that arrived damaged from another Mac. The card is replaced by a red one showing the KPI name, the line KPI could not be loaded, the raw error message and Click to edit; clicking it opens the KPI detail page with the edit dialog already open. One broken KPI never takes the rest of the dashboard down with it.

KPIs with no values yet

Internally a KPI without a single entry counts as off-track, and the app hides that in most places but not all:

  • The dashboard card shows a neutral grey dot, an em dash instead of a number and the hint Add today’s value.
  • The Weekly Review row prints No data.
  • The status counters on the Dashboard and on project cards leave it out of the off-track count.
  • The KPI detail page and its chart header do not make that exception — they show a red Off track badge until you record the first value.

The gap percentage

Next to the current value, Pulsaria shows how far ahead of or behind the ideal you are, as a percentage of the ideal:

gap        = current value − ideal today
gap percent = |gap| ÷ ideal today × 100

It is printed with no decimals and a leading + when you are ahead, - when you are behind. “Ahead” means gap ≥ 0 for a higher-is-better KPI and gap ≤ 0 for a lower-is-better one. The label reads vs ideal, or vs target for a Recurring value KPI.

The same figure is rendered in three places, and they differ slightly:

WhereColoursHidden when
Dashboard card, chip next to the valuegreen ahead / amber under 10 % behind / red at 10 % or moretoday’s ideal is not greater than 0 — i.e. on day 1 of a cumulative period. With no history at all the chip is replaced by Add today’s value
KPI detail, large pill in the chart headergreen ahead / red behind — no amber statenever in practice; on day 1 of a period it shows +0% vs ideal
History table, Gap columngreen ahead / amber under 10 % behind / red at 10 % or morenever

If the ideal is 0, the percentage is forced to 0 wherever the figure is still shown.

Week over week

Under the value, the dashboard card shows a second chip such as +12% vs. previous week. It is computed like this:

  1. Take the newest point in the KPI’s history and its date.
  2. Walk backwards to the newest point dated at or before that date minus 7 days.
  3. delta = latest − that earlier value, and percent = delta ÷ |earlier value| × 100 (0 if the earlier value was 0).

The chip is green when the movement is good for the KPI’s direction — rising for higher-is-better, falling for lower-is-better — and red otherwise. The arrow follows the raw sign of the change, so a lower-is-better KPI that improves shows a green down arrow.

When it shows nothing: the comparison needs at least two recorded days and a point that is at least 7 days older than the latest one. Fall short of either and the card simply omits the chip; the Weekly Review prints a dash icon and in its change column instead. That column uses the identical calculation but prints one decimal place, and its hover text is vs. 7 days ago.

The comparison point is “the newest entry at least 7 days old”, not “the entry from exactly 7 days ago”. If you skipped a fortnight, the number silently compares across that whole gap. Nothing is interpolated, and the real distance in days is not displayed. There is no 30-day or month-over-month equivalent.

The 7-point trend on the Daily Entry page

A second, different figure lives on the Daily Entry page, in each KPI row right after Last value: a small percentage such as +4.2% with an arrow.

It compares the average of the last 7 recorded values with the average of the 7 values before those:

trend = (average of last 7 − average of previous 7) ÷ average of previous 7 × 100

It is green when the movement matches the KPI’s direction, red otherwise, and printed with one decimal.

When it shows nothing useful: below 14 recorded values the calculation returns a hard 0, so a young KPI shows a neutral 0% with a dash icon for its first two weeks of daily logging. The chip is left out entirely while the KPI has one recorded day or fewer.

Note that this is a count of entries, not a calendar window. “The last 7 values” means the last 7 days on which you actually recorded something, which can span several weeks if you log irregularly. This figure appears only on the Daily Entry page — the dashboard card and the KPI detail page show the week-over-week change described above instead.

How past days are graded

A historical value is never graded against today’s ideal. Both places that show history pass each point’s own date into the same formula, so a value from 10 March is measured against the ideal that applied on 10 March.

  • Status Changes on the KPI detail page: Pulsaria walks the history oldest to newest, grades every point against its own day’s ideal, and emits a coloured date chip only where the status differs from the point before it. The strip is rendered only when there are at least two such changes, so a KPI that never changed status shows nothing.
  • History table: each row recomputes that day’s ideal for the Ideal column and the gap for the Gap column, coloured green / amber / red on the same 10 % boundary as the card.

See KPI detail for the rest of that screen, and Entering values for how a day’s value is chosen when you recorded several.

Limits

  • The 90 % / 110 % thresholds cannot be configured.
  • The ideal line is linear only, and there is no forecast or projection.
  • History — and therefore the charts, the status timeline and the History table — covers at most the 90 most recent dates that carry any entry. Older entry files stay on disk but are invisible to these views.
  • Changing a KPI’s target, period or KPI type re-grades its entire history immediately. The old ideal line is not kept anywhere, so past status chips can change retroactively.
  • Values recorded outside the KPI’s period are not drawn in the charts, even though such a value can still be the KPI’s current value for the status badge.

Didn't find it?

Write to us — a real person reads every mail, usually the one who wrote the feature.

admin@one-pixel-ahead.com