Scientists and engineers who work with high-density sensors face data problems that can make getting insights from data more challenging. Whether you’re trying to make sense of information from industrial devices living on the Internet of Things or monitoring health and fitness parameters, JMP provides an ideal sandbox for sifting […]
For the uninitiated, SAS 360 Engage enables organizations to interact with consumers by allowing them to create, manage and deliver digital content over web and mobile channels. Wait a minute. SAS does more than the analytics? That is correct. SAS 360 Engage is a marketing super force serving as a one-stop shop for data capture all the way through delivering highly-targeted, personalized digital experiences.
Being able to dynamically place content and offers into digital channels – across devices and points in time – is nothing new for savvy marketing brands focused on optimization. As customer journeys spread across fragmented touch points while customers are demanding seamless and relevant experiences, content-oriented marketers have been forced to reevaluate their strategies for engagement. But the complexity, pace and volume of modern marketing easily overwhelms traditional planning and design approaches that rely on historical conventions, myopic single-channel perspectives and sequential act-and-learn iteration.
Presently, marketers primarily use a variety of content optimization approaches that include A/B testing and multivariate testing. A/B testing, at its simplest, is a method of website or mobile optimization in which the conversion rates of two versions of a page are compared using visitor response rates. By tracking the way visitors interact with the content– the videos they watch, the buttons they click, or whether they sign up for a newsletter – you can infer which version of the content is most effective.
Due to the popularity of this technique, SAS 360 Engage supports A/B/n testing. A/B/n testing is an extension of A/B testing, where “N” refers to the number of versions being tested, anywhere from two versions to the “nth” version. For example, when a brand has more than one idea for what the ideal digital experience should be, A/B/n can be used to compare each hypothesis and produce an optimized decision based on data, not subjectivity.
Testing is attractive because it is efficient, measurable and serves as a machete cutting through the noise and assumptions associated with delivering effective experiences. In parallel, the evolving marketing landscape is driving a greater mandate for testing: to operate in more channels, handle more data and support more users. Testing must mature beyond traditional on-site experimentation to fully optimize a multifaceted customer journey.
The majority of today’s technologies for personalization have generally failed to effectively use data science to offer consumers a contextualized digital experience. Many of today’s offerings are based on simple rules-based segmentation to drive recommendations. Building off the benefits of multi-channel A/B/n testing, this is where SAS 360 Engage injects its analytical muscle to differentiate from other personalization technologies. Let's break this down:
- At the conclusion of an A/B/n test, there is usually a winner and one or more losers.
- Is there really one superior experience for your entire marketable audience? Is it possible that experiences should vary by segment?
The time has arrived for predictive marketing to have its moment in the sun, and with Forrester recently naming SAS the leader in customer analytics, it's official - the 800-pound gorilla in advanced analytics is locked in on solving complex issues facing the space of data-driven marketing. Making digital personalization more relevant for target audiences is just like preparing a delicious meal; it all comes down to the ingredients and preparation process to rise to the occasion!
A beautiful and interpretable visualization is generated highlighting what is unique about this segment, as compared to everyone else who was exposed to the test. If the brand wants to target this audience in future campaigns, a single click populates this segment in the platform for future journey orchestration.
If you look closely at the image, you will note in the upper half of the report that the winner of the A/B/n test is variant A. However, the lower half of the report showcases a newly discovered segment. It turns out that when a specific customer segment with recent purchase, stay and amenity activity interacts with this hospitality brand, variant B produces better results. How did SAS 360 Engage do this? By applying automated firepower (i.e. algorithmic clustering) to produce this prescriptive and actionable insight. To learn more about this segment, marketers can profile the audience:
SAS 360 Engage was built with the recognition that some marketing teams don't have data scientists available, and have real needs for analytical automation. To improve upon the concept of A/B/n testing, augmenting this capability with automated, algorithmic segmentation with prescriptive results addresses an important need. Let's assume you've run an A/B/n test with four versions of a page, and variant A was crowned the champion. Wouldn't it be nice to know that if a specific segment arrived at your website, an alternative experience would facilitate a better result?
When I attended my first SAS conference in 2003 I was not only a first-timer, I was a first time presenter. Needless to say I was a bit nervous. I did not know what to expect. Was my topic good enough for these savvy programmers and statisticians? Well my first time was an experience I will never forget. I gave my presentation to a relatively full room and I thought it went well enough, but I was shocked when I found out I got best paper in the section. Ever since then I have been actively involved with SAS conferences, whether presenting or helping as a conference committee member. After years of presenting and helping, I was asked to be the Academic Chair. I was beyond thrilled. But I won’t let the position stop me from actually presenting some material that I have found to be very helpful at this year’s Midwest SAS Users Group.
One of the things I do in my job is I look for functions that can help make my job easier. Once I find these functions, I like to research them and see how I can incorporate them into my programming to make it more efficient. This year at MWSUG I will share some of my findings via an e-Poster, “When ANY Function will Just NOT Do.”
The e-Poster illustrates the concept of what I like to refer to as the “ANY and NOT Functions.” Some of the functions in this group are ANYALNUM, NOTALNUM, ANYALPHA and NOTALPHA. Below are some snippets of code that show how some of these functions can be used to determine if there is an alphabetic character, a number or punctuation in the variable.
/* checks for first instance of ... */ alnum = anyalnum(value); /* alpha-numeric */ nalnum = notalnum(value); /* non-alphanumeric */ alpha = anyalpha(value); /* alphabetic */ nalpha = notalpha(value); /* non-alphabetic */ digit = anydigit(value); /* digit */ ndigit = notdigit(value); /* non-digit */ punct = anypunct(value); /* punctuation */ npunct = notpunct(value); /* non-puncuatation */
Want to learn more about these functions? At MWSUG this year you can see how they can be used along with other common SAS functions to extract numbers from a text string or how to build ISO 8601 dates.
So please join me at the MidWest SAS Users Group Conference October 9 – 11 at the Hyatt Regency in downtown Cincinnati, Ohio. Register now for three days of great educational opportunities, 100+ presentations, training, workshops, networking and more.
Hope to see you there!
MWSUG preview: When ANY Function will just NOT do! was published on SAS Users.
Leading up to the Analytics Experience conference, we're going to explore the big trends, hot topics and what's ahead in the industry with some of the companies leading the way. I had the chance to interview David Septoff, CEO of Zencos to get his take on what you need to know about […]
Have you ever wanted to include data in an analysis without having to subset it from different tables and put it all together in a new table? Have you wanted to “see” how your data will come together before committing to joining many tables to make sure you get it […]
With the analytics skills gap and rise in big data, there’s never been a better time to study analytics. In this series, Students in Analytics, I’ll interview several students and recent grads about why they’re pursuing degrees in analytics. Jason Bentley is a PhD student at the University of Sydney. […]
Some organizations I visit don’t seem to have changed their analytics technology environment much since those early days. I often encounter companies with 70s-era base statistical packages running on mainframes or large servers, data warehouses (originated in the 80s), and lots of reporting applications. These tools usually continue to work, […]
First, if you landed on this topic because you encountered this SAS message:
ERROR 180-322: Statement is not valid or it is used out of proper order.
...then I'll tell you right now: you've probably left off a semicolon in one of your SAS statements. If you're lucky, the SAS log will show you where it happened by highlighting the offending line with the "180" error number:
create table f as select * from sashelp.class; ______ 180
Punctuation is important in any language. (Recommended reading: Eats, Shoots & Leaves: The Zero Tolerance Approach to Punctuation.) It's especially important in a programming language like SAS, where semicolons are the only way that SAS can determine where one instruction ends and the next one begins.
So why doesn't SAS just say, "Hey buddy -- you're missing a semicolon!" ? The reason is that there are other potential causes for this message. For example, if you drop in a statement that SAS just doesn't understand -- or doesn't understand in the current context -- then the error message "Statement is not valid or it is used out of proper order" pretty much says it all.
But I was curious about the error number: 180-322. Where did that come from? To find out, I had to step into the SAS Wayback Machine.
Error numbers are historical
At SAS, the "Wayback Machine" is personified in Rick Langston, a 35+ year SAS employee who is the main steward of the SAS programming language. I asked Rick about the origin of the error number 180-322, and he immediately logged in to SAS 82.4 to check the behavior.
That's right: He ran SAS 82.4 -- as in, the version of SAS that was available in 1982. He didn't even have to climb into his DeLorean and drive 88MPH. We actually have SAS 82.4 running on a mainframe at SAS. Here's the log from Rick's syntax error test:
1 S A S L O G OS SAS 82.4 MVS/XA JOB SAS824 STEP SAS NOTE: THE JOB SAS824 HAS BEEN RUN UNDER RELEASE 82.4 OF SAS AT SAS INSTITUTE DEV NOTE: CPUID VERSION = 00 SERIAL = 035EA6 MODEL = 2964 . NOTE: SAS OPTIONS SPECIFIED ARE: SORT=4 1 DATA TEMP; X=1; BLAH; ____ ERROR: 180 180: STATEMENT IS NOT VALID OR IT IS USED OUT OF PROPER ORDER.
While Rick couldn't tell me why the number was set to 180 originally, it's clear why it's there today: legacy. Automated processes depend on error codes, and you can't go changing those error codes after a world of SAS users begin to rely on them. Maybe the "180" is a reference to "180 degrees," as in "turn around and look behind you: you forgot a semicolon!"
The second part of the error code, "322", indicates a grouping of related syntax error messages. Here is a sample of other messages that you'll encounter with the -322 suffix:
75-322 Syntax error, expecting one of the following: <expected keywords> 76-322 Syntax error, statement will be ignored. 77-322 The statement is being ignored. 181-322 Procedure name misspelled. 216-322 No simple repair for the syntax error. The statement is being ignored.
That last one is my favorite but I've never seen it in action. I wonder what sequence of statements would coax the "No simple repair" message into your SAS log? If you can make it happen, let me know in the comments. (It sounds like my approach when my family asks me to fix something around the house. "No simple repair -- so IGNORE." Not recommended, by the way.)
Where to learn more about ERROR and WARNING messages
If you're just getting started with SAS programming, it's a good idea to learn how to interpret the SAS log messages. Here are some papers that help:
- What's That Note/Warning/Error Mean and How Do I Fix It? by Deb Cassidy
- The top 10 errors, notes and warnings that prompt DATA step programmers to call SAS Technical Support, by Kim Wilson
- SAS Macro Errors: the Answers You're Looking For, by Russ Tyndall
- Deja-vu All Over Again: Common Mistakes by New SAS Users, by Bruce Gilsen
Have you ever wondered how far you live from the closest nuclear power plant? I've crunched the numbers for cities here in the US, and created an interactive SAS map to help answer that question! The average age of US nuclear power plants is 35 years, and there just doesn't […]
Two years ago, I found myself the proud, first-time owner of a garage. My wife and I quickly started to add new items to the garage – a battery-powered lawn mower, two beach cruisers and four Tommy Bahama beach chairs. They were stored with ease. What a fantastic world I'd been missing out on. But it wasn't long before we outstripped our […]
The post What can a garage storage system, kayak and surfboard teach you about data modernization? appeared first on The Data Roundtable.