RJMetrics Relocates Global Headquarters by 436 Feet

Screen Shot 2014-02-19 at 3.07.38 PM

RJMetrics attracted great fanfare this past Tuesday by relocating its global headquarters to 1339 Chestnut Street in Philadelphia, a location exactly 436 feet from its previous global headquarters at 1315 Walnut Street.

The move took 6 months from inception to completion, representing an average pace of 2.4 feet per day, or roughly one-thousandth the speed of a common garden snail.

Philadelphia Mayor Michael Nutter, in both a show of support for local entrepreneurship as well as Philadelphia’s struggling oversized-novelty-scissors industry, joined the RJMetrics team for a ceremonial ribbon cutting.

Continue reading

Calculate Customer Lifetime Value in 15 Seconds


If you follow this blog on a regular basis, you know that we’re big believers in measuring customer lifetime value. Knowing your CLV is the key to effective marketing. If you know your customer lifetime value and your cost to acquire a customer, you know whether you have a profitable, scalable business or not. Segment these same numbers by customer acquisition source, channel, and ad placement, and you have a recipe for optimizing your marketing.

We’ve found that calculating customer lifetime value is one of the single biggest challenges digital marketers face. Companies tell us that they spend countless hours with SQL queries and spreadsheets or pay thousands of dollars to consultants.

So, we are releasing a free customer lifetime value calculator. Continue reading

Use Your Ecommerce Data to Set Better Prices, Part 2

supplydemandstreetIf you run an ecommerce store and have ever tried to figure out what to charge for one of your products, this series is for you. You probably didn’t study economics in school and you might not have a PhD in data science. Fortunately, you don’t have to—we’ll cover everything you need to know to scientifically set prices for every item in your store.

Before diving into this post, make sure you’ve read Part 1, where we discuss how to build the demand curve for a product.

Factoring Cost Into the Equation

In the last post, we did a lot of work to measure customer demand at a number of different prices for a product. So far, we haven’t even considered how much each item costs to sell.

Continue reading

Use Your Ecommerce Data to Set Better Prices

supplydemandstreetIf you run an ecommerce site, you’ve probably struggled with setting prices for your products. Lowering prices is easy, but raising prices seems scary because it has the potential to drive customers away.

In this series of posts we’ll show you how to use your ecommerce data, good testing methodology and some Econ 101 to arrive at the perfect price for every item in your online store.

Calculating Your Demand Curve

As any freshman economics student knows, there is an implicit trade-off between price and quantity. Charge more for a product and you’ll make more money on each unit sold, but you’ll also reduce the number of people willing to buy it. You might find 100 people willing to buy a pair of shoes for $45, but only 90 of those people would still agree to buy them for $50.

Continue reading

RJMetrics Connectors for Dummies

It’s currently hour 23 of 24 for RJMetrics’ third hackathon, and I’ve officially built, tested, and deployed a brand new RJMetrics data connector on our beta Data Import API. It sucks down data from our marketing automation platform, Pardot, and updates my RJMetrics dashboards on an hourly basis.

This is exciting for several reasons:

  1. We now have a functional, close-to-release version of the Data Import API. This API will become the new standard for how data gets pushed to RJMetrics.
  2. The API is dead simple to integrate with. I am not a “real” developer and I was able to build an incredibly useful connector in 1 day using Ruby and deploying on a completely free Heroku instance.
  3. The dashboards that I use every day are now auto-updated without me having to lift a finger. This will save me several hours every week.

The Data Import API

We’ve kept our Data Import API a state secret to this point so as not to incite the mob—a lot of you have been waiting for this for a long time. But we’re close to launch, so I figured I’d let the cat out of the bag. Here’s the lowdown.

The RJMetrics Data Import API is an incredibly straightforward way to import data into your RJMetrics account. In fact, that’s all it does. Send it data, and it saves that data to a table in your account. Just make sure your data includes an ID field and is formatted as JSON and you’re good to go. Once you push data, it will become available for you to use in metrics and dashboards.

This means you can now integrate anything with RJMetrics. Customer support platform? Check. Inventory management platform? Check. CRM? Check. Custom application developed by Fred from your IT department? Check. Every aspect of your business can now be seamlessly integrated into your cloud business intelligence solution.

Building Your Connector

The logic of a connector is incredibly easy:

  • Identify a data source
  • Select all the rows
  • Push them to the Data Import API

The wonderful thing about this logic is that you don’t have to track what rows are new, old, updated, etc. Just push all the rows across. Our warehouse will match records by ID and perform inserts and updates as appropriate. Much less for you to worry about.

If you have many millions of rows in a given table, you may want to include logic to only push certain of those rows. The dataset that I was using was small enough that this wasn’t a concern.

Copy My Connector

If you develop in Ruby, you’re more than welcome to use my code as a starting point for developing your own connector. I wrote a (very) simple API wrapper that is bundled as a gem for easy inclusion. Include it in your gemfile by adding:

gem 'ruby_rjmetrics', :git => 'https://github.com/jthandy/ruby_rjmetrics.git'

Don’t feel like you have to use the gem, though. If you want to see how the API call is made, it’s really just 1 line:

The connector itself is a simple Rails app with no persistence layer, deployed on Heroku. There is a single controller for each type of data that’s responsible for getting data. The controllers are then called as rake tasks from the command line, allowing them to be easily integrated into cron (or the Heroku scheduler).

Again, feel free to steal all of the code, or use it as a jumping-off point. It’s quick and dirty, but it does the trick. Get it here.

If I can do it, you can too

I’m a marketer. I write some code every once in a while, but our developers here would never let me within a mile of the RJMetrics code base. So, when I say I wrote a connector, that means that you probably can too.

We’re now accepting applicants to participate in the closed beta of the Data Import API. If you’d like to participate, just contact support.

Introducing The Data Auditor!

The product team has a hot hand these days. Last month we released a completely reworked chart builder, this month we’re releasing the Data Auditor, and next month we’re releasing… Well, honestly, I can’t tell you yet. But it’s going to be good.

We’re really excited about getting the Data Auditor into your hands. From the very earliest days of RJMetrics, we’ve had questions from customers that would go something like this: “How did you get $xxx,xxx for your revenue number? We show $yyy,yyy in our database. Are you sure you’re pulling the right numbers?”

This is, of course, a very reasonable question. There’s not a lot of point in having a business intelligence tool if it’s not giving you accurate numbers. But what we found was that the problem was (almost) never one of accuracy, but rather one of data definitions. Different users would query their data differently, and this would cause confusion when they tried to validate what they saw in RJMetrics. After investigating for a while, we’d ask the customer whether or not they’d remembered to exclude sales tax from their revenue calculations. There would be an “Aha!” moment, and everyone would go home happy.


The problem? This process took a long time, both for us and for you. We’d prefer that you have a dead simple way to verify the accuracy of a given metric and to cross-reference it against your database.

And now you do.

The Data Auditor gives you everything you need to verify the accuracy of your data for every metric in your dashboard. Just choose a metric and a date to sample on, and we’ll show you the relevant rows from our warehouse as well as a query to run on your transactional database to replicate the results. If you’d like a full run-down, check out the help site.

Happy auditing!

The Hottest Chart Builder on the Planet

The RJMetrics team is excited today to announce the release of our newest feature: a completely revamped, overhauled, and downright sexy chart builder! We think our new chart builder is the hands-down easiest way to build a chart we’ve ever seen, with real-time previews of your data as you make changes in the editor. Select a metric, date range, chart type, filters, and groupings all within one simple, beautiful interface.

Screen Shot 2013-03-07 at 11.24.07 AM

The new chart editor is now live for every customer and trial user, and we’ve put together a quick walkthrough on our help site. Take a look and tell us what you think!