Skip to content

Instantly share code, notes, and snippets.

@vicmaster
Last active May 14, 2020 14:29
Show Gist options
  • Save vicmaster/43a95a58d9cc9f2a12d7 to your computer and use it in GitHub Desktop.
Save vicmaster/43a95a58d9cc9f2a12d7 to your computer and use it in GitHub Desktop.
eCommerce cheat sheet

Abandonment Rate:

Shopping cart abandonment is a term frequently used in the ecommerce world. Shopping cart abandonment (a.k.a cart abandonment) refers to the issue when the digital customer adds the desired product to the virtual shopping cart and leaves the digital property before completing the purchase. The abandonment rate is the ratio of the total number of abandoned shopping carts to the number of total initiated cart transactions. The metric is used to measure the performance of the digital shopping cart. A typical abandonment rate varies from 60-85%.

Abandonment Rate = Total number of abandoned carts / Total number of cart transactions

Acquisition:

Acquisition is a business term used for the process of acquiring or gaining new customers. Businesses make money by gaining new customers or increasing the revenue from existing customers. Acquisition engine feeds the customer base and allows companies to accelerate growth.

Affordance:

A situation where an object’s sensory characteristics intuitively imply its functionality and use. Speaking of digital apps, they cannot provide physical clues as to what you can do. Instead, they all rely on visual clues or affordances.

There are 6 types of digital affordance:

  • Explicit
  • Pattern
  • Hidden
  • False
  • Metaphorical
  • Negative Affordance.

Application Programming Interface (API):

An API is a communication methodology (protocol) created to allow disparate software solutions to sync, share or exchange information using simple interface. API is commonly used in software and app development where developers may often need API integration between software systems.

Attrition (Customer attrition / Customer churn):

Customer attrition is the term used to define the loss of the customers by a business. Businesses can lose customers due to a wide variety of reasons such as customer experience, relationship management, price or convenience. Customer churn or attrition analysis is a popular form of analytics used to identify and prevent loss of customers.

Blog:

Blog is a digital content hub created for the purpose of educating customers, announcing products/services or sharing thought leadership. Customers and prospects of a business can subscribe to their blog through email, social or RSS feeds. Blog also plays an important role increasing the organic traffic which in turn helps in acquiring new customers.

Bounce Rate:

Unlike cart abandonment, a bounce happens when a user visits only one page and leaves the site without navigating further. Bounce rate is the ratio of the total number of single page visits to the total number of visits to that page. There are several other methods of calculating the bounce rate but the single page method is considered industry standard. True bounce rate is a much cleaner method of calculating the bounce rate and it is the average of the single page visit and time on site methodology bounce rate.

Bounce Rate = Single page visits / Total number of visits to that page

Brick and Mortar Store:

A retail store which atleast one physical location is called a brick and mortar store.

Call-To-Action (CTA):

A digital creative (text, button, link, and icon) used to ask a visitor to take some action, including purchasing a product, subscribing to service or blog, social sharing or similar is called as CTA.

Click-Thru Rate (CTR):

A click happens when a digital users accesses a link on a web page. Click-Thru rate is based on the number of clicks and the number of time the page viewed (impressions). CTR is the ratio of total number of clicks to the total number of impressions.

Click-Thru Rate = Total number of link/ad clicks / Total impressions

Content Management System (CMS):

CMS is a software application that allows users to create, edit, maintain, publish, and display content on their digital properties from a single interface or administration tool. CMS platform simplifies the content management process by allowing everyone to use the same interface when creating and publishing content. It allows puts the administrator in control of the content release cycle. It can be used to publish blog post, product catalogs, events or any type of digital content. WordPress is one of the most popular CMS platform.

Conversion Rate:

Conversion is a term used for a successful completion of an event. In digital business terms, the conversion event can be either macro or micro event. A macro conversion is a successful completion of events leading to revenue creation or new customer acquisition such as product or services sales or digital subscription signup. A micro conversion is a successful completion of events which may not be directly responsible for new customer acquisition such as blog subscription, email subscription, social sharing, and adding products to shopping cart or initiate a support chat or call.

Conversion rate is the number of successfully completed conversion events to the number of participating visitors for that event.

Conversion Rate = Total number of successful conversion events / Unique visitors (for that event)

Cost-Per-Acquisition (CPA):

Cost-Per-Acquisition is the cost incurred in successfully acquiring one customer. It is calculated by taking a ratio of total marketing spend (or marketing spend for a campaign) to the total number of customers acquired (or customers acquired from a campaign).

Cost-Per-Acquisition = Total marketing spend / Total number of customers acquired

Cost-Per-Click:

Cost-Per-Click is the cost incurred per link or ad clicks. It is the ratio of the total advertisement cost to the total clicks generated.

Cost-Per-Click = Total advertisement cost / Total number of clicks generated

Customer Relationship Management (CRM):

