Pricing


The Basics

CoopCycle’s pricing rules are the result of many different people asking for many different types of pricing rules over time. This means that pricing rules are highly complex, but if you understand how they work and have a bit of imagination, you can probably do most anything. Here we will talk exclusively about the pricing rules that apply to non-platform deliveries (i.e. restaurant food tech orders paid over Stripe). There are 4 main types of deliveries that are easily programmed in CoopCycle currently:

  1. Old School Bike Messenger Pricing: Rates based on kilometers, with supplemental charges based on weight and other characteristics.

    EXAMPLE: A fruit shop that has a dozen orders a week, and has 3 sizes of fruit boxes with different weights that are charged differently. These clients get a call from their own client, open CoopCycle, and make the order while talking to their client over the phone in order to charge the final client a part of the CoopCycle delivery fee based on the calculation they see in the website. This could also be lawyers, clothing shops, or any other type of small local commerce with unpredictable but constant deliveries.

    FORMAT: A pricing rule of this type will usually have a km-based rule, plus supplemental charges for extra weight or volume.

  2. Very Complete But Complex Pricing: Rates based on many characteristics, attempting to have a rule that will apply to as many types of clients possible in as many parts of the city as possible.

    EXAMPLE: This is when a cooperative works over a large geographic area, uses zones to reflect distances instead of kilometers, and has clients with a wide variety of services they might request. An example of this could be a bakery that has regular deliveries of large quantities of bread to local shops and points of sale in the morning, but then also has irregular deliveries of gift baskets throught the week of varying sizes. A single pricing rule will have to reflect multiple types of services, many different areas, and once it has been completed, it may make sense to use for many different shops and thereby standarize the commercial, delivery, and invoicing tasks.

    FORMAT: A pricing rule of this type will often combine base prices to move between zones, plus weight and volume supplements, plus charges that relate to how urgent a delivery is and to how much advance warning the delivery is made.

  3. Multi-Dropoff Pricing: Rates that allow for clients to ask for many deliveries at once, instead of one by one.

    EXAMPLE: A service the is often requested multiple times a week to move blood and urine samples from homes for the elderly, to a laboratory and then return the package. However, there are multiple elderly homes and multiple laboratories so sometimes the task is a single pickup and a single dropoff, or it may be multiple pickups and one dropoff, or a pickup + a dropoff + a dropoff. In order to facilitate the client, we want all these possible use cases to be made in one type of purchase process.

    FORMAT: A price of this type will usually have a base price per “point” (a pick-up of dropoff) with suppliments of weight or volume or urgency for each point.

  4. Last Mile At Volume: Simple rates made for a client that gives you a large volume of orders with relatively standardized characteristics.

    EXAMPLE: This is usually when a large entity requests that a cooperative delivers 50+ of a standarized item like a magazine over the course of multiple days.

    FORMAT: This often is a price that is a simple price per point that reflets an average that both sides agree is equitable. The client likely uses an excel to upload their large list of tasks.


First Steps

The first thing you need to do is think carefully about how you want to charge your client. As about their needs in detail so that you make a complete rule, and don’t have to remake it a week after starting service in order to account for something they forgot to mention. Remember, a price rule really is made up of a series of rules in the Pricing page, rules that base themselves on characteristics like kilometers or time that are built off of the configurations you make of Time slots, Packages and Zones.

Given this, first think about the geographic realities of this delivery. Are there zones in your city that are easier to pass between than others? What natural barriers are there that impede delivery?

Think about the types of packages they will be giving you. Should you differentiate between a 5kg box and a 10kg box or can you use an average of the two to make a standard price?

Think about the time requirements. Do you want to incentivize them economically to program deliveries for the next day instead of immedaitely? Or do you prefer immedaite and more expensive deliveries? How do their deliveries fit into your existing workflow? You can offer delivery windows of 15 minutes, or the entire morning, or you can offer both and charge differently.

Once you have thought about these factors and created some zones, package lists, and delivery time slots, now you are ready to make your first pricing rule.


