Jacob Filipp

Author: admin (page 1 of 2)

Types of Monopolistic Behaviour

This is a short reference, initial listing is from the Wikipedia page on Anti-competitive prices.

Dumping

Where a company sells a product in a competitive market at a loss. Though the company loses money for each sale, the company hopes to force other competitors out of the market, after which the company would be free to raise prices for a greater profit.

Ex: I believe this is how Uber and Lyft set their pricing, hoping to drive out traditional taxi services from the market. Once they do this, they’ll either be the only game in town (because nobody can ever start a brand new taxi service ever again, right?), or they’ll have a permanently low cost structure with driverless cars (spoiler: not happening).

Exclusive Dealing

Where a retailer or wholesaler is obliged by contract to only purchase from the contracted supplier.

Price Fixing

Where companies collude to set prices, effectively dismantling the free market.

Refusal to Deal

Two companies agree not to use a certain vendor

Dividing Territories

An agreement by two companies to stay out of each other’s way and reduce competition in the agreed-upon territories.

Limit Pricing

A limit price is a price, or pricing strategy, where products are sold by a supplier at a price low enough to make it unprofitable for other players to enter the market.

Tying

Where products that are not naturally related must be purchased together.

Resale Price Maintenance

Where resellers are not allowed to set prices independently.

Canadian Whack-A-Mole

The practice of creating the illusion of competition in an oligopolistic market, by creating subsidiaries and sub-brands.

Grocery

Mobile Telecom

  • Rogers, Fido, Chatr
  • Telus, Koodo, Public Mobile
  • Bell, Virgin Mobile, Lucky Mobile
  • Shaw, Freedom Mobile

Jan, 2019 – Tefficient report shows Canada has world’s highest carrier revenue per SIM

Oct. 2019 – Tefficient removes Canada from mobile price ranking over industry pressure and CRTC’s delays in releasing information.

The 2019 Price Comparison Study of Telecommunications Services in Canada and with Foreign Jurisdictions, prepared by Wall Communications Inc.

International Comparison: Canada has the highest or second highest PPP-adjusted prices in all five Level baskets.

From the Executive Summary, Mobile Wireless section

Jul. 2019 – Rewheel research shows Canada carriers give you the fewest GB of data for 30 Euros, in the world.

2019 – Telus commissioned NERA study to rebut Rewheel report

Pardot: finding the Pardot asset when all you have is a landing page

In a situation where you only know a Pardot landing page’s public URL, and you want to open it for editing, here is what you do:

  1. Go to the landing page in your browser (works for forms, too)
  2. add the parameter ?PI_DEBUG_ENABLE=1 to the end of the URL. So
    https://pardotdomain.yoursite.com/short_url
    will become
    https://pardotdomain.yoursite.com/short_url?PI_DEBUG_ENABLE=1
  3. Hit Enter to go to this new URL
  4. A direct link to the Pardot asset will appear on the upper right of the page. Click it to start editing your page/form right away:

Credits

Credit for this goes to Cheshire Impact’s post on editing live Pardot pages. As far as I can tell, this is a completely undocumented server-side function.

Sync Outlook Calendar to Google Calendar using Microsoft Power Automate

Summary: getting Outlook events to show up in Google Calendar can be a challenge due to your workplace’s security settings. If you have access to Microsoft Power Automate (aka Flow), then you can use this .zip package to set up an integration.

This Flow is based on this Outlook to Google Calendar synch package by Alex Matulich. Thank you for laying the groundwork, Alex!

Note: v2 of this flow added on Aug. 7, 2020. It no longer copies the event description to Google Calendar. Long event descriptions were cutting off the important Event ID/Master ID.

Continue reading

Tool – convert HTML list to Plaintext

This tool will convert a list of HTML elements like a dropdown list of <option> elements, or <li> and <ol>, into plaintext. One item per line. This helps when you’re quickly copying a list of dropdown items (using Developer Tools) into Excel.

Limitation: the current versiont works when each element is on its own line. This isn’t necessarily always going to be the case with valid HTML, though.

