Rhiza Blog Blog

Introducing the Rhiza Ratio!

At Rhiza, we know that the best way to use data in a compelling way is to tell a story. But before all of that, you need to form a hypothesis, pull the numbers, run analysis, and then confirm or reject your hypothesis based on the conclusions reached.

While we have posts on our blog that do all those steps to tell a compelling story, and our customers use the Rhiza Platform tool to do that everyday, the Rhiza Ratio is an opportunity for you to explore data around interesting data points and current events so you can then draw your own conclusions. We’ve used our tool to quickly wrangle the data, but we leave it up to you form your own to ask follow up questions and draw your own conclusions.

With our inaugural Rhiza Ratio, we looked into the car brands that have consistently advertised during the Super Bowl over the past five years (Audi, Honda, Kia, and Volkswagen), and their market share four months after the game.

Again, rather than creating a hypothesis and drawing conclusions for you, we’ve provided the data so you can create your own story. Because the less time you spend pulling all your data together, the more time you can spend analyzing, exploring, and crafting your story.

Check out this month’s Rhiza Ratio.

Rhiza Ratio

Is there data you’d like to see to help build your story or ideas for a future Rhiza Ratio? Leave us a comment down below.

Pittsburgh’s Tech Startup Scene – The Atlantic Magazine


“Pittsburgh has one of the liveliest technology ecosystems in the country.”

With all the hustle and bustle of the past holiday season, you may have missed a great article in The Atlantic about ‘How to Create a Tech Startup Scene If You’re Not in Silicon Valley‘ (say it ain’t so!) – which shines a spotlight on Rhiza’s very own hometown: Pittsburgh.

The entire article was, in fact, all about how Pittsburgh’s vibrant startup scene sets a great example for other cities. At Rhiza, we know the importance of having a dynamic and supportive startup community, which is why we’re proud to call Pittsburgh our home.

Rhiza’s Resolutions – 2015


As we begin the new year, many of us continue the annual tradition of making New Year’s Resolutions. While we all might have personal New Year’s Resolutions – to stay fit and healthy, to lose weight, to enjoy life to the fullest, or to spend less, save more – you should also start thinking of your business resolutions.

And there’s one resolution in particular we think you need to make: Start using your data.

Almost every organization that’s worth its salt has been collecting data, so much so that organizations and industry mavens now reference their “big” data, but very few are using that data effectively and at scale to solve real-world business challenges. Most of the time we hand over all of this data to our IT Department or the Business Intelligence Department. Are they really the ones you want creating your business presentations and visualizations? Data needs to be in the hands of the people on the ground, the ones who actually know the business and make decisions – executives, managers, and sales and marketing teams – not the quants and researchers who never let data out the door.

The idea of giving data to decision makers is not a new one, but adoption has been slow. That makes sense because most syndicated data is hard to set up and use, while enterprise data tools are even worse. According to a 2013 report by Accenture, only one in four executives uses data to make decisions. The other three use their gut instinct. And the numbers are even worse for Sales and Marketing. This absolutely needs to change in 2015.

So how do we get the people who actually understand the business to use data to inform their decisions? We need tools that are easy to use and understand, tools that present data in a way anyone could use. Find the right tools at Rhiza.com or give us a call at 412-488-0600 – we’d be happy to give you a demo.

Rhiza CEO talks Big Data


We have all heard of Big Data. You must have been living under a rock for the past 5 years if you have not heard the phrase. And if that’s the case, you surely have many more important things to get catch up on. I suggest starting with Modern Family.

But now that we have Big Data, what are we going to do with it? How can we make smart, informed business decisions? Rhiza CEO, Josh Knauer, sheds light on how we can actually start making sense of big data. And taking action. And making smart business decisions that impact the bottom line. Check out his interview in the current issue of teQ Magazine.

Pittsburgh Saves Christmas


On Thursday of last week, news broke that several local charities were coming up short to provide holiday cheer for hundreds of kids throughout the region. Word spread fast and the response was swift and immediate. Links showed up in my Facebook feed repeatedly as friends of friends of friends reached out for help and resources.

Obviously, toys under a Christmas tree from some Guy Named Santa aren’t necessarily in the same category as food on the table and roof over your head. Many people don’t even celebrate That Guy. But these are the holidays, and whatever you celebrate, there’s some miracle woven in there somewhere. And surely good will towards our fellow humans and joy are things we can all get behind, right? Right. And Pittsburgh got behind it in a pretty big way. Like Steelers-Nation-yes-I’ll-be-your-neighbor kind of big.

A Facebook group and Crowd Fundraising Campaign was started to create a virtual base of operations with requests and responses growing by the hour. I mentioned the story to several co-workers who immediately opened their wallets to chip in without waiting to see if I was even asking for contributions. On Saturday my kids and I delivered the contributions to Most Wanted Fine Art, an art gallery turned Santa’s Workshop, and spent a few hours helping to sort and pack. The phones didn’t stop ringing and people kept showing up with gifts and money to contribute to the cause. We learned of more groups who were coming up short, and people just stepped up their efforts even more. What started as toys grew to include a holiday meal and handwarmers for homeless youth.

As of Monday morning, it looks like well over 2000 families received some holiday cheer from hundreds of neighbors through the ‘Burgh. In a matter of days, more than $10K was raised on top of the toy contributions. And since it’s only December 22nd, the work continues, and the seeds have been planted to leverage these pathways to continue to provide much-needed resources in 2015.

In my own flurry of last minute holiday scrambling and end-of-year work deadlines, I’m filled with gratitude. I’m grateful that I work with the kind of people who will dive into an effort like this without being asked. I’m proud to live in a city where a call for help doesn’t go unanswered. I met so many amazing people both virtually and in-person this weekend, and I feel lucky to be a small part of it.

Tech Talk: Performance enhancement & map layers

Propagating events through element layers as rendered in page.

The Rhiza blog takes a turn toward the technical, with a post this week by senior software engineer Matt Pickell. Check out his particular mapping challenge, which includes insight into problem solving, failing fast, and (delicious) shish kabobs.

I am currently working on a project involving Mapbox and Leaflet. As part of a performance enhancement feature I was implementing I came across an interesting issue on event handling in the map layers.

I am using D3 to implement a light-weight custom Leaflet layer to better handle large FeatureCollections. From the server I receive a GeoJSON FeatureCollection of features that includes shapes, markers, and text that I need to render to the map. In my custom layer the different feature types in the collection need to be placed into different map panes (overlay, markers, and popup panes) to maintain the proper layering. These “panes” are implemented as sibling DIVs as oppose to being in a tree layout.

Depending on the purpose of the map, any one of these layers can be enabled to accept click events (and possibly more than one). The issue I encountered was that only the top layer would actually accept the click — this layer typically being the marker or text. If that layer was deemed “un-clickable” then nothing would happen because the event propagated up the DOM tree and not to the sibling “panes.”

What I need to handle is passing this event to all of the sibling panes to see who could handle it. But I cannot just broadcast it! I need to pass it to the panes in the order they are rendered on the page and only to each pane’s feature located at the exact mouse-click position.

Some background…

In mapbox maps there is an overlay pane for adding new overlay shapes, like polygons. There is also the marker pane, for things like “pins” on point locations. There are still other panes, like “popups” for additional items. Because these panes are sibling divs and not hierarchical event handling can be tricky.

The FeatureCollection I receive can contain features mapping to 1..n of these panes. So what I can end up with is multiple overlapping features on a map — e.g., a shape, a marker (or more) on that shape, and a text label on that marker. These features know nothing about their layer or other features, but do contain information in their properties so I can determine if the feature is clickable.

Because the layers are actually laid out in the DOM as absolute-positioned sibling ‘div’ elements I cannot use the browser’s event propagation. What I need for my situation is information about the stack of elements as layered on the page by the renderer at the X/Y point of the mouse click. An example of what I mean by the “layers” of the DOM elements is nicely displayed in the picture below.

Element layers as rendered on the Google home page.

Element layers as rendered on the Google home page.

I took this screen shot using a cool Firefox plugin called Tilt, although I found out after I installed it that the Firefox Dev Tools already has it built in as “3D View.” Because everyone is familiar with it, I used Google’s homepage to illustrate stacked DOM element layers as I am working with such layers on the map. The actual map did not illustrate this as well since the Tilt plugin was not splitting out SVG trees into layers.

