Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Codecov test coverage Travis-CI Build Status Lifecycle: experimental

This package, bulletchartr is based on visualizing M&E deliverables or “Indicators”, however, it can be handy for anyone that depends on monitoring Key Performance Indicators (KPIs) or needs to track progress against different targets.


# Install the package from GitHub:
# install.packages("devtools")


Introductory Vignettes

Quick Overview

The bullet chart was invented by Stephen Few, for the purpose of showing tons of info in a condensed form in KPIs. It is basically a variation of a bar chart that allows you to compare one measure against other metrics such as a target value and/or some qualitative measures of performance (ex. low - medium - high or poor - satisfactory - good). These qualitative labels are displayed as varying intensities of a single color from dark (low/bad/negative) to light (high/good/positive).

The output of the bullet_chart() function most closely resembles Stephen Few’s design:

## load example data

bullet_chart(dataframe = bc_ex)

Time-comparison bullet charts

The outputs of bullet_chart_symbols(), bullet_chart_wide(), and bullet_chart_vline() have a different x-axis scale to a regular bullet chart.

The x-axis represents both the percentage of the yearly target AND the percentage of the year that has passed. There is a vertical line showing TODAY, which shows at what percentage of the year and what percentage of the target we are at right now. The color inside the bar is green if we are near or past the TODAY line, orange when we’re close and red when we’re very behind schedule/target. One of the main differences between this set of functions is how they present the values for “Last Week” and “Last Year” for each of the indicators.

bullet_chart_symbols(file_name = read_example("Indicators_Targets_ext.xlsx"),
                     cal_type = "2019/05/02")

bullet_chart_wide(file_name = read_example("Indicators_Targets_ext.xlsx"),
                  cal_type = "cal")

bullet_chart_vline(file_name = read_example("Indicators_Targets_ext.xlsx"))

Future direction

Currently this package is geared more toward non-R using M&E people (therefore, the Excel file input alongside a dataframe input), however as we develop this package further we want to go towards being able to make the bullet_chart functions more customizable for general use cases.


This package builds bullet charts suitable for tracking KPIs, and used by ACDI/VOCA to track progress against indicators





No packages published