CRM is a process of building, maintaining and improving relationship with the customers. It leads to increased revenue, reduced customer attrition and improved loyalty. The term CRM is often used for software solutions design to develop and maintain relationships with customers. CRM packages are connected to the internal organizational systems and email and/or web to allow users to communicate with customers and sales staff.

Ecommerce:

The term Ecommerce is commonly used for the process of buying and selling products and services on the internet. With advancement of technology, ecommerce transactions are global and can be performed using any device connected to the internet.

Key Performance Indicators:

The term KPI is used to represent a list of mission critical metrics for the success and failure of a digital property. Conversion rate, margin, average order value, sales, and orders are all KPIs for ecommerce business.

Margins:

The difference between the costs incurred to produce or buy wholesale and market a product and the price customer pays for the product is called margin. Margin is a key metrics in defining the profitability of a business.

Quantitative Metrics:

Ecommerce metrics that can be represented as numbers are quantitative metrics. Unique visitors, average order value, abandonment rate, CTA are examples of quantitative metrics. These metrics are used to measure the performance of the website, mobile app and shopping cart. The metrics are also used to measure the overall success of the digital assets or the marketing campaigns in driving sales and conversion.

Qualitative Metrics:

Ecommerce metrics used to measure the quality of a customer interaction, experience, struggle and concerns are called qualitative metrics. Product reviews, session replay, satisfaction score can be used to measure the overall customer experience of the sales process, digital assets or products and services. Qualitative metrics combined with quantitative metrics provide actionable data to uncover and resolve customer struggles across single and multiple purchase cycles.

Site-to-Store:

Site-to-Store is a term used by retailers who allow their customers to purchase products online through their website or mobile app and pickup from their physical stores.

What does backorderable mean when you are shopping online for something and you are checking its availability?

It means that there is no stock but you can still order it. You will get what you purchased once they have stock so you may end up waiting some time.

DFD for online shopping?

DFD for online shopping refers to a data flow diagram. Such a diagram offers information pertaining to the activity between customers, sellers and visitors to an online store.

Race condition for ecommerce application

When you have a product and multiple users want to buy the product, so there is should be a error message for those users if the product is out of stock/sold out

What is the difference between price and cost?

  • Price refers to the amount of money that consumers have to give up to acquire a good or service.
  • Cost refers to the amount paid to produce a good or service. The cost represents the sum of the value of the inputs in production - land, labour, capital and enterprise.

Upselling (Up Sale)

Upselling is a sales technique where a seller induces the customer to purchase more expensive items, upgrades or other add-ons in an attempt to make a more profitable sale. While it usually involves marketing more profitable services or products, it can be simply exposing the customer to other options that were perhaps not considered (A different technique is cross-selling in which a seller tries to sell something else). In practice, large businesses usually combine upselling and cross-selling to maximize profit.

Cross-selling (Cross Sale)

Cross-selling is the action or practice of selling an additional product or service to an existing customer. In practice, businesses define cross-selling in many different ways. Elements that might influence the definition might include the size of the business, the industry sector it operates within and the financial motivations of those required to define the term.

The objective of cross-selling can be either to increase the income derived from the client or to protect the relationship with the client or clients. The approach to the process of cross-selling can be varied.

Unlike the acquiring of new business, cross-selling involves an element of risk that existing relationships with the client could be disrupted. For that reason, it is important to ensure that the additional product or service being sold to the client or clients enhances the value the client or clients get from the organization.

In practice, large businesses usually combine cross-selling and up-selling techniques to increase revenue.


Spree concepts

ACTIVATORS

Activators are used to subscribe to specific events within a Spree Commerce storefront.

From what I understand, activators are what links an event in the interface (e.g. a user putting in some information) to putting a flag on something - e.g. when a promotion should be used.

PROMOTIONS

Activators: "Promotions depend on activators to know when to apply a promotion."

Actions: When a promotion is activated, the actions for the promotion are performed. There are 2 - either add an adjustment (discount) or add a line item (freebie).

Rules: Rules are used to determine if a promotion meets certain criteria in order to be applicable. e.g. FirstOrder, ItemTotal, and more.

You could have promotions that only activate if an input code matches a required code, or if a person visits a certain URL.

ADDRESS

Zones: Zones are collections of countries or states which are used to determine shipping or taxation. You can create these yourself to match your business' needs.

ADJUSTMENTS

Adjustments can be positive or negative. If the value is positive, it's a charge, and if it's negative, it's a credit.

Included adjustments e.g. VAT Additional adjustments e.g. Sales tax

Source of an Adjustment: Could be a tax rate or a promotion

Things that are Adjustable: Order, line item or shipment

CALCULATORS

Calculators available:

Default Tax Flat percent per item Flat rate Flexi rate (one price first item, discount for subsequent) Free shipping Per item (this is a flat rate and only affecting some items in an order) Percent per item (similar to above, but not flat, percent) Price Sack - for when you buy a minimum amount - e.g. $10 off orders over $100

