Meet our new working student Antonia

Antonia has joined our team as a working student for Public Relations and Marketing in August. To give you a better impression of her we asked her to answer our questionnaire for new team members.

What have you done before joining us?

I am studying social economics with the focus on sociology and I worked for an Italian Restaurant for three years.

What are your responsibilities at Akanoo?

I am responsible for tasks related to Public Relations, Marketing and HR  for example, to find new employees or prepare event applications. Also, I am responsible for the Social Media channels and keep our followers updated about what is going on at Akanoo.

What do you enjoy most about your work?

That Akanoo has a team which is young and dynamic.

And what do you usually do after work?

Meet my friends, go the basketball training, see my family.

Which colleague would you take with you to a lonely island and why?

I think I would take everybody with me. They all have their own character and abilities to contribute to the team.

Which attraction/part of Hamburg do you think you should definitely visit and why?

I think the city park because you can do a lot of different activities there, like swimming or just drink a coffee.

Which apps could you never do without and why?

It depends on the occasion, sometimes it is the car2go app when it is late and raining, other times it also can be Facebook when I want to check what my friends are doing.

These blogs/websites belong to my daily reading:

  • Instagram
  • Facebook.com
  • Spiegel Online
  • Pinterest.com

On the web you can find me here: LinkedIn 

Meet our new working student Kevin

Kevin has joined our team as a working student for Pre-Sales in June. To give you a better impression of him we asked him to answer our questionnaire for new team members.

What did you do before you came to us?

In fact, the same as now – study and run my own business.

What are your responsibilities at Akanoo?

My responsibility is to talk to customers and find out if our service can help them to increase their revenue.

What do you like most about your work?

The team is really great. It is less “just a job”, but more fun to work with everyone. Everyone helps each other and it’s a nice atmosphere.

And what do you usually do after work?

Usually also work, but I equally like to go out with friends, read, go to the cinema and do athletics.

Which colleague would you take with you to a deserted island and why?

Actually, I would make a lottery, because I like everyone alike.

What attraction / part of Hamburg do you think you should visit and why?

Depends why and when – but now in the summer I would recommend Planten& Blomen before and at sunset.

What apps can you never do without and why?

Actually the Google app because I have access to all the information at any time.

On the Internet you can find me here: Xing

New customers for Akanoo Onsite Marketing: Eterna

We are happy to welcome Eterna as a new customer for Akanoo Onsite Marketing. Eterna is a fashion label with a long tradition. Since 1863 Eterna has been selling high-quality shirts and blouses. Today, the company is the European market leader with a yearly revenue of about 101.7 million Euro.

We are looking forward to helping Eterna generating more revenue with personalized onsite campaigns!

New Data Insights Case Study with Deichmann published

We are happy to announce that a new case study with our client Deichmann is available for download now. The case study shows you how Deichmann, a European market leader in the footwear retail sector, uses our Data Insights benchmarks to optimize its online shop and thus increase its conversion rate and revenue.

Akanoo Insights analyses more than 70 million shop visitors per month for its customers and based on this data identifies for every shop the most promising avenues for onsite improvement. The case study with Deichmann gives you a deeper understanding how such improvements look like.

You can read and download the Deichmann case study here: http://akanoo.com/casestudy-deichmann

We thank Deichmann for the successful collaboration and we are looking forward to identify even more optimization potential in the future.

How to run JavaScript QUnit Tests upon Deployment using Jenkins & PhantomJS

Check out the first part of the JavaScript Testing Series: Unit Testing Self-Invoking JavaScript Functions

Unit Testing is great. However, the real benefit of unit testing is only achieved when the tests are run before each deployment. In continuous integration (CI) it makes sense to run the tests automatically in the CI tool.

At Akanoo we are using Jenkins which can be extended by various plugins for several use cases. Unfortunately, there is no plugin for QUnit test results. So we have to utilize the existing plugin for JUnit. Two steps need to be done:

  • Find a way to run the tests in Jenkins.
  • Find a way to output the QUnit results as JUnit results.