How to make iFrames auto-resize to 100% height based on content

Do you need to ensure your iframe’s height is always set to 100% of the height of the content you are embedding? If so, keep on reading.

This page contains freely-usable code for responsive iFrames. iFrame height will adjust based on the height of the content in them. The code works for cross-domain iFrames and does not use any libraries like jQuery.

The problem

As a Marketing Operations professional, I often need to put marketing forms onto webpages. Normally, I would put code like this onto the page so the form appears in an iFrame:

 <iframe src="https://mydomain.com/the-form.html" style="width:1px; min-width:100%; border-width: 0px;" allowtransparency="true"></iframe> 

The problem with iFrames is that you don’t always know their full height. Also, their height can change unexpectedly.

Continue reading

How we did it: Top Tasks analysis on the LexisNexis website

Introduction

Have you ever wondered if your website is truly helping your visitors accomplish their goals?

It is usually challenging to find out. Often, the opinions of your coworkers, managers, and complaining customers are the ones you hear the loudest. It is difficult to find out what the average site user thinks.

One way to find out is through a “Top Tasks” survey. This approach has been used by governments, health services, universities and software companies like Microsoft. At the core, this is a survey that reveals user’s basic needs by overwhelming their “thinking brain” with choice. The purpose of this document is to help you run your own Top Tasks survey. You will learn how to set up such a survey through a step-by-step case study of how I ran such a survey at LexisNexis Canada (a company that makes software for lawyers). You will discover surprising real-world insights that go beyond other published materials on Top Tasks.

Why is a Top Tasks survey special?

This type of survey is used to discover which end goals your website visitors value the most. It goes beyond “what information do visitors want?” towards answering “what action can I help them accomplish?”.

There is a twist: in this survey, the visitor is shown about 100 different tasks and urged to choose the top 5 quickly – in this way, we get a “gut reaction” choice rather than one that they had consciously thought about.

Continue reading

Default field mappings (Pardot and Salesforce integration)

Here are some notes about the initial sync that occurs between Pardot and Salesforce (SFDC).

When you first enable and validate the Salesforce Connector in Pardot, a synch will begin automatically. You will not have a chance to define how fields sync between Pardot and Salesforce, and how data overrides work – you are at the mercy of the default mapping that’s been preset for you.

Here is the official document that explains how Pardot fields are mapped to Salesforce fields by default.

