Skip to content

ROICalculator

An interactive code component that estimates automation savings. Users adjust sliders in real-time to see cost-benefit calculations.

Overview

The ROICalculator demonstrates the value of automation by letting visitors input their team details and see potential savings.

ROICalculator

Key Features:

  • Interactive sliders for input parameters
  • Real-time calculation of savings
  • Customizable inputs and formulas
  • Fully branded styling
  • Mobile responsive

Default Inputs

KeyLabelDefaultRangeStepUnit
teamSizeTeam size121–1001people
hoursPerWeekManual work per person81–601hrs
hourlyRateAvg fully loaded cost5510–3005$/hr
errorRateRework & errors120–501%

Default Variables

Fixed constants used in all formulas — not exposed to the user as sliders.

KeyValueMeaning
weeksPerMonth4Weeks per month multiplier
inefficiencyFactor1.15Overhead multiplier for workflow inefficiencies
savingsRate0.8Share of losses that automation can recover (80%)

Default Outputs

LabelFormulaFormat
You're losing / monthteamSize * hoursPerWeek * weeksPerMonth * hourlyRate * (1 + errorRate / 100) * inefficiencyFactorCurrency
You could save / month... * savingsRate (same as above × 0.8)Currency
Monthly hours lostteamSize * hoursPerWeek * weeksPerMonth * (1 + errorRate / 100) * inefficiencyFactorNumber

With default values (12 people, 8 hrs, $55/hr, 12% errors):

  • Losing / month ≈ $27,203
  • Could save / month ≈ $21,762
  • Hours lost / month ≈ 495 hrs

Customization

Step 1: Select the Component

Click the ROICalculator component on your page or in the layer panel.

ROICalculator Layer

Step 2: Open Properties Panel

Open the Properties panel (right sidebar) to see customization options.

ROICalculator Layer

Step 3: Configure Variables

Variables are fixed constants used in formulas — they don't change via sliders and are not visible to the user. Use them for rates, coefficients, or any value you want to control centrally without exposing to users.

Option A: Use Defaults

  • Leave Variables set to "Default"
  • No additional constants are available

Option B: Custom Variables

  • Set Variables to "Custom"
  • Add items with a Key (variable name) and Value (numeric constant)
  • Each variable is available in all output formulas by its key name

Custom Variables

Example:

  • Key: savingsRate, Value: 0.8 — then use teamSize * hoursPerWeek * savingsRate in formulas

Step 4: Configure Inputs

Option A: Use Defaults

  • Leave Inputs set to "Default"
  • Calculator uses the values above

Option B: Custom Inputs

  • Set Inputs to "Custom"
  • Define your own input fields and ranges
  • Examples: "Projects handled", "Cost per project", "Automation budget"

Custom Inputs

Step 5: Configure Outputs

Option A: Use Defaults

  • Leave Outputs set to "Default"
  • Shows the three predefined outputs

Option B: Custom Outputs

  • Set Outputs to "Custom"
  • Define what calculations to display
  • Formula fields accept JavaScript expressions

Custom Outputs

Step 6: Formulas

When using Custom outputs, you can write formulas:

Example Formula:

javascript
teamSize * hoursPerWeek * hourlyRate * 4

This calculates: 12 * 8 * 55 * 4 = $21,120/month

Available in formulas:

  • Input names from your custom inputs
  • Variable keys from your custom variables
  • Standard JavaScript functions (Math.round, etc.)
  • Comparison operators (>, <, ==)

Step 7: Styling

See the full Property Controls section below for all visual options.

Property Controls

Property Controls

Content

PropertyTypeDefaultDescription
TitleString"ROI Calculator"Heading displayed above the sliders. Leave empty to hide
Outputs LayoutEnumVerticalVertical — outputs stack top to bottom; Horizontal — outputs line up side by side
Footer NoteString"Based on estimated..."Small note below outputs. Leave empty to hide

Currency

PropertyTypeDefaultDescription
CurrencyString$Symbol prepended to currency-formatted outputs
DecimalsNumber0Decimal places for currency values (0–6)
GroupingToggleOnOn — thousands separator (e.g. $27,203); Off — no separator

Appearance

PropertyTypeDefaultDescription
BackgroundColor#FFFFFFComponent background color
BorderColor#EEEEEEBorder color
Border WidthNumber0Border thickness in px (0–12)
RadiusBorderRadius0pxCorner rounding
PaddingPadding0 4 0 4Inner padding (top, right, bottom, left)

Typography

Three independent font controls — each sets the typeface, weight, size, letter-spacing, and line-height:

PropertyApplies ToDefault
Title FontComponent headingInter, Semibold, 18px, -0.02em, 1.2em
Label FontSlider labels, output labels, footer noteInter, Medium, 12px, -0.01em, 1.2em
Value FontOutput result valuesInter, Semibold, 24px, -0.03em, 1.1em
PropertyTypeDefaultDescription
Label ColorColor#000000Color for all labels and footer note
Value ColorColor#000000Color for output values and the title

Slider

The Slider property group controls the appearance of the native slider bar:

Sub-propertyTypeDefaultDescription
TrackColor#EEEEEEUnfilled portion of the slider track
FillColor#000000Filled portion (left of thumb)
ThumbColor#FFFFFFDraggable thumb handle color
Thumb BorderNumber2Border width around the thumb in px (0–10)
HeightNumber6Track height in px (2–16)
RadiusNumber999Track corner radius (999 = fully rounded pill)

Slider UI

PropertyTypeDefaultDescription
Slider UIEnumDefaultDefault — uses the native styled slider; Custom — connect or select Framer components in Track, Fill, and Thumb slots

When Custom is selected, three slot properties appear:

PropertyDescription
Custom TrackFramer component used as the slider track background
Custom FillFramer component used as the filled progress bar
Custom ThumbFramer component used as the draggable handle
Thumb ScaleScale multiplier for the thumb component (0.5–3, default: 1)

Custom UI

Custom UI

The Track and Fill components are always stretched to 100% width; the Fill is clipped by the current slider percentage.

Gaps

The Gaps property group controls all internal spacing:

Sub-propertyDefaultDescription
Gap24pxSpace between the main sections (inputs block, outputs block, footer)
Input Gap24pxSpace between individual slider rows
Result Gap16pxSpace between individual output items
Label ↕ Track8pxGap between the slider label row and the track
Label ↕ Value4pxGap between an output label and its result value

Made by Pixometra