Skip to content

Drift arrows

How far each part drifted from its target.

Definition · Updated Nov 2, 2026

Drift arrows draw each part of a portfolio or mix from where it is now toward its target, so overweight and underweight parts show by direction and length. Very small drifts get no arrow. Use it for portfolio rebalancing, budget allocation and channel mix.

Pay once. Every update included.

Live preview

Allocation driftCurrent weight against target for 6 asset classes: US equity 38% (target 35%), Intl equity 14% (target 18%), Bonds 26% (target 28%), Real estate 8% (target 7%), Gold 6% (target 5%), Cash 8% (target 7%).010%20%30%40%US equity+3.0 PTIntl equity−4.0 PTBonds−2.0 PTReal estate+1.0 PTGold+1.0 PTCash+1.0 PTOVERWEIGHTUNDERWEIGHTTARGET
Allocation drift
AssetNow (%)Target (%)Drift (pt)
US equity3835+3.0
Intl equity1418−4.0
Bonds2628−2.0
Real estate87+1.0
Gold65+1.0
Cash87+1.0

Sample data: six assets against target, US equity +3.0 pt, intl equity −4.0 pt

Size
Legend
Data shape
A target and a current share per part
Good for
Rebalancing, budget mix, allocations
Avoid when
There is no target
Sizes
XS, S, M and L, re-laid out from the data

Anatomy

Inspect it like the Figma file.

The same layers, names and tokens as the component. Select one to read its size, fill and style.

Layers

089 / Drift arrows

chart/089-drift-rebalance
plot · drift arrows
Layer
target · us equity
Type
Rectangle
Size
2 × 16
Fill
text/strong
Radius
1
Group
Marks · 24

Layers

089 / Drift arrows

chart/089-drift-rebalance
plot · drift arrows
Layer
target · us equity
Type
Rectangle
Size
2 × 16
Fill
text/strong
Radius
1
Group
Marks · 16

Sizes

Re-laid out, never scaled.

The same data at XS, S, M and L. Every size is redrawn from the data, so text and line weights never shrink.

M against S

Width360 px480 px

Plot328 px440 px

Labels1717

Marks1818

Height212 px246 px

Same tokens at every size: text styles, 1 px lines and mark radius stay put.

When to use

What to rebalance.

Three signs it fits, and three signs another type fits better.

Is there a target per part?

Shares with no target.

Yes: Keep the drift arrows

Is the drift the point?

Two values compared.

Yes: Keep the drift arrows

Is it shares of a whole?

Values against a goal.

Yes: Keep the drift arrows

Code and Figma

One name in Figma and in code.

Every Figma property is a prop with the same name and values. One command installs it.

Figma

chart/089-drift-rebalance

size
legend
Property = propValuesDefault
size"xs" · "s" · "m" · "l""xs"
legendtrue · falsetrue
color"cat-1" · "cat-2" · "cat-3" · "cat-4""cat-1"
npx shadcn add @chartory/drift-arrows
drift-arrows.tsx
import { DriftArrows } from "@/components/chartory/drift-arrows"import { portfolioDrift } from "./portfolio-drift"export function PortfolioDrift() {  return (    <DriftArrows      data={portfolioDrift}      size="m"      legend={true}    />  )}

Hearth widget

Drift arrows as a widget.

The chart in a Hearth card with a hero number and two blocks. One token set, light and dark.

Code
Get the code

EmberPreset

ChartoryDefault preset

Pick the blocks, the size and the preset for your own widget.

Read the Hearth widget docs

FAQ

Drift arrows questions.

What people ask before they put drift arrows in a dashboard.

Something else?

hello@usechartory.com
  • From the current share toward the target; drifts too small for an arrow show as a dot. The legend names overweight, underweight and target.

Related types

The same question, a different shape of answer. Every type ships in Figma and in code.

Same family

Space and place

9 types in Chartory answer this question.