INVENTORY

StockItem: Count of on-hand inventory. InventoryUnit: Individual objects back-ordered/sold/shipped

Both of these models are dealing with products at the variant level, but StockItem is dealing with things you have in stock and InventoryUnit objects are dealing with things you don't have yet or haven't got anymore.

You can turn off inventory tracking in your configuration.

In Spree 2.0 there is a Stock Management system which will track

Locations of items in stock Movements of items between locations Return Authorisations

In the order console you can go to the return authorisations tab to return part or all of an order.

After you create this authorisation, you can then make a credit adjustment , which can apply a refund to the persons credit card.

PAYMENT

These are the possible stages of payment:

Checkout: Checkout has not been completed

Processing: The payment is being processed

Pending: The payment has been processed but is not yet complete (ex. authorized but not captured)

Failed: The payment was rejected (ex. credit card was declined)

Void: The payment should not be counted against the order

Completed: The payment is completed. Only payments in this state count against the order total

When a payment is created it will be pending and will be sent to the Payment Gateway to get authorisation. Once authorised, the money will be transferred and the payment state will be changed to 'completed'.

Payment source = how the payment was made - e.g. credit card

Payment method = Processor used for the payment. Could be PayPal, Payment Gateway, BPay, etc. By setting auto_capture ON you tell the system to auto capture for ALL payment methods.

Payment gateway = software that allows people to securely transfer funds. e.g. WorldPay, PayPal or even bank. Access to a number of payment gateways is handled with the usage of the spree_gateway extension.

auto_capture

If the auto_capture flag is OFF, the payment sends a request to the Payment Gateway to get permission to take money, it does NOT take the money yet. It is up to the Admin to manually click the button to take the payment

If auto_capture flag is ON, payment will be automatically authorised and completed after every Order is lodged.

If you don't want autocapture for e.g. PayPal, then you have to explicitly override the auto_capture flag for the PayPal class.

PREFERENCES

Spree comes with preferences for your store like sitename and siteurl. Additional preferences can be added by your application or included extensions.

You can define preferences for a model within the model itself or you can make site-wide preferences.

There is a list of Spree configuration options with default values. Some configuration examples are "address requires state", "attachment default style" and "shipping instructions".

PRODUCTS

Line items in an order will be of variants

Variants are products of a specific size, color, or other specification.

Master Variant: Every product has a master variant - which has no variations, but lists the price and sku.

Prototypes: A Prototype is like a Product blueprint, it can help you add a group of similar new products to your store more quickly. When you create a prototype you add certain properties and option types to your prototype. When you want to use the prototype to add a Product, you fill in the properties and options types you want for that particular Product.

Properties: This means the property of a Product, or Variant, and it can be things like brand, manufacturer, etc. A property on the product level could be anything that doesn't change with variant. So, it could even be size if your thing came in one size but lots of different colors.

Option Types and Option Values: This is at the variant level. You make new variants based on the different values of option types. For example, different colors or sizes.

ORDERS

Orders bring together many of the other concepts - addresses, payments, adjustments(promotions or shipping/taxes)

Orders flow through this series of states:

Cart Address Delivery Payment Confirm Complete Note that in an order - if a variants price changes, the line item in an order before the change would still maintain the price of the variant at the time of the order.

There is an OrderUpdater class you can use, which allows orders to be updated and totals recalculated if there is a change to shipping, promotions or any line item.

SHIPPING

Shipment splitters.

Determines how orders are split up into different packages. e.g. because of weight limits.

Shipping categories

Sometimes different products need to be considered differently for shipping reasons. E.g. light, regular, heavy items. Each of these kind of products would require different shipping methods and/or prices - so they will be assigned a different shipping category.

Shipping address

Your shipping address will determine the shipping options available to you.

Shipment

A shipment is created after an Order is created. If some items of the order are available for shipment and others are not, then the shipment might be split into 2 shipments.

TAXATION

Tax Categories: A tax category is assigned to every product.

Tax Zones: The zone you are assigned to from your address will determine the taxes you are charged.

Tax Rates: Tax rate for a product is determined by the tax category of that product.

TODO:

  • Add more concepts
  • Add backorderable concept
  • Add DFD concept
@vicmaster
Copy link
Author

@mumoc I already added the change

@JuanCrg90
Copy link

JuanCrg90 commented Jun 7, 2018

RMA/RA/RGA

A return merchandise authorization (RMA), return authorization (RA) or return goods authorization (RGA) is a part of the process of returning a product to receive a refund, replacement, or repair during the product's warranty period. The purchaser of the product must contact the manufacturer (or distributor or retailer) to obtain authorization to return the product. The resulting RMA or RGA number must be displayed on or included in the returned product's packaging

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment