The Benefits and Negatives of Robot Cars

I’m a big fan of robot cars and can’t wait for them to be in mainstream use (which could be as early as 2017).  Here is a brief list of benefits and possible negatives to having self driving robot cars on our roadways.

Benefits

  • Less accidents: Human error supposedly causes 93% of all car accidents (Vinh Le, 2009). Robot cars will have faster reaction times compared to human drivers. Plus as inter-vehicle communication rolls out on a wider scale, each robot car will know exactly where all the other robot cars are, how fast they are travelling, etc…. Which will allow each vehicle to take better defensive actions.
  • Less Traffic: Robot cars will be able to form a “train” caravan, following the car in front of them extremely closely, and eliminating the gap / delay that usually occurs when human drivers stop/start in traffic. Robot cars will also likely be able to drive faster due to the increased safety.
  • Eliminate Distracted Drivers: You can now text while “driving” and do lots of other stuff like sleep, watch a movie, play video games, etc…
  • Eliminate Drinking & Driving: Since you’re not actually driving, impaired driving and the associated costs would disapear.
  • Better Accessibility: Blind people could now “drive”
  • No More Parking Issues: Robot cars would just drop off passengers at their destination and go park someplace else where parking is not scarce.  They would then return as needed to pick up passengers.
  • No need to ask friends to drive you to the airport. Your faithful robot car would do it for you and then wait at home until it needs to pick you back up.
  • No need for Traffic Police: The cars would be programmed not to break laws.
  • More Bicycles? If self-driving cars are safer than human drivers it may be less dangerous to bike on the road. There may also be an opportunity to create wider bicycle lanes and better infrastructure.

Negatives

  • Cyber Security: A car’s computer could potentially be compromised, as could a communication system between cars.
  • Loss of driving-related jobs.
  • Criminal and Terrorist Activities: Self-driving cars could potentially be loaded with explosives and used to drive a bomb to its destination or could be used in other criminality acts such as getaway vehicles
  • Ethics: Ethical problems arise when a robot car is in an unavoidable crash and must choose between multiple harmful actions that could lead to death. Do you swerve into the group of children or the group of adults? At what ratio of children vs adults do you pick one group over the other? Should you self destruct yourself along with your owner to save bystanders?. These choices are already made by humans every time they encounter such a situation but choosing an official course of action will be very controversial.

Related Reading…

No License Required?

Robot Cars: They will be here soon…

I’m not talking about Transformers but about Self Driven vehicles: Where your car will drive up to your front door as you are heading out in the morning, pick you up, and drive you to your destination while you take a quick power nap.

This sounds like science fiction, but these robot cars will be here sooner than you think.

In many ways, they are already here

Self Parking Cars

There are already many cars that will parallel park themselves for you, including Ford, Toyota, Lexus and BMW. You pull up to a parking spot, let go the steering wheel, push a button, and the car takes care of the rest.

This sort of technology will continues to improved each year. Many manufacturers (Audi, Tesla, and Volvo among others) plan to release a Valet Parking feature that will enable to you get out of your car when you enter a parking lot and your car will go off on its own to find it’s own parking spot.  When you are ready to leave, your car will drive itself to the front door to come pick you up.

Auto Pilot

Tesla recently unveiled it’s new Model S electric car that has Auto Pilot built in.  Most luxury car manufacturers also have a similar system in development to be released soon. Once you are on a highway turn it on as you would cruise control and let go the steering wheel. Your car will take care of the rest, including changing lanes, accelerating, braking, etc… until you reach your exit ramp.

Over 1,000,000 robot kilometers

As of April 2014, the Google’s self driving cars have driven over a million kilometers in the San Francisco and California region without significant incidents. (In 2010 one of their vehicles was rear-ended while stopped at a traffic light – but the accident was caused by a human-operated car. Then in August 2011 another of the robot cars was involved in an accident but at the time it was under the control of a human).

All statistics seem to indicate that Robot Cars are going to be significantly safer than human operated cars, with accident rates expected to drop significantly once Robot Cars are widely deployed and adopted.