Create a custom pricing

  1. From the top menu go to Deliveries
  2. On the left-hand side go to Pricing
  3. Click on Create a new pricing
  4. Give the Pricing a name.

    TIP: The pricing name can be the name of the Order Form, Store, Restaurant or a specific name that makes it easy to know what the custom pricing is meant for.

  5. Under Rules click on Add rule
  6. Write the price of the rule at the bottom
  7. Click on Add condition to add one or as many conditions as necessary (to know more see Definitions of conditions).
  8. Choose a method of calculation:

    INFO: A matching rule is a rule where all the Conditions are true .

    a. The first rule that matches works best with Fixed price.

    Because you can have multiple Rules under one Pricing, the first rule that matches means that, beginning from top to bottom, the first Rule that complies with all the Conditions will be the only one which will display the price to the customer and the remaining rules, if any, will be skipped. Example:

    • In the image below there are three (3) Rules, each in a coloured box and each with the same type of condition (Weight (kg)) but different variables.
    • If a customer places an order where the parcel weighs 2 kg the cost of that order will be 3 (the curreny is set depending on the country you’re in).
    • If a customer places an order where the parcel weighs 5.5 kg the cost of that order will be 5.
    • If a customer places an order where the parcel weighs 10 kg the cost of that order will be 7.

    b. All the matching rules works best with Price by range

    In any given number of rules if ALL the conditions are true, the price of ALL those rules will be added together. If there is one or more rule where one or more conditions are not true, those rules are excluded and get skipped.

    In the example below, all the conditions in Rule 1, 2 and 4 are true, meaning the total price the customer pays is 12.

      Rule 1 ✔️ Rule 2 ✔️ Rule 3 ❌ Rule 4 ✔️ TOTAL
    Price 4 3 7 5 12

    An usual use case for this custom pricing is the following:

      Rule 1 ✔️ Rule 2 ✔️
    Fixed price 4 -
    Price by range - 1 🔄
    Distance (km) > 0km between 3.1 and 3.9km
    TOTAL AMOUNT 4 5

    Rule 1 is usally set with a Fixed price and Rule 2 is set with Price by range where the set amount gets added over and over again 🔄 as many times as the formula indicates.

    IMPORTANT: Make sure the condition(s) in Rule 1 are always true. E.g.: Distance (km) > 0

    • if the customer lives less then or up to 3km away from the collection address, they will pay 4, because Distance (km) is more > than 0 and more > than 3 in Rule 2.
    • if the customer lives between 3.1 and 3.9 km from the collection address, they will pay 5 and if they live between 4 km and 4.1 km from the collection address they will pay 6 and so on, because Distance (km) is more > than 3 and they pay extra 1 for each 1 km above 3 km
  9. After you’ve configured your custom pricing, click Save

Example Rules

1. Old School Bike Messenger Pricing

When to use When you have clients who have deliveries that may go to any place in the city in unpredictable ways, so you must default to km-based pricing rules. Pros: Simple, can’t accidentally give a wrong price, easy for clients to understand

When not to use If you can avoid it, do. Do not use if you have any type of client other than that described above. Cons: This pricing rule is easy, but cannot be used for deliveries with multiple points since they will be charged more or less based on if they order the deliveries efficiently or not, which is not their concern. It also imagines you are only delivering their package, and not mixing with other clients in an effective way. Effectively, this is a pricing rule made for a type of delivery that is not longer common or strategically interesting for your business, creating unintended limitations long-term.

Configuration of the shops image

Standard Time Slot image

Pacakge Set image

Price Rules image

A Typical Delivery image

When to use Clients who have many different types of deliveries, multiple pickup locations in different parts of the city. Bakeries, florists, other types of local commerce. Pros: Can be used to make a standard pricing rule that simplifies commercial capture and operations, is more “fair” and precise

When not to use A simple client who wants a simple price they understand and will be put off by math and large tables Cons: Can confuse small business owners and make the commercial process harder. The more complex a rule gets, the harder it is to modify later.

Configuration of the shop image image

Time Slot with small delivery windows image

Time Slot with wide delivery windows image

Zones

image

Package Set image

Price Rules image image A Typical Delivery image

When to use When you have a client with a clear set of possible deliveries, but they may change or be arranged differently in each delivery. Any one order may be between 2 and 10 points, and there is not a huge variation between the types of packages you are carrying, or the time slots in which they are being delivered. Ex. notifications, fruit boxes, moving stock between stores. Pros: Avoids clients getting annoyed at slowly making orders one at a time, clean and simple pricing rule you can explain to a client that covers a wide range of use cases.

When not to use If the client cannot use CoopCycle as they should, or if they have a very high volume of orders Cons: This pricing rule is still being developed and still cannot be used with pricing rules that are based on time like Difference (hours), Difference (days) or time range length (hours) and in no circumstances can be used with rules based on kilometers of distance.

Configuration of the shop image

Time Slot with standardized delivery windows image

Package Set image

Price Rules image

A Typical Delivery image image

4. Last Mile At Volume

When to use For clients who give you a high volume of standarized packages such as magazines, small last mile pacakges from a provider like DHL, or any other delivery that can easily have an “average” price. Pros: Simple for client and invoicing.

When not to use Any client with deliveries that cannot be “averaged” Cons: If your average is wrong, later you will have made less money than you hope. Maybe the client says they have a simple and easily averaged need, but then ask for special or different deliveries in specific moment that should be more expensive, but the rule charges the “cheap” option.

Configuration of the shop image

Price Rules image image

A Typical Delivery in Excel image


Definitions of conditions

Brief description on each condition.

CONDITIONS DEFINITION
Distance (km) Determines the radius delivery area with the Business as the centre
Weight (kg) Conditions the price depending on the inputted weight of the parcel
Bike type Allows for a choice of “regular” or “cargo” bike
Pickup address Allows the selection of a Zone that contains the Pickup address
Dropoff address Allows the selection of a Zone that contains the Dropoff address
Difference (hours) Allows inputting a number indicating how many hours ahead a Delivery has to be placed. It can also condition the price.
Difference (days) Allows inputting a number indicating how many days ahead a Delivery has to be placed. It can also condition the price.
Doorstep dropoff Indicates if a delivery should be handed to the customer
Packages Conditions the price depending on the type of package
Volume Units Conditions the price depending on the inputted volume of the parcel
Pickup time range length Conditions the price depending on the length of time in which the pickup can be done
Dropoff time range length Conditions the price depending on the length of time in which the dropoff can be done
Type of Task Conditions the price depending on the type of task, plus whatever other condition. Must use for multidropoff
Items total Conditions the price dependand on the total amount of money on an order