To propagate the event the way I need to do it, I need to dig through these layers from top-to-bottom at the coordinates of the mouse click regardless of how these layers are represented in the DOM tree — CSS can move them anywhere. It’s like driving a skewer through the page at the point of click and then peeling back the shish kabob of features until I get to the one that can process the event.


A solution emerges…

It turns out there is a very useful document function for this called document.elementFromPoint(x,y). This function will take an X/Y coordinate and return the element first encountered at those coordinates. This is great, but I already know the first encountered element… it’s the one in the event that is triggered when the mouse click occurs. So this alone does not help much, especially because it is only available on document and not sub-elements in order to process sub-trees. But, it is a start…

So digging deeper I found that I could manipulate the results of the elementFromPoint function using very simple CSS! When an element has the style “pointer-events: none,” click events pass through the element to whatever is next behind it. This style alone could solve this issue sometimes if you are able to throw it around multiple places, but in the case of creating a custom layer I need to be more surgical so I don’t affect other layers that may be added to the map. When this style is on an element, it is also skipped by the elementFromPoint function!  

Aside: Another page on QuirksMode.org says you can do this with “display: none” as well, but that would change the page visually…

A happy merging of these two ideas and a dose of recursion solves the problem. All of the features I add to the page have a click handler that routes the click to a special function that does the following:

  1. Get the elementFromPoint from the X/Y coordinates in the mouse event.
  2. Check if this element is:
    1. one of my features, which means it contains data (i.e., a “__data__” property) and has a key/value attribute I put on the element specifically for matching.
    2. clickable (a separate function to determine this based on whatever…)
    3. a child of some baseline element that I know all of my elements are inside. This is to fail faster instead of parsing a lot of the page I don’t care about. The base element for me, inside the mapbox map, is an element classed with ‘.leaflet-objects-pane’.
  3. If it all tests in #2 pass, return this element and pass it and its data (remember in D3 this is the element.__data__) off to the real click handler.
  4. If the tests in #2 fail, either return null (if i’m outside of my base element) or add the “pointer-events: none” style to the current element and call this function again recursively. The current element is added to an array of “passed over elements” so that we can come back later and remove this style. In order to not break the page, maintain the prior value of this style if there was one.

This loop continues until we either find an element that will handle the event or we are outside of the base element.

The last important step before returning from this function is to iterate over the “passed over elements” array and revert the “pointer-events: none” style.


Here is the implementation as a member in the custom layer class, a little generalized for clarity.