Google is developing its own prototype cars that have no steering wheel, gas pedal, or brake pedal. 100% robot.

When can I get one? By 2020!

That’s only 5 years away.

By 2020 most major car manufacturers plan on having a self driving car in their vehicle lineup. Google is planning on selling its robot cars to the public at some point between 2017 and 2020. By this time, Tesla also plans on having a true science fiction self driving car where you can go to sleep and awake at your destination.

There are exciting times ahead with a huge potential of make our cities better places.

Robot Cars… They will be here sooner than you think.

Hack The Shopify Build-a-Business Competition

Shopify Build a Business

How to get a leg up on the competition and increase your odds of winning.

Every year Shopify has a competition where the top selling new stores win valuable time with some big name mentors. This year’s contest is the biggest yet: 5 winners will be flown by private jet to Richard Branson’s private retreat, Necker Island, to be mentored by Richard Branson, Seth Godin, Tim Ferriss, Daymond John, and Marie Forleo.

If you are thinking of entering the contest here are some “hacks” to help get a leg up on the competition and increase your odds of winning.

Concentrate your Sales into your Top Two Months

The Shopify Build-a-Business competition takes your top 2 months of sales to determine the winner.  If you can manipulate your sales in such as way to concentrate them into a 2 month window you significantly increase your odds of winning. With the build-a-business contest, it doesn’t matter how many bad months you have as long as you have at least two dynamite months.

You need to be very strategic when picking the two months you want to put your focus on. Pick the two months where you expect your natural organic sales volume to be peaking.

Pre-Orders

In 2011 Coffee Joulies released an innovative and unique product that sold out almost immediately.  As they were waiting for new stock to arrive they continued to take “pre-orders”. Once their product came back in stock, all those accumulated pre-orders were triggered into a single month giving them a huge single month sales volume, much higher than any other competing store, and sealing their win.

If you have a product that is unique and in demand, you can “fake” an out of stock situation, collect all the unfulfilled demand, and then bring the item back into stock at a strategic time and trigger all those sales in a single month.

Use Promotions

Let’s say that you pick December to be one of your key months. You will want to offer a promotion in November that will encourage customers to delay their purchases to December 1st, and then another promotion at the end of December to encourage customers to make a purchase before the end of the month.

Delay Purchases to the Following Month

Advertise a sale starting on the 1st of the next month — During the last few days of November start advertising that “Starting Dec 1st – All items on sale for 1 day only!”.

Encourage Purchases Before End of Month

An example of a promotion encouraging customers to buy before the end of the month would be something along the lines of a “Free Shipping until the end of the month”.

Target Special Dates

If there are any special dates in your target month such as Mother’s Day, Father’s Day, Black Friday, Boxing Day, etc… Make sure to have strong promotions running around those dates to further boost your sales for the month.

Seasonal products

The Build a Business competition usually runs from September to March. If you are selling a summer seasonal product such as Gas Grills or BBQs, then you are probably out of luck. You will be hitting your sales peaks long after the contest is over (and before the next one begins).

On the other hand if you are selling a Winter seasonal product then you are in good shape as your sales will be peaking at the right time. In 2013 CanadianIcons.ca won the 3rd annual competition due in big part to the nature of one of their products: The Canada Goose Arctic Parka (known as “The warmest jacket on earth”). While most merchants hit their peak with the Christmas rush, Canadian Icons continued to peak through January and February due to a cold Canadian winter. Those strong January and February months were key in their win.

Sacrifice Profits for  Sales

Know your Profit Margins
and Leverage Google AdWords

You can use Google AdWords to “buy” extra sales. if you are willing to spend your entire profit margin to get a sale, then  you should be able to outbid other advertisers and get a majority of the sales. This isn’t a great ongoing option to keep your business viable, but something to consider if you are trying to boost sales in a couple specific months.  In particular, this works well if:

  1. You are selling a brand or product that has a pre-existing high search volume/demand on Google and;
  2. Your product has high margins or high lifetime customer value and;
  3. You have unlimited stock of this item.