Don’t like how the default sync is set up? Want to have total control of the initial mapping between Pardot and Salesforce?I recommend that you do 3 things:

  1. Configure the connector so that Salesforce is prevented from creating new Pardot Prospect records (at least initially).
  2. Ensure that the Salesforce user who’s been set up as the Pardot Connector User is blind to all Leads and Contacts. Your Salesforce administrator will have to set this up prior to verifying and enabling the Pardot Connector.
  3. If you have any assigned Prospects in your Pardot instance, mark them as “Do Not Sync With CRM” using an automation rule. Anyone who’s assigned will be automatically created as a Lead in Salesforce when you verify the Connector (this will happen because step #2 ensures that Pardot will never find an existing Lead for an Assigned prospect – they’re all hidden. So it will attempt to create a new Lead).

These setting will ensure that no Prospects are synched initially. This gives you time to configure the kind of integration mapping that you desire.

Remember that you can do a “practice integration” by connecting Pardot to a Salesforce Sandbox, and even by getting a free Pardot Training Environment to protect your main Pardot during integration testing.

 

In addition, here is a table that shows field IDs for the default mapping for our organization. Some of these field types might depend on our specific Salesforce setup:

 

Pardot field name Pardot field ID salesforce.com Field Name Type In case of conflicting values:
Years In Business years_in_business Text
Website website Website Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Territory territory Text
Source source LeadSource Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Scoring Category Last Scored At last_scored_at pi__Pardot_Last_Scored_At__c Date If Pardot and Salesforce values differ when data sync occurs: Use Pardot’s value
Salutation salutation Salutation Dropdown If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Province state MailingState Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Postal Code zip MailingPostalCode Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Phone phone Phone Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Pardot Hard Bounced pardot_hard_bounced pi__pardot_hard_bounced__c Checkbox Pardot is the master. Map this lead field to the contact field so the contact record pulls in the data. This field is hidden until a hard bounce. Even if the Do Not Email and Opted Out fields are cleared, the bounce history is retained on the prospect record and the Pardot Hard Bounced, Email Bounced Reason and Email Bounced Date fields are not cleared. If the hard bounce was the result of an invalid email address, adding a valid email address clears the Pardot Hard Bounced field.
Opted Out opted_out HasOptedOutOfEmail Checkbox More about Opt-Out synch behaviour
Last Name last_name LastName Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Job Title job_title Title Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Industry industry Industry Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
First Name first_name FirstName Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Fax fax Fax Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Employees employees NumberOfEmployees Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Email Bounced Reason email_bounced_reason EmailBouncedReason Text More details in the official field mapping docs
Email Bounced Date email_bounced_date EmailBouncedDate Text More details in the official field mapping docs
Email email Email Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value

Read more about how email address changes are synched

Do Not Email is_do_not_email Checkbox
Do Not Call is_do_not_call Checkbox
Department department Department Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Country country MailingCountry Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Company company Company Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Comments comments Textarea
City city MailingCity Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Annual Revenue annual_revenue AnnualRevenue Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Address Two address_two MailingStreet Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value
Address One address_one Street Text If Pardot and Salesforce values differ when data sync occurs: Use Salesforce’s value

The Pardot documentation has more information about standard sync behaviours.

And, this document shows how to change the sync behaviour for a particular pair of fields. Keep in mind that data priorities between Pardot and Salesforce cannot be changed for certain fields (For example, the “Opted Out” field – although that field can be remapped). These special rules are explained in the official field mapping documentation.

Finally, you should be aware that – regardless of the sync behaviour you’ve set up – Pardot will never use a blank value to overwrite an existing field value. The nuances of how Pardot acts on blank values are explained in this post from The Spot for Pardot.

 

Search keywords n-gram analysis tool

This is an n-gram analysis tool for search keywords from Google Webmaster Console. Simply copy the query and frequency (of clicks, or impressions) into the “Input field”. What makes this tool unique is that it takes into account the weighed frequencies of a term’s appearance in your list.

For example, if you are calculating an n-gram of 2, and your query click counts are:

  • plumbers in Toronto (22 clicks)
  • plumbers in New York (11 clicks)

Then “plumbers in” will have a total weight of 33 clicks.

[video] Online marketing tips for small businesses

On August 31st, 2017 I was invited to present to the StartUp Here Toronto community. I spoke about online marketing tips for new businesses. A recording of the presentation is available below:

Electrical bill for 100 Wellesley St. East – Toronto, Canada

How much can a renter expect to pay for electricity in Downtown Toronto?

Back in January 2016, my pregnant wife and I moved in to a new 2 bedroom apartment at 100 Wellesley St. East in Toronto. Soon after, we got our first full electrical bill: it was a $327 surprise.

This was very different from the $36/month bill at the 1-bedroom downtown apartment we just left.

This post is about sharing our real electrical bills with you. To show what an ordinary downtown renter could expect to pay.

We wish that we had known about the size of the electrical bill ahead of renting our apartment. As renters, we have zero choice in electricity providers – the company that set up a building’s original submeter wiring gets to set whatever renter fees it wants, and it is a “take it or move elsewhere” type of arrangement.

A Sample Bill

Here is an example of the type of charges that appear on a typical electrical bill (nubmers are from Jan 1, 2017 to Feb 1, 2017).
Hover over the “Charge” item with your mouse to see the explanation Wyse’s website gives for the charge.

Type of charge Amount
Delivery for 01/01/17-02/01/17 69.78
Electric Customer Charge for 01/01/17-02/01/17 0.06
Energy Charge for 01/01/17-02/01/17 51.59
Energy Charge 2 for 01/01/17-02/01/17 173.97
Regulatory Charges for 01/01/17-02/01/17 12.56
Service Delivery Fee for 01/01/17-02/01/17 21.66
HST # 832218960 RT0001 for 01/01/17-02/01/17 41.09
SSS Admin Charge for 01/01/17-02/01/17 0.26
Wyse HST for 01/01/17-02/01/17 3.96
Electric Meter for 01/01/17-02/01/17 4.37
Electric Meter 2 for 01/01/17-02/01/17 4.38
Line Loss Adjustment for 01/01/17-02/01/17 7.81
8% Provincial Rebate for 01/01/17-02/01/17 -25.27
8% Provincial Rebate – Wyse for 01/01/17-02/01/17 -2.43
Total $363.79

When signing the rental agreement, we paid a one-time $20 account setup fee and an energy deposit of $75.

Total Monthly Electricity Bill

Here is a graph that shows the total monthly electricity bill that we received in each month. Note that electrical charges for winter and spring are much higher than for summer and fall.

Late fees, and one-time setup charges were removed from the total.


It is great that Wyse provides an online portal that lets us download detailed billing and usage data. The raw bill data, as well as daily electricity consumption data is available in this Excel file for your reference:

2017-07-24 Wyse utility readings.xlsx

Note: we moved into the apartment on Jan. 20, 2016. Before that, there was some work being done by contractors. Because of that, the first “normal” month of usage will be February – the bill for that usage will appear in the chart above under “March”.

Daily Electricity Usage

Below is a graph showing daily electricity consumption for our apartment. The data goes back only as far as part of July 2016.


Attempts at Reducing the Electrical Bill

In attempt to reduce our whopping winter bills, we tried the following:

  • Up to about April 2016, we left our heat on even when we were away from the apartment. After that time, we started turning off the heat when we left.
  • Acquiring 2 oil-based space heaters, and using them instead of the AC units connected to the thermostats.
  • On Sept. 11, 2016, we bought heat insulating curtains for the large windows in the living room. The idea was to prevent heat leakage through the glass.
  • Sometime around January 2017, I taped any cracks in all windows using insulating tape. I also taped the edges of the balcony door with insulating foam tape.

Unfortunately, despite all the extra expense and work we put into saving energy, our electrical bills were even higher in 2017 than they were in 2016.

The 2017 bills for May, June and July were higher than in the previous year. This might be due to the fact that the 2016 and 2017 bills cover different date ranges (April 15-May 16 in 2016, April 1-April 20 in 2017). It is possible to get weather data for that timespan from the government of Canada and compare downtown temperatures. A quick look at the May data shows that, indeed, days in the 2017 billing span were colder than in the one in the billing span for the previous year.

Basic Information About Our Unit

The company serving this apartment building is Wyse Meter Solutions.

Our unit is electrically heated, is submetered, and is hooked up to 2 meters. That means that we have 2 thermostats that we can use to heat/cool the unit as much as we wish. We are billed directly for our own electricity consumption.

We do not have any unusually electricity hungry appliances. Just the standard fridge, microwave and oven. The fridge is old and may be less efficient than average.

The unit is a 2 bedroom corner unit. That means that 2 sides of the unit have walls that are exposed directly to the outside, and an additional wall of the Master Bedroom is shared with the emergency stairwell – which is colder than the corridor. This kind of unit would have higher heating costs than a unit in the middle of the building. That kind of unit would have only 1 wall facing the outdoors.

Proof – electrical bill pictures

For reference, here are pictures of the electrical bills who’s data I analyzed in this post:

Wyse-100-wellesley-east-toronto-electrical-bills.zip

Now share your story…

How does your electrical bill compare to what you’ve seen above?

If you live in an apartment, use the Comment field below to share your electrical charges. Please indicate which month the charge is for, which area you live in, and the number of bedrooms.

If you have your own website and have posted about this topic, please share a link to your article!

Olderposts

Copyright © 2020 Jacob Filipp

Theme by Anders NorenUp ↑