_digForElements: function keepDigging(evt, passedOverElementsFromLast) {
            var layer = this
                  jMapPane = jQuery('.leaflet-objects-pane');
            if (!jMapPane) return null;

            var baseElement = jMapPane[0]
                attr = 'data-d3layerkey',
                attrVal = layer._layerId,
                passedOverElements = passedOverElementsFromLast || [],

            element = document.elementFromPoint(evt.x, evt.y);
            if (element && jQuery.contains(baseElement, element)) {
                jElement = jQuery(element);

                if (jElement.attr(attr) && jElement.attr(attr) === attrVal &&
                    _.isObject(element.__data__) && layer.options.isSeriesClickable(element.__data__)) {
                    firstFound = element;
                } else {
                    existingCssValue = jElement.css('pointer-events');
                        element: element,
                        previousCSSValue: existingCssValue === 'auto' ? '' : existingCssValue;

                    // Add style to it so that elementFromPoint bypasses it next time.
                        'pointer-events': 'none'

                    firstFound = keepDigging.call(this, evt, passedOverElements);

            // clean up all elements we added classes to.  Also, end a sentence with a preposition.  done.
            var info;
            while (passedOverElements.length > 0) {
                // It did not have it before or it would not have come up in the search...
                // so remove it again.
                info = passedOverElements.pop();
                    'pointer-events': info.previousCSSValue

            return firstFound;
     by Judd Poeske   Blog   1 Comment

Rhiza Leadership Team Grows


Last month two all-stars joined the Rhiza leadership team, bringing their unique start-up experience, industry vision, and corporate resolve to our Pittsburgh headquarters.

Zachariah Sharek, our new SVP of Data Strategy, joined us from Civic Science. Zach recently completed his PhD in Organizational Behavior and Theory from Carnegie Mellon University’s Tepper School of Business. His research in judgment and decision-making and behavioral economics has been discussed in the Wall Street Journal, LA Times, Financial Times, Business Week, and USA Today. Zach’s ready to blaze new trails in our data partnerships with Acxiom, Nielsen, Rentrak, Kantar, Experian, comScore, Polk, and dozens more.

We also welcomed a new Director of Finance, Laurie Hochberg. Laurie was most recently the CFO at M*Modal during their successful acquisition and subsequent IPO. She holds a BS in Accounting from Clarion University of Pennsylvania and is a certified CPA. At Rhiza, Laurie will be responsible for directing financial and accounting duties, accounts payable/receivable processing, financial reporting, and she will lead budget and forecast creation.

We’re excited to have Zach and Laurie join the Rhiza team, bringing with them tremendous perspective, polish and passion. We’re now 25 strong, and every single employee contributes to our product vision, our customers’ satisfaction and our shopping-list for snacks in the company kitchen. Sound like an exciting place to work? We sure think so!

We’re hiring awesomely smart and fun people. Check out our careers page to apply.

[vimeo 113929604]

Rhiza Wins Again!

Smart 50

Our very own Josh in the bottom left corner.

It’s satisfying to know that hard work pays off, so we were excited to receive further validation of our efforts this week. Wednesday night Rhiza CEO Josh Knauer was inducted into the inaugural class of Pittsburgh’s Smart 50 presented by Chase. Josh was recognized for his leadership, innovation, and impact on the Pittsburgh community.

The inaugural class is an impressive group - executives from healthcare to energy to manufacturing to services, the Smart 50 is a who’s who of the most impactful and inspiring business leaders in the area, and we’re proud to be recognized as one of the few software companies, and even fewer start-ups, to receive this honor.

We’re growing our team and looking for passionate people who will have an impact on day 1. Visit our careers page to see if we’re currently searching for a candidate just like you.

Talk Data to Me

Strategy Session

Josh Knauer from Rhiza and Matt Murphy and Rachel DiCola from Gamut strategize before their talk. Photo courtesy of Pittsburgh PTC.

At Rhiza, we understand Mo’ Data means Mo’ Problems. That’s why we strive everyday to make Notorious B.I.G. Data Smalls. That’s why we were so excited to co-sponsor the “I Love When You call me Big Data” Conference with the Pittsburgh Technology Council last Thursday, November 6th, 2014.

During the conference, we heard talks on a wide array of big data trends, problems, solutions, and best practices. From IBM’s supercomputer Watson helping cure cancer (bringing us one step closer to the eventual singularity) to how Major League Baseball can optimize its schedules, Big Data is alive and well in Pittsburgh.

Longtime Rhiza customer Rachel DiCola from Gamut presented as a featured speaker. She spoke about how the Rhiza platform changed the way Gamut sells with Big Data, surpassing her sales goals for 2014 within 6 months! You can read a bit more about Rachel’s presentation in CMSWire’s coverage of the day: Love Fest for Data… in Pittsburgh.

We even got to hear from our very own Rhiza CTO, Mike Higgins, who described the need to embed storytelling into Big Data narratives. For without a cohesive story, all you got is Mo’ Problems with Mo’ Data.

All in all, a great day for data lovers.

The Future of Data Marketing

A few weeks ago, Rhiza CEO Josh Knauer spoke alongside other data industry heavyweights on the Data Congress panel at AdWeek XI hosted by Rachel DiCola from Gamut and sponsored by Verizon’s Precision Market Insights.

After the congress, we spoke with panelists Rick Erwin – President of Experian Market Services’ Consumer Insights & Targeting, and Aastha Parikh – Director of ComScore Telecom & Technology, about the future of data-driven sales and marketing.

“The people in all of our companies are going to become closer than they are today to being data scientists.” -Rick Erwin, President Consumer Insights & Targeting at Experian Market Services

With the exponentially growing amount of data on consumers, many companies feel overwhelmed by the titanic task of collecting and decoding these bits. But just as the amount of data is growing, the sources of data and expectations for impact is also in flux. So what does the future of data driven sales and marketing look like? How can organizations make sure that they’re ready for massive data? How does consumer privacy change factor into the equation? How do we distill millions of data points into the most salient, convincing story? Join in the discussion.



Want to schedule a demo?

Get in touch with us and we’ll be happy to set up a time.