Sacrificing your profits for higher sales volume may not be the best strategy if you are trying to run a profitable business. However if you think it’s the difference between making it to Necker Island or not, then it might be worth it!

Optimize your Order Size

Split orders into $1000 chunks

This year’s Build-a-Business competition will only count the first $1000 of any order. If you think your average order size may be above the $1000 mark consider encouraging customers to split purchases into multiple orders. This way their entire purchase counts towards your Build-a-Business “score” instead of just the first $1000.

Google Display Network & Extended Keyword Match

Summary

  • Keyword Targeting on the Display network does not behave the same way as on  the Search network. Because of “Extended Keyword Match” your ads WILL display on pages that DO NOT contain your keywords. In particular for low volume keywords. Even when using phrase or exact match.
  • Pausing / Un-Pausing an AdWords Campaign triggers a Reset or Recalibration which may cause the campaign to behave differently than it did before the pause.

Targeting our Brand Name:
Are we Getting what we Paid for?

We recently noticed something strange with one of our AdWords Display campaigns. The Ad Group was exclusively using Keyword targeting on a phrase matched keyword: Our Brand name. Although it was a low volume Ad Group, the goal was to display our ads on any pages with a mention of our Brand.

Is Pausing and Unpausing Campaigns Safe?

Pausing a Campaign or Ad Group feels pretty safe — after all you are not actually changing anything, just taking a little break. This was our attitude when we decided to pause our campaign for a few hours one day. However, when we unpaused a few hours later the campaign volume suddenly shot up 100x (as did our costs). Nothing had changed with how the campaign was setup. The only factor at play was the pausing and then unpausing of the campaign.

mm-keyword-display
Impressions and Ad Spend over the last 2 weeks of September. The large hump started when we paused and then un-paused our campaigns.

Extended Keyword Match?
But we’re “Phrase” Matching!

When we took a closer look at what was going on we quickly realized that our ads were showing on sites that clearly DID NOT have our Brand name mentioned. We first double checked that we had the setting “Let AdWords automatically find new customers” turned off, and it was. We then dug deeper and discovered that almost 100% of our ad impressions were triggered due to “Extended Keyword Match”.

Extended keyword match is when the placement was relevant to the keywords you chose and other factors, including pages a person seeing your ad has recently browsed.

You can see what percentage of your impressions are coming from this “Extended Keyword Match” by going to: Display > Placements > Segment > Targeting Mode

mm-keyword-segments
Almost 100% of our impressions were due to “Extended Keyword Match”

We did NOT generate any conversions from these extended keyword matches. The goal of this Campaign was to display an ad on pages that mentioned our Brand. Instead we were having ads displayed due to “other factors including pages a person seeing your ad has recently browsed” — this clearly was not aligned with our goals.

Happily, Google was in agreement and quickly issued a full credit for the extra amount spent (which may hint that this is a bug or unexplored edge case of some sort).  On a side note, the AdWords inbound customer service was wonderful, friendly, and exceptional — one of the best customer service experiences I’ve had in a long time.

Conclusion

  • Be careful when pausing / unpausing campaigns. This causes some sort of “reset” of statistics in the AdWords backend and causes the campaign start re-calibrating itself. Monitor the campaign for a few days after the unpause to ensure if is behaving as expected.
  • Avoid exclusively using keyword match types in display campaigns. In particular for keywords with very low search volume. Having a campaign targeting your Brand name does not appear to be a viable option as of this writing.
  • Monitor what percentage of impressions are coming from Extended Keyword Match. Consider excluding those placements that are delivering a relatively high volume of “Extended Keyword Match” impressions.

More Reading…

A Story About Education…

The story of our education system begins roughly 300 years ago with The British Empire. At this time The Empire has colonies scattered across the globe: India, Africa, Americas, Australia, etc…

The Empire has the great challenge of ruling over all these colonies without computers or telephones. The best technology they have to manage this are hand-written notes on pieces of paper being delivered by ship.

The Bureaucratic Administrative Machine

The Empire builds a global distributed human powered computer to solve this problem: The Bureaucratic Administrative Machine.  They need many people to keep this machine running. They create another machine to produce those people: The School.