Running QUnit Tests in Jenkins

Jenkins offers no service to open web pages upon deployment. I didn’t know of any plugin that offers such a thing. So I went out googling. I found a guide in the repository of the HTML5 boilerplate on how to set up QUnit with Jenkins that suggested to use PhantomJS with a QUnit test runner.

Following that lead, the first thing I did was to download PhantomJS and try to run my test HTML file locally. PhantomJS can only run JavaScript files, so I needed a test runner. I took a look at the one mentioned above but found it a little too bold for our needs, so I came with my own solution.

var system = require('system');
var fs = require('fs');
var page = require('webpage').create();

// argument 0 is always the file which is called (this)
if (system.args.length === 1) {
    console.log('Pass the path/to/testfile.js as argument to run the test.');
    phantom.exit();
} else {
    // path is relative to where phantomjs is started
    var url = system.args[1]; // e.g. 'test/unit/tests.html'
    console.log("Opening " + url);
}

page.open(url, function (status) {
    console.log("Status: " + status);
    if (status === "success") {
        setTimeout(function () {
            var path = 'results.xml';
            var output = page.evaluate(function () {
                return document.output;
            });

            fs.write(path, output, 'w');
            console.log("Wrote JUnit style output of QUnit tests into " + path);

            console.log("Tests finished. Exiting.");
            phantom.exit();
        }, 3000);
    } else {
        console.log("Failure opening" + url + ". Exiting.");
        phantom.exit();
    }
});

What does the runner? It takes an argument with the path to the HTML QUnit test file that is to be opened by PhantomJS. If the argument is missing, we can use console.log() to print the result into the console running PhantomJS. The main part of the script opens the page. If the given file doesn’t exist an error message is logged and PhantomJS terminated. If the file can be opened the JavaScript variable document.output of the test page is evaluated and written into a file called results.xml. The evaluation is done after a timeout of three seconds – the time the tests never exceeded on my local machine.

Output QUnit Results in JUnit Format

In the next step we need to make sure the QUnit results can be interpreted by the Jenkins JUnit plugin. Luckily, there is already a plugin for QUnit to produce the results in a JUnit-style XML report. I installed the plugin and configured it to write the results in the document.output variable that we’ve already seen in the PhantomJS runner above.

The current setup is running fine on my local machine: PhantomJS is installed, can be started via shell to execute the runner script, opening the QUnit test HTML file and saving the JUnit-style report into results.xml.

Creating the Jenkins Pipeline

Let’s make sure the job is also running in Jenkins. At Akanoo, Jenkins lies inside a docker image, so I edited the Dockerfile to download and unpack PhantomJS. Use the correct version (32bit or 64bit) — I first used 32bit on a 64bit machine and wondered why it didn’t work. Make sure to add PhantomJS to your PATH variable.

Jenkins allows by default to define multiple build steps for one build. But we want to achieve that the full build is terminated as soon as one step fails. Jenkins offers the Pipeline plugin to define multiple stages of a build. So I installed the pipeline and the JUnit plugin and restarted Jenkins.

I have configured several stages in the pipeline:

  1. Checkout the latest version of code from Git.
  2. Run the tests in PhantomJS, archive the test results and report results to the JUnit plugin.
  3. Build, if the previous step didn’t fail.

To make the build fail if an error in the unit tests occured, we can utilize a try-catch-block. The Groovy script in the pipeline also allows to run shell scripts which we need to run PhantomJS. I came up with the following script:

node {
    stage('Version Control') {
        // checkout the latest version from Git
    }
    stage('Test') {
        try {
            // run PhantomJS
            sh 'cd ${JENKINS_HOME}/path/to/unit/tests && phantomjs phantomjs-runner.js tests.html'
 
            // move result file into workspace
            sh 'mv ${JENKINS_HOME}/path/to/unit/tests/results.xml ${JENKINS_HOME}/workspace/${JOB_NAME}'
 
            // archive test results with relative path from ${JENKINS_HOME}/workspace
            step([$class: 'JUnitResultArchiver', testResults: '**results.xml'])
 
            // report to JUnit with relative path from ${JENKINS_HOME}/workspace
            junit '**results.xml'
        } catch(err) {
            throw err
        }
    }
    stage('Build') {
        // I would build now if the test didn't fail
    }
}

Let’s discuss the script line-by-line. At first, we have the Version Control stage. I assume you know how to checkout from Git. You may also omit this stage if the script is stored on the same machine as Jenkins.

In the Test stage a shell script executes PhantomJS with two parameters: the phantomjs-runner.js file we discussed above and the QUnit HTML test file. The results of the test are stored in a file called results.xml in the same folder the tests lie in. In the next line we move it into the Jenkins workspace of the current job. The step command is used to store the test results using the JUnitResultArchiver to be able to analyse the results of all tests later. We also send the results to the JUnit plugin to check for errors. This step will throw an exception if errors are found that is caught by the try-catch-block and re-thrown to stop the build before starting the Build step.

In the Build step the actual build would run. This step depends on what you want to achieve. In our case we run a Groovy script.

Conclusion

We managed to configure a Jenkins build pipeline that checkouts the current version from Git (or any other version control system), runs the QUnit tests in a PhantomJS headless browser, returns the test results in JUnit-style format, archives the results and only builds if the tests were successful.

It took me a couple of hours to figure out the single steps and bring everything together. I hope you found this useful. If you have any questions or ideas for optimization, please leave a comment below.

Meet our new Senior Corporation Manager Monica

We are happy to welcome Monica as part of our Sales team. In her interview, she will tell you a bit more about her background, her responsibilities at Akanoo and what she is doing in her free time:

What have you done before joining us?

After studying Architecture/ Design and later Electrical Engineering at NYU, I landed at Mühlbauer AG as a Sales Engineer and then followed the same Sales path for the past 12 years. Moved back to Germany in 2010, after 3 years working at Oracle and have worked for Dell/ EMC, Mailjet and Webtrekk in Munich, Paris and Berlin before joining Akanoo.

What are your responsibilities at Akanoo?

I’m the Senior Corporation Manager at Akanoo meaning the Sales point to our major target markets DACH and also responsible for expanding Akanoo internationally and winning new great customers.

What do you enjoy the most about your work?

I love Sales and have been expanding German, French and American companies in Europe, North America and also MENA. Sales is very emotional to me and I love offering Akanoo solutions to companies that struggling with communicating to their non-buyers and help turn them into buyers and increase their turnover.

And what do you usually do after work?

Yoga, Kick-Boxing, Jogging, Fashion and Interior Design, I believe I am a little bit of both intro- and extrovert and always try to keep the balance by spending some quiet time drawing sketches, reading books and watching movies!

Which colleague would you take with you to a lonely island and why?

I’d take Gwen with me, we will talk only in French so that I can remember some forgotten French language skills of mine ;-), She’s very patient with my French and a perfect teacher!

Which attraction/part of Hamburg do you think you should definitely visit and why?

As an architect/ designer myself, I am very looking forward to visiting Elphi (Elbphilharmonie) as it is one the largest and most acoustically advanced concert halls in the world. And of course the chocolate museum (yam yam yam)!

Which apps could you never do without and why?

I can’t live up without my online banking Sparkasse, Facebook, Instagram, Twitter, WhatsApp, Telegram apps.

These blogs/websites belong to my daily reading:

Twitter, Facebook & Insta, Online Marketing, Internet World, …

On the web you can find me here:

LinkedIn

New case study with Bricozor published

A new case study in cooperation with our client Bricozor is available for download. The case study shows how Bricozor, a French online retailer specialized in selling more than 40,000 DIY products, has increased its revenue with personalized on-site campaigns.

You read and download the Bricozor case study here: http://akanoo.com/casestudy-bricozor

We thank Bricozor for the productive collaboration and we are looking forward to many more successful campaigns.

Meet our new intern in the sales team: Mathieu

Mathieu has joined the Akanoo team as an intern in our sales department recently. In his interview, you can find out more about him and his motivation to join Akanoo:

What have you done before joining us?

Before joining Akanoo I did other internships as a salesman and tried to study foreign languages at university. The internship at Akanoo is part of my international trade studies. I’m normally living and studying in France.

What are your responsibilities at Akanoo?

Acquiring new customers for the French market.

What do you enjoy most about your work?

Discovering the e-commerce world, new technologies and contacting professionals.

I love listening to stories from my colleagues and learning new things from them.

And what do you usually do after work?

Improving my German knowledge for sure, working on my internship report, visiting Hamburg, shopping, watching series and videos on YouTube.

Which colleague would you take with you to a lonely island and why?

I think Gwen because she speaks French and I could learn and practice German and English, too! How great is that?

Which attraction/part of Hamburg do you think you should definitely visit and why?

I don’t know Hamburg yet, but I visited St. Pauli-Landungsbrücken and everything related to the sea is relaxing and beautiful to me.

Which apps could you never do without and why?

Google Maps, because I’m easily lost and Messenger and Whatsapp to stay in touch with my friends and family.

These blogs/websites belong to my daily reading:

I read a lot of different blogs and websites about technology, politics, economics, internationals but my favorite ones are the entertainment websites and blogs. It’s a kind of my guilty pleasure…

On the web you can find me here:

LinkedIn

How we guarantee continuous development and transparency at Akanoo

No matter how good a software is, there are always opportunities to improve it. At Akanoo, we apply Scrum methods to improve our workflow and software continuously.

Scrum is an agile software development framework that is designed to deliver new software updates every two to four weeks. As a young company with a heterogeneous team of Data Scientists, Programmers and Developers, not all Scrum methods are applicable for us. That is why we only use some selected Scrum methods and adapt them to our workflow. We mainly use the following two methods:

Creating transparency with Daily Standups

Every morning the Tech team meets for a Daily Standup. The meeting usually takes about 5-10 minutes and kicks off the working day. If desired, members from other teams can attend the meeting.

The aim is to create more transparency about the tasks the team members are working on. Therefore every member answers the following three questions:

  1. What have I done yesterday?
  2. Has anything stopped me from doing it?
  3. What will I do today?

Improving our workflow with Sprint Retrospectives

Compared to the Daily Standups, a Sprint Retrospective is a recurring meeting to reflect on the work that has been done since the last retrospective. At Akanoo, the Tech team does a Sprint Retrospective every three weeks. The purpose of the meeting is to improve the entire development process.

To that end, we firstly identify what went well, what went wrong and what could be done differently to improve. Changes that result from this meeting can range from small adjustments like organizing tickets in a different way, to large changes that affect the whole company, like realizing the necessity for a new position in the company.

It is important that the attendants can express their views freely and without judgement. Therefore, only the team members are allowed to attend the meeting. To create a relaxed atmosphere where the team members feel free to openly express their views, we try to make the retrospective a bit different each time. For example, sometimes it can take place outside in the open air or in a neighbouring coffee shop. In the end, we create a bonding of team members and identify challenges in an early stage.

You can find further information about Daily Standups and Sprint Retrospectives on scrumalliance.org or dzone.com.

How will personalisation in e-commerce look like in the future?

Certainly, we all came across some individualized product recommendations on Amazon or a personalized welcome message in our favourite online shop. But how will the future of advertising look like? The PR agency Frau Wenk has asked this question and invited us to give our opinion within the framework of their blog carnival.

Akanoo serves big online-shops and is in constant exchange with new prospects, partners, consultants and technology providers. We put together the recent and most relevant feedback which answers the question:

How will personalisation in e-commerce develop in the next five years?

Gwen Sahmoune, Country Manager France: “For me, the personalization will be through recommendations and marketing segmentations (what kind of persons are we targeting and offer proper items to this kind of persons). There will be less chatbots and display advertising. Chatbots because people are waiting for real persons to speak to. No robots and display advertising because users get irritated of the mass advertising. So I think users are waiting for advertisement to help them find what they’re looking for and not getting on their nerves.

A study from Netwave show that 64% of the users are expecting promotion as personalisation, 45% recommandations, 25% recommandations of articles in relation of what they previously bought and 26% content in relation of their search and expectations.”

Moritz Schott, Founder & Head of Sales: “Personalisation will be driven by new User Interfaces like Amazon Alexa, which lead to the expectation that there is always one answer to a specific request. These devices will remember the frequent needs of a user and remind him, that his coffee powder might be empty soon and new coffee powder should be purchased. Additional services will support these learnings and offer predictive services to customers. If coffee powder is somewhere on very good bargain they recommend to purchase the need for the next six months today. For all users will be in depth profiles available which describe their buying preferences to be served satisfacting. Mobile will even increase its overall market share as desktop and laptops are getting obsolete with streaming options on different screens.”

Torge Schmidt, Data Scientist: “I believe online shops will increasingly provide users with automatized personalized front-ends that differ in category selection, recommendations or even design. This automation is made possible by the increasing use of big data technologies.”

Stefanie Wolter, Account Director: “Data Collection and Analytics will be the key to keep up with the increasing needs and expectations of multi-channel customers. We will see an immense increase of persona driven and highly personalized customer loyalty incentives as well as real-time interaction across the full customer journey. On-site analytics will become even more in-depth and more predictable and will move in the focus of upper management.”

Kira-Konstanze Wewer, Account Engineer: “I think we are heading to a future pretty similar to the dystopian society of the film “Idiocracy“. What does it mean exactly?

Well, Idiocracy tells about a future where people just believe every claim a company or politician makes. Sounds like Mister President of the United States, right? His followers already believe in him as a brand. Credibility will become very important: Are we producing environmentally friendly? Are we producing in third world countries or in an area nearby?

The very important decisions will be made by the values a brand stands for, more than some of their product lines. To be honest, many companies do produce and sell very similar products – so why prefer X over Y will be an issue. Also, in Idiocracy the clothes are like advertisement with logos all over them. Try to find some branded products without the brand logo, it will become very hard. Customers are used to promote the brand by using them as a surface, while they think they promote the values I talked about.

So will this happen in the next five years? Maybe not. Hopefully. But as you can see the warning signs of it, you have to be prepared for a world where “choice” is an illusion, made by very clever marketing people. They will tell you about the advantages of their brand, while you don’t know it belongs to the same company as the brands you despise for their non-ethical behaviour. In your facebook filter bubble, it is already happening. But it will become normal for you to get filtered everywhere. A good algorithm already knows what you want before you made the decision about it. In Germany, too many people find this scary, but I think in a few years we will be grateful. Nobody can be up to date on every new cool product. Personalized marketing campaigns will help us to find what we believe we need.”

Jacob Thomsen, Account Manager: “For shops with a large heterogeneous range of products it will be more important to know what the customer is specifically looking for. The shop need to define user profiles or personas for certain product categories to address their customers correctly. The buyers shopping history will be important. What did the customer bought last? What products are interesting for him, but he hasn’t bought yet. To make special offers or deals for products, the customer who is not so likely to buy will play a major role in personalisation. Also, inspiring the clients with new products will be important. Stylefinders like Zalon are an example for inspiring the customer with products he could be interested in. This can be also be adapted to other branches, too.”

Ralf von der Reith, Assistant Account Engineer: “I think the role of personalization in our daily lives will increase continuously. Not only in the field of e-commerce, but also in terms of election campaigns and other areas of life.