The School produces people that meet 4 basic requirements:

  1. They must have good handwriting (to write down the data);
  2. They must be able to read (to understand the data)
  3. They must be able to do addition, subtraction, multiplication, and division in their heads (to create and analyze the data)
  4. They must be identical and easily interchangeable (to be able to ship people between colonies and have them be instantly functional)

The “School Machine”
from 300 Years Ago is Still Running…

The “School” system they built 300 years ago was so robust that it is still with us today. Still continually producing identical people for an empire that no longer exists.

Schools as we know them are NOT broken (as they are doing exactly what they were engineered to do) but they ARE obsolete. Today we no longer need identical people with beautiful handwriting that can multiply and divide in their heads.

So What’s Next?

What should be done to change our education system to be more aligned with current times? How should it be changed to prepare our children for the present AND the future?

I highly recommend you listen to Suguta Mitra’s TED talk about “Building a school in the cloud” for some of his ideas on the future of education.

Related

How to Make Your Children Smarter: Entity VS Incremental Learning

Children tend to view their intelligence in one of two ways:

Entity Learners: “I am smart at this”

“Entity” learners believe in a fixed level of intelligence: I.e.: “I am good at math; I am bad at english”.

They believe they have a fixed level of ability and there is very little they can do to change their results.  Since success or failure implies “smart” or “not-smart”, they will tend to avoid risk of failure.

Incremental Learners:
“I tried hard at this”

“Incremental” learners believe their level of intelligence is flexible and influenced by hard work. “I got it because I worked very hard at it” or “I should have tried harder”.

The learning is more important than the results. Step by step they can move from novice to master. When faced with failure, they increase their efforts or change their tactics.

Winning and Losing

Winning is still important. It is still very important. But learning is more important than winning or losing.

It would be easy to read about the studies on entity vs incremental theories of intelligence and come to the conclusion that a child should never win or lose. I don’t believe this is the case. If that child discovers any ambition to pursue excellence in a given field later in life, he or she may lack the toughness to handle inevitable obstacles. While a fixation on results is certainly unhealthy, short term goals can be useful development tools if they are balanced within a nurturing long-term philosophy. Too much sheltering from results can be stunting.
– Josh Waitzkin, The Art of Learning

Assume your child is playing high-school level soccer. Which is better? Winning against a kindergarden team or losing a close match against a university team? I would argue that playing against the stronger team (win or lose) will have much better long term benefits than winning against the kindergarden team. If you never lose then you are not challenging yourself enough.

If your child experiences a crushing defeat, don’t patronize them by saying that “it doesn’t matter if you win or lose”. Your child is feeling strong emotions that clearly matter to him. Your words will not resonate with his reality.  Instead acknowledge those feelings and focus on the learning: “I know you put a lot of effort into this and you wanted to win very badly. Not winning hurts a lot sometimes, but it can also help you get better.  Let’s learn from this — let’s train harder and get better for the next match. The best way to get better is to face strong opponents, and when you face strong opponents you will lose sometimes. But you will get better. And the better you get, the more you will win.”

I have seen many people in diverse fields take some version of the (incremental learning) philosophy and transform it into an excuse for never putting themselves on the line or pretending not to care about results. They claim to be egoless, to care only about learning, but really this is an excuse to avoid confronting themselves.
– Josh Waitzkin, The Art of Learning

What Parents or Teachers can do

The language used by parents or teachers play a big role in a child’s view of their intelligence.

Language such as “You are really good at math, but bad at English” will tend to reinforce that intelligence is a fixed and unchangeable. Children will learn that they are good at math and bad at English. They will link their success and failure  to a predefined fixed level of ability. There is nothing they can do about it, so they will not try to get better.

Focus on the learning. Re-enforce that they can change their results with effort: “You are really doing good in math: Keep up the good work! You are struggling in english: Let’s study a little harder!”.

It is never too late

It is clear that parents and teachers have an enormous responsibility in forming theories of intelligence of their students and children — and it is never too late. It is critical to realize that we can always evolve in our approaches to learning. Studies have shown that in just minutes, kids can be conditioned into having a healthy learning theory for a given situation.
– Josh Waitzkin, The Art of Learning

Resources

Shopify Cancelled Orders and Google Analytics

By default, when you cancel an order in Shopify, that transaction remains as positive revenue in your Google Analytics.

To “cancel” the transaction in Google Analytics you have to send a negated version of the transaction. To do this in Shopify you have to create a Webhook on Order Cancelled that hits a script (located on the same root domain as your store) that will call server side Google Analytics e-commerce code to negate the transaction.

Webhook Endpoint Dependencies

Details

Place the following code into a file that will act as your Order Cancelled Webhook endpoint (ie: www2.mydomain.com/webhooks/order-cancelled.php).

Make sure you:

  • Update the script to use your GA Account Id and Root Domain.
  • Change the path of autoload.php to point at your php-ga library

Begin Code

<?php
use UnitedPrototype\GoogleAnalytics;
require_once '../includes/autoload.php'; // Update to point at your php-ga install

$GA_AccountId = 'UA-********-1'; // Update with your GA account
$GA_domain = 'mystore.ca'; // Update with your root domain
$webhookContent = '';
// Read the webhook content
$webhook = fopen('php://input' , 'rb');
while (!feof($webhook)) {
  $webhookContent .= fread($webhook, 4096);
}
fclose($webhook);

if (!empty($webhookContent)) {
  // Convert the webhook content into an array
  $shopifyOrder = json_decode($webhookContent, true);

  // START GOOGLE ANALYTICS
  $tracker = new GoogleAnalytics\Tracker($GA_AccountId, $GA_domain);

  $visitor = new GoogleAnalytics\Visitor();
  $visitor->setIpAddress($_SERVER['REMOTE_ADDR']);
  $visitor->setUserAgent($_SERVER['HTTP_USER_AGENT']);
  $visitor->setScreenResolution('1024x768');

  $session = new GoogleAnalytics\Session();

  $page = new GoogleAnalytics\Page($_SERVER['REQUEST_URI']);
  $page->setTitle('Order Cancelled');

  $tracker->trackPageview($page, $session, $visitor);

  $transaction = new GoogleAnalytics\Transaction();
  $transaction->setOrderId($shopifyOrder['name']);
  $transaction->setAffiliation('');
  $transaction->setTotal(-$shopifyOrder['total_price']);
  $transaction->setTax(-$shopifyOrder['total_tax']);
  $transaction->setShipping(-$shopifyOrder['shipping_lines'][0]['price']);
  $transaction->setCity($shopifyOrder['billing_address']['city']);
  $transaction->setRegion($shopifyOrder['billing_address']['province']);
  $transaction->setCountry($shopifyOrder['billing_address']['country']);

  foreach ( $shopifyOrder['line_items'] as $product ) {
    $item = new GoogleAnalytics\Item();
    $item->setOrderId($shopifyOrder['name']);
    $item->setSku($product['sku']);
    $item->setName($product['title']);
    $item->setVariation('');
    $item->setPrice($product['price']);
    $item->setQuantity(-$product['quantity']);
    $item->validate();
    $transaction->addItem($item);
  }
  $transaction->validate(); 

  $tracker->trackTransaction($transaction, $session, $visitor);
  // END GOOGLE ANALYTICS
}
?>

Setup the Webhook in Shopify

In your Admin dashboard go to:

  • Settings > Notifications > Webhooks (at the bottom)
  • Create a Webhook
  • Event: Order Cancellation // Format: JSON // URL: The full url of your php file

Test

  • Google Analytics: Got to the Real Time > Content report
  • Shopify: Click “Send test notification” link beside your webhook.
  • Google Analytics: You should see a page request popup with your script name
  • Google Analytics: Wait a few hours and then (for transactions to register) and then go to Conversions > Ecommerce > Product Performance and you should see a sledge-hammer and wire-cutter products (the Shopify sample data) along with negative quantities and value.

Further Reading & Resources