The ongoing development in computing speed and memory as well as progress in the field of machine learning allow us to evaluate large amounts of data and to respond in real time to customer behavior.

In addition to the real time analysis, I can imagine that in the medium term data from different sources, like from the shop and Social Media, will be combined, to gain deeper customer insights.

Especially with the wealth of information, it will be more important to show users offers that are highly interesting for them. One of the major challenges will I be not to target a customer based on his previous purchases, but to predict what he will buy.
The typical examples are some commercials on Amazon – After I bought a drill, I will see more drills as recommended products. I think there will be further developments in this area in the future.”

Frank Wolf, Senior Data Scientist: “There is a lot of unaimed and therefore ineffective advertisement out there right now. I think that will become even more obvious over the next years. Therefore companies will win that target customers individually and sensibly. Ultimately, this will lead to less but more intelligently applied advertisement campaigns benefiting the individual customer better and hence shops and ad-service providers. In that regard I think Akanoo’s future is bright as it draws conclusions from vast data sources to predict what will work for whom and when.”

Hendrik Köhnke, Account Manager: “Personalisation in e-commerce will more and more be specific regarding what the user wants and what he needs. It even might be possible that online shops at some point and with the help of big data will be able to show those products only to visitors that are really interested. In this way, shops for example could manage their stocks in a more efficient way.”

Which technologies will be important and why?

Gwen Sahmoune, Country Manager France: “Reco engines, Akanoo algorithm of course. ;) And engines that make the user experience positive.”

Stefanie Wolter, Account Director: “I believe that we will see lots of great technologies coming up in the field of CRM tools for persona creation and management to keep track of all customer needs. Also, data driven On- and Off-site targeting tools that put personalisation in their focus and data mining tools that ensure cross-device and omni-channel analytics will be important.”

Kira-Konstanze Wewer, Account Engineer: “Marketing has to understand, that banners do not work. People are exhausted by spam, clickbait and bling-bling on every page they enter on the internet. So just stop it. This has to be replaced by intelligent targeting, sold via cost per order. Only when it’s useful to the advertiser to show the campaign to the people who are really interested, the negativity about online marketing will perish. Instead, customers will be grateful for finding the right product for their needs, helping them to find a good deal or leaving them be if they are not interested.

We have to change from being a buzzing fly around their heads to becoming their shopping assistants. There are already good algorithms out there and very good chatbots who can help with individual problems. We have to transport a feeling of “your are important to us, customer” and “we see ourselves as your partner, not the salesman at your door”. Akanoo is able to do such personalisations. I am impressed on how neat our campaigns are compared to other companies out there. I believe our ideas will be the future.”

Jacob Thomsen, Account Manager: “Data Machine Learning for personalisation. I guess Virtual Reality will also play a role in getting the customer inspired with new products. This could be interesting for DIY projects, interior or travelling. The customer will be more likely to buy a trip to a hotel, when he can feel what it’s like to be there. Make the look and feel of product more accessible to the customer will be important to actually sell it. For fashion you can imagine to be in your dressing room, look into the mirror and see products screened to mirror to see how they would look on yourself.”

Frank Wolf, Senior Data Scientist: “On one hand, I think we will see more big data, more machine learning and more statistical testing. On the other hand, I think classical customer feedback processes will stay as important as ever: in the end we want happy customers and happy customers result in a better business. Innovation can only be advanced by humans with technology used as a sensible tool.”

Hendrik Köhnke, Account Manager: “As there is a trend of using artificial neuronal networks, this technology will certainly be an important tool for personalisation in e-commerce. This will help to find out what a potential customer really wants in a faster and more accurate way. This also will provide companies with much more data as they have now.”

Leonard Kleinfeld, Account Manager: “In the future, algorithms and bots will carry out large parts of our work. The future will only be controlled, filtered and less open.”