1472 lines
75 KiB
HTML
1472 lines
75 KiB
HTML
<!--lint disable awesome-heading-->
|
||
<p align="center">
|
||
<a href="https://github.com/kdeldycke/awesome-billing/">
|
||
<img src="https://github.com/kdeldycke/awesome-billing/raw/main/assets/awesome-billing-header.jpg" alt="💰 Awesome Billing">
|
||
</a>
|
||
</p>
|
||
<p align="center">
|
||
<a href="https://github.com/sponsors/kdeldycke"> <strong>Yᴏᴜʀ Pʀᴏᴅᴜᴄᴛ
|
||
ʜᴇʀᴇ!</strong> <br/> <sup>Add a link to your company or project here:
|
||
purchase a GitHub sponsorship.</sup> </a>
|
||
</p>
|
||
<hr />
|
||
<p align="center">
|
||
<i>Money is the most universal and most efficient system of mutual trust
|
||
ever devised.</i><br> — Yuval Noah
|
||
Harari<sup id="intro-quote-ref"><a href="#intro-quote-def">[1]</a></sup>
|
||
</p>
|
||
<p>Any company needs at one point to get money from customers. That’s
|
||
when things gets messy for us developers, as we try to reconcile the
|
||
complexity of the business with our software stack.</p>
|
||
<p>This <a href="https://github.com/sindresorhus/awesome"><img
|
||
src="https://awesome.re/badge-flat.svg" alt="Awesome" /></a> list helps
|
||
software engineers <strong>bootstrap billing & payments systems, and
|
||
make sense of invoicing, pricing, accounting, marketplace, fraud and
|
||
business intelligence</strong>.</p>
|
||
<h2 id="contents">Contents</h2>
|
||
<!-- mdformat-toc start --slug=github --no-anchors --maxlevel=6 --minlevel=2 -->
|
||
<ul>
|
||
<li><a href="#basics">Basics</a></li>
|
||
<li><a href="#pricing">Pricing</a>
|
||
<ul>
|
||
<li><a href="#usage-based-pricing">Usage-based Pricing</a></li>
|
||
<li><a href="#subscription-plans">Subscription Plans</a></li>
|
||
<li><a href="#hybrid">Hybrid</a></li>
|
||
<li><a href="#strategy">Strategy</a></li>
|
||
<li><a href="#market-research">Market Research</a></li>
|
||
</ul></li>
|
||
<li><a href="#product-catalog">Product Catalog</a></li>
|
||
<li><a href="#calculator">Calculator</a></li>
|
||
<li><a href="#cost-forecast">Cost Forecast</a></li>
|
||
<li><a href="#marketplace">Marketplace</a>
|
||
<ul>
|
||
<li><a href="#cloud-resources">Cloud Resources</a></li>
|
||
<li><a href="#online-ads">Online Ads</a></li>
|
||
</ul></li>
|
||
<li><a href="#accounting">Accounting</a>
|
||
<ul>
|
||
<li><a href="#double-entry-model">Double-Entry Model</a></li>
|
||
<li><a href="#bookkeeping">Bookkeeping</a></li>
|
||
<li><a href="#software-design-and-implementation">Software design and
|
||
implementation</a></li>
|
||
<li><a href="#currencies">Currencies</a></li>
|
||
</ul></li>
|
||
<li><a href="#finance">Finance</a></li>
|
||
<li><a href="#contracts">Contracts</a></li>
|
||
<li><a href="#coupons-and-vouchers">Coupons and Vouchers</a></li>
|
||
<li><a href="#taxes">Taxes</a>
|
||
<ul>
|
||
<li><a href="#european-vat">European VAT</a></li>
|
||
</ul></li>
|
||
<li><a href="#invoice">Invoice</a>
|
||
<ul>
|
||
<li><a href="#structure">Structure</a></li>
|
||
<li><a href="#integrity">Integrity</a></li>
|
||
<li><a href="#generators">Generators</a></li>
|
||
<li><a href="#extractors">Extractors</a></li>
|
||
<li><a href="#electronic-invoices">Electronic invoices</a></li>
|
||
</ul></li>
|
||
<li><a href="#payments">Payments</a>
|
||
<ul>
|
||
<li><a href="#receipt">Receipt</a></li>
|
||
<li><a href="#credit-cards">Credit Cards</a></li>
|
||
<li><a href="#bank-accounts">Bank Accounts</a></li>
|
||
<li><a href="#online-payments">Online Payments</a></li>
|
||
</ul></li>
|
||
<li><a href="#fraud">Fraud</a>
|
||
<ul>
|
||
<li><a href="#cards">Cards</a></li>
|
||
<li><a href="#trust-score">Trust Score</a></li>
|
||
<li><a href="#statistics">Statistics</a></li>
|
||
<li><a href="#billing">Billing</a></li>
|
||
</ul></li>
|
||
<li><a href="#uxui">UX/UI</a></li>
|
||
<li><a href="#business-intelligence">Business Intelligence</a>
|
||
<ul>
|
||
<li><a href="#metrics">Metrics</a></li>
|
||
<li><a href="#customer-lifetime-value">Customer Lifetime Value</a></li>
|
||
<li><a href="#data-engineering">Data Engineering</a></li>
|
||
<li><a href="#tools">Tools</a></li>
|
||
</ul></li>
|
||
<li><a href="#competitive-analysis">Competitive Analysis</a>
|
||
<ul>
|
||
<li><a href="#cloud-providers">Cloud providers</a></li>
|
||
</ul></li>
|
||
<li><a href="#history">History</a></li>
|
||
<li><a href="#humour">Humour</a></li>
|
||
</ul>
|
||
<!-- mdformat-toc end -->
|
||
<h2 id="basics">Basics</h2>
|
||
<p><img align="right" width="50%" src="./assets/cloud-software-stack-billing.jpg"/></p>
|
||
<p>In a Stanford class providing an <a
|
||
href="https://web.stanford.edu/class/cs349d/docs/L01_overview.pdf">overview
|
||
of cloud computing</a>, the software architecture of the platform is
|
||
described as in the right diagram →</p>
|
||
<!--lint disable double-link-->
|
||
<p>Billing is one of the transversal pillar of the ecosystem, where
|
||
customers, products and business meets. The <a
|
||
href="https://github.com/kdeldycke/awesome-iam/">other pillar being
|
||
Identity and Access Management (IAM) 👤</a>.</p>
|
||
<!--lint enable double-link-->
|
||
<p>This highlight the strategic importance of the domain, not only for
|
||
cloud providers but virtually any business, especially those who are
|
||
software-centric.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://arnon.dk/5-things-i-learned-developing-billing-system/">5
|
||
things I learned while developing a billing system</a> - A great
|
||
introduction on all the various aspects of a billing system, from
|
||
currency to invoices, including great illustrations on the logic of
|
||
changing plans. All these topics are detailed in dedicated sections
|
||
below.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/open-guides/og-aws#billing-and-cost-management">Open
|
||
guide to AWS</a> - Links to the <em>Billing and Cost Management</em>
|
||
section which details the broad characteristics of billing for a cloud
|
||
provider.</p></li>
|
||
<li><p><a href="https://xunroll.com/thread/1668082843728367616">Billed
|
||
for ¥21,120, invoiced at ¥2,112,000 and paid ¥2,112,000</a> - <a
|
||
href="https://xunroll.com/thread/1599113889093890049">Get rid of
|
||
integers and floats for monetary values</a>. Use decimals. Or face the
|
||
risks of anomalous x100 charges.</p></li>
|
||
<li><p>How to recruit software engineers in this domain? “The trick is
|
||
to make the accounting/billing/payment department the antechamber of
|
||
data engineering.” (<a
|
||
href="https://x.com/kdeldycke/status/1422564355799924736">source</a>)</p></li>
|
||
</ul>
|
||
<h2 id="pricing">Pricing</h2>
|
||
<p>From monthly subscription to commodity-like on-the-go consumption,
|
||
there’s plenty of scheme out there to structure your product’s pricing.
|
||
Including the good old shopping-cart funnel.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://neildavidson.com/downloads/dont-just-roll-the-dice-2.0.0.pdf">Don’t
|
||
just roll the dice – Software pricing guide</a> - Huge and complete
|
||
collection of pricing scheme, with their psychological effect and impact
|
||
on revenue model.</p></li>
|
||
<li><p><a
|
||
href="https://reasonstreet.co/business-model-library/">Business Model
|
||
Patterns</a> - A list of 15 different ways to sell products and
|
||
services.</p></li>
|
||
<li><p><a href="https://archive.ph/BFsZ1">Axial - Business models</a> -
|
||
38 models for inspiration.</p></li>
|
||
<li><p><a
|
||
href="https://medium.com/breadcrumb/the-network-monetization-map-aligning-incentives-with-revenue-b73c362d1ad5">The
|
||
Network Monetization Map: Aligning Incentives with Revenue</a> - 6
|
||
models of monetization relying on network effect.</p></li>
|
||
<li><p><a href="https://priceops.org">The 5 Pillars of PriceOps</a> - A
|
||
manifesto inspired by the DevOps movement in which pricing is no longer
|
||
ossified, but is practiced as a responsive iteration process, and
|
||
implemented as a flexible property of the system.</p></li>
|
||
<li><p><a href="https://saaspricingexplorer.hyperline.co">SaaS pricing
|
||
explorer</a> - A collection of 1000+ pricing pages for
|
||
inspiration.</p></li>
|
||
</ul>
|
||
<h3 id="usage-based-pricing">Usage-based Pricing</h3>
|
||
<p>The dynamic scheme for elastic resources.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://www.rdegges.com/2020/the-only-type-of-api-services-ill-use/">Why
|
||
I Love Usage-Based Pricing</a> - “The most important reason I like this
|
||
pricing model is that it heavily incentivizes both the customer and the
|
||
service provider to act in everyone’s best interest.” Also details
|
||
issues with other pricing models.</p></li>
|
||
<li><p><a href="https://news.ycombinator.com/item?id=19830022">Use-cases
|
||
for cloud services</a> - The reason usage-based pricing makes even more
|
||
sense for cloud services: to optimize ROI, keep all regular workload in
|
||
traditional architecture and reserve cloud computing for elastic and
|
||
experimental projects.</p></li>
|
||
<li><p><a
|
||
href="https://webee.technion.ac.il/people/shimkin/PAPERS/Menache-CloudPricing-Conf2011.pdf">Socially
|
||
Optimal Pricing of Cloud Computing Resources</a> - “The socially optimal
|
||
operating point is unique, and can be sustained by a linear, usage-based
|
||
tariff, which charges a fixed price per unit resource and unit time.”
|
||
This paper justify usage-based pricing for cloud resources.</p></li>
|
||
<li><p><a
|
||
href="http://www.cs.newpaltz.edu/~lik/publications/Peijin-Cong-ACM-CS-a-2020.pdf">A
|
||
Survey of Profit Optimization Techniques for Cloud Providers</a> - “The
|
||
strategy of improving user service quality is discussed first, followed
|
||
by the pricing strategy for cloud resources to maximize
|
||
revenue.”</p></li>
|
||
<li><p>“Billing is not complex on purpose: it’s the price to pay for
|
||
elasticity.” (<a
|
||
href="https://x.com/kdeldycke/status/1214160678363246592">source</a>) -
|
||
Or why you’re likely to get an endless stream of complaining users if
|
||
choosing utility pricing scheme: while accurate to the (milli-)cent,
|
||
this model is frustrating for customers not ready to invest time
|
||
grasping the underlying concepts.</p></li>
|
||
<li><p><a href="https://en.wikipedia.org/wiki/Riemann_sum">Riemann
|
||
sum</a> - The starting point about quantization of usage.</p></li>
|
||
<li><p><a
|
||
href="https://en.wikipedia.org/wiki/Allen%27s_interval_algebra">Allen’s
|
||
interval algebra</a> - Implementing usage-based pricing is tricky, and
|
||
this algebra will help you organize temporal reasoning. Also see this <a
|
||
href="https://web.archive.org/web/20240413010618/https://stackoverflow.com/questions/12069082/allens-interval-algebra-operations-in-sql?rq=1">Stack
|
||
Overflow question with clean schema</a>.</p></li>
|
||
<li><p><a
|
||
href="https://medium.com/@lukwam/reconcile-your-monthly-gcp-invoice-with-bigquery-billing-export-b36ae0c961e">Reconcile
|
||
Your Monthly GCP Invoice with BigQuery Billing Export</a> - Behind the
|
||
quest of this developer to track its expenses, you get a glimpse on
|
||
cloud billing difficulties. While not explicitly pointed out, pricing
|
||
cloud resources is hard and the result of quantization, granularity and
|
||
rounding, between space, time and currencies.</p></li>
|
||
<li><p><a
|
||
href="https://roberttisdale.com/aws-ec2-t2-instances-demystified-dont-learn-hard-way/">AWS
|
||
EC2 T2 Instances Demystified: Don’t Learn The Hard Way</a> - An example
|
||
of really tricky burstable instances which accrues and limits its own
|
||
amount of CPU usage credits.</p></li>
|
||
<li><p><a
|
||
href="https://news.ycombinator.com/item?id=23536919">“Designing billing
|
||
for a service can be really challenging”</a> - Personal anecdote on the
|
||
design of the pricing plan for AWS Simple Email Service.</p></li>
|
||
<li><p><a
|
||
href="https://techcrunch.com/2021/01/29/subscription-based-pricing-is-dead-smart-saas-companies-are-shifting-to-usage-based-models/">Subscription-based
|
||
pricing is dead: Smart SaaS companies are shifting to usage-based
|
||
models</a> - Usage-based pricing is more optimal and more fair: it
|
||
“allows a customer to start at a low cost, minimizing friction to
|
||
getting started while still preserving the ability to monetize a
|
||
customer over time”.</p></li>
|
||
<li><p><a
|
||
href="https://www.electropedia.org/iev/iev.nsf/index?openform&part=691">Electropedia:
|
||
Tariffs for electricity</a> - Before the cloud, there was another
|
||
metered resource priced by its usage: electricity. Here is a detailed
|
||
(and multi-lingual) taxonomy of its vocabulary from the International
|
||
Electrotechnical Commission.</p></li>
|
||
<li><p><a href="https://github.com/getlago/lago">Lago</a> - Open-source
|
||
metering & usage-based billing in Ruby.</p></li>
|
||
<li><p><a href="https://github.com/cgrates/cgrates">CGRateS</a> - An
|
||
open-source, fast (50k+ CPS) and scalable (load-balancer + replication
|
||
included) real-time billing for ISPs and Telecom Operators, written in
|
||
Go.</p></li>
|
||
</ul>
|
||
<h3 id="subscription-plans">Subscription Plans</h3>
|
||
<p>Highly popular for SaaS businesses, subscription plans are easy to
|
||
comprehend.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://stripe.com/en-in/atlas/guides/saas-pricing">Pricing
|
||
low-touch SaaS</a> - “In low-touch SaaS, the most common way packages
|
||
are presented are as different columns in a pricing grid, with each
|
||
column corresponding to a plan, offered at a different price, with
|
||
differential access to features or maximum allowable usage along some
|
||
axis interesting to the business.”</p></li>
|
||
<li><p><a href="https://github.com/uselotus/lotus">Lotus</a> -
|
||
Open-source project to manage pricing & packaging
|
||
infrastructure.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/furkansenharputlu/f-license"><code>f-license</code></a>
|
||
- Open-source license key generation and verification tool in
|
||
Go.</p></li>
|
||
</ul>
|
||
<h3 id="hybrid">Hybrid</h3>
|
||
<p>Uncommon pricing schemes.</p>
|
||
<ul>
|
||
<li><a href="https://tomtunguz.com/three-part-tariffs/">The Three Part
|
||
Tariff</a> - Beyond linear pricing, there is a place for additional
|
||
platform fees and free-tiers in the pricing structure.</li>
|
||
</ul>
|
||
<h3 id="strategy">Strategy</h3>
|
||
<p>Theory and practical insight to help you choose the right pricing
|
||
tactics.</p>
|
||
<ul>
|
||
<li><p>“There are two ways to make money. You can bundle, or you can
|
||
unbundle.” - <a
|
||
href="https://hbr.org/podcast/2014/07/marc-andreessen-and-jim-barksdale-on-how-to-make-money.html#:~:text=in%20business%2C%20there%20are%20two%20ways%20to%20make%20money.%20You%20can%20bundle%2C%20or%20you%20can%20unbundle.">Jim
|
||
Barksdale</a>.</p></li>
|
||
<li><p><a
|
||
href="https://www.nickkolenda.com/psychological-pricing-strategies/">Pricing
|
||
Psychology</a> - Which numbers should you use? How high should it be?
|
||
Should it be rounded? This guide has 42 tricks to help you choose the
|
||
best price.</p></li>
|
||
<li><p><a
|
||
href="https://tomtunguz.com/how-to-price-your-startups-product/">The 7
|
||
factors to consider when pricing your startup product</a> - Pricing is
|
||
an offensive tool to reinforce your product value and underscore the
|
||
company core marketing message.</p></li>
|
||
<li><p><a
|
||
href="https://sbigrowth.com/hubfs/SBI_PI_AnatomyofSaaSPricingStrategy_Handbook.pdf">The
|
||
Anatomy of SaaS Pricing Strategy</a> - Explain how to articulate the
|
||
pricing of SaaS businesses around the product strategy.</p></li>
|
||
<li><p><a
|
||
href="https://blog.gingerlime.com/2020/the-cup-of-coffee-pricing-fallacy/">The
|
||
cup-of-coffee pricing fallacy</a> - Explains why it is a sloppy
|
||
analogy.</p></li>
|
||
<li><p><a
|
||
href="https://monkeynoodle.org/2024/02/10/changing-the-pricing-model/">Changing
|
||
the Pricing Model</a> - A couple of ways to re-license your
|
||
product.</p></li>
|
||
</ul>
|
||
<h3 id="market-research">Market Research</h3>
|
||
<p>Survey methods and price discovery techniques to find the right price
|
||
point.</p>
|
||
<ul>
|
||
<li><p><a href="https://youtu.be/vYrWTDxoeGg?t=542">Jeremy Howard - From
|
||
Predictive Modelling to Optimization</a> - “In insurance, the price is
|
||
the product. (…) How do I change price to make shitload of money?” Or
|
||
how to deliver results (optimal price for a customer) instead of
|
||
delivering data (calculating a customer’s risk, which had been the
|
||
standard approach used by actuaries previously).</p></li>
|
||
<li><p><a
|
||
href="https://en.wikipedia.org/wiki/Gabor%E2%80%93Granger_method">Gabor–Granger
|
||
method</a> - Used in surveys to determine the price for a new product or
|
||
service. The results can be used to produce a demand chart and a revenue
|
||
curve.</p></li>
|
||
<li><p><a
|
||
href="https://en.wikipedia.org/wiki/Van_Westendorp%27s_Price_Sensitivity_Meter">Van
|
||
Westendorp’s Price Sensitivity Meter</a> - PSM is a market technique for
|
||
determining consumer price preferences. Allows for drawing a revenue
|
||
curve to estimate the price point delivering the maximum
|
||
revenue.</p></li>
|
||
<li><p><a
|
||
href="https://kevinlynagh.com/notes/pricing-niche-products/">Pricing
|
||
niche products</a> - “The most compelling argument against simply
|
||
picking a price, though, is that it limits how much you can learn about
|
||
your market.” Then the author setup vickrey auctions to discover
|
||
price.</p></li>
|
||
<li><p><a
|
||
href="https://medium.com/@hovm/finding-the-max-revenue-price-mark-for-digital-products-24cef24f746d">Finding
|
||
the max revenue price mark for digital products</a> - “To find the
|
||
optimal price that provides maximum revenue for your product you will
|
||
need to field-test several price points; you then reconstruct the
|
||
revenue curve and find the peak.”</p></li>
|
||
<li><p><a
|
||
href="https://www.econstor.eu/bitstream/10419/205221/1/de-Streel-Jacques.pdf">Personalised
|
||
pricing and EU law</a> - Some cases of price personalisation are
|
||
prohibited in EU due to consumer protection and data protection
|
||
rules.</p></li>
|
||
</ul>
|
||
<h2 id="product-catalog">Product Catalog</h2>
|
||
<p>The central repository of all available services, products, variants,
|
||
options and pricing available to the customer to purchase. Catalogs for
|
||
cloud services are most of the time tailor-made, but there is some
|
||
classic PDM solutions (<a
|
||
href="https://en.wikipedia.org/wiki/Product_information_management">Product
|
||
Data Management</a>, a.k.a. PIM for Product Information Management) out
|
||
there that might fit the bill.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://cloud.google.com/blog/products/gcp/introducing-cloud-billing-catalog-api-gcp-pricing-in-real-time">GCP
|
||
Product Catalog</a> - All GCP SKUs available as an API.</p></li>
|
||
<li><p><a href="https://github.com/akeneo/pim-community-dev">Akeneo
|
||
PIM</a> - The open-source variant of the commercial Akeneo
|
||
products.</p></li>
|
||
<li><p><a href="https://github.com/pimcore/pimcore">Pimcore</a> - An
|
||
open-source UI and database to manage product metadata, written in PHP
|
||
Symfony.</p></li>
|
||
<li><p><a href="https://github.com/openpim">OpenPIM</a> - A streamlined
|
||
open-source project, focusing on PIM-only features.</p></li>
|
||
<li><p><a
|
||
href="https://medium.com/@slavapedak/comparing-3-free-and-open-source-product-information-management-pim-solutions-e83a1898f91e">Comparing
|
||
3 open source PIM solutions</a> - Comparative study of the 3 projects
|
||
above.</p></li>
|
||
</ul>
|
||
<h2 id="calculator">Calculator</h2>
|
||
<p>Simulate a virtual invoice depending on the resource you plan to
|
||
use.</p>
|
||
<ul>
|
||
<li><p><a href="https://www.cloudorado.com">Cloudorado</a> - A
|
||
comparison matrix which use ECU (Amazon’s vCPU) as a CPU power measure
|
||
unit.</p></li>
|
||
<li><p><a href="https://ec2instances.info">EC2Instances.info</a> - Easy
|
||
Amazon EC2 Instance Comparison.</p></li>
|
||
</ul>
|
||
<h2 id="cost-forecast">Cost Forecast</h2>
|
||
<p>Help your customers predict their upcoming and future consumption
|
||
based on their past usage.</p>
|
||
<ul>
|
||
<li><p><a href="https://otexts.com/fpp2/">Forecasting: Principles and
|
||
Practice</a> - “Comprehensive introduction to forecasting methods and to
|
||
present enough information about each method for readers to be able to
|
||
use them sensibly.”</p></li>
|
||
<li><p><a
|
||
href="https://web.archive.org/web/20221203184815/https://www.uber.com/blog/transforming-financial-forecasting-machine-learning/">Transforming
|
||
Financial Forecasting with Data Science and Machine Learning at Uber</a>
|
||
- Discusses how Uber apply data science and machine learning in their
|
||
financial planning platforms.</p></li>
|
||
<li><p><a
|
||
href="https://www.liip.ch/en/blog/time-series-prediction-a-short-comparison-of-best-practices">Time
|
||
Series Prediction - A short introduction for pragmatists</a> - Great
|
||
introduction on how time series can be used to evaluate business
|
||
problems.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/alan-turing-institute/sktime/blob/master/examples/01_forecasting.ipynb">Forecasting
|
||
with sktime</a> - A more detailed tutorial on how to use past data to
|
||
make temporal forward predictions. And be aware of the <a
|
||
href="https://news.ycombinator.com/item?id=24543861">differences between
|
||
sktime and the Prophet project</a> mentioned in the article
|
||
above.</p></li>
|
||
<li><p><a href="https://github.com/unit8co/darts">Darts</a> - Python
|
||
library for user-friendly forecasting and anomaly detection on time
|
||
series. It wraps a huge number of models, including <a
|
||
href="https://facebook.github.io/prophet/">Prophet</a>. Great for
|
||
experiments, but bear in mind that all the <a
|
||
href="https://news.ycombinator.com/item?id=37665435">models in Darts
|
||
expects</a> that your data comes at a very regular interval, and make a
|
||
lot of assumptions about their shape.</p></li>
|
||
<li><p><a href="https://github.com/mlabouardy/komiser">Komiser</a> -
|
||
Open-source tool to stay under budget by uncovering hidden costs,
|
||
monitoring increases in spend, and making impactful changes based on
|
||
custom recommendations.</p></li>
|
||
<li><p><a
|
||
href="https://cloud.google.com//billing/docs/how-to/reports#cost-forecast">GCP
|
||
Cost Forecast</a> - An example of consumption trend line for resource
|
||
consumption.</p></li>
|
||
<li><p><a href="https://aws.amazon.com/forecast/">AWS Forecast</a> - A
|
||
full-featured hosted product to perform forecasting on any
|
||
time-series.</p></li>
|
||
<li><p><a
|
||
href="https://threadreaderapp.com/thread/1091041507342086144.html">How
|
||
to save money on your AWS bill</a> - “The biggest cost savings there
|
||
are: 1. Turning things off that you’re not using; 2. Then spot
|
||
instances; 3. Then reserved instances.”</p></li>
|
||
</ul>
|
||
<h2 id="marketplace">Marketplace</h2>
|
||
<p>A marketplace connect supply with demand that lead to a financial
|
||
transaction. If there is no payment involved, then it is an aggregator,
|
||
or a hub. Not a marketplace.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://www.kdd.org/kdd2018/accepted-papers/view/customized-regression-model-for-airbnb-dynamic-pricing">Customized
|
||
Regression Model for Airbnb Dynamic Pricing</a> - This paper describes
|
||
the pricing strategy model deployed at Airbnb.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/papers-we-love/papers-we-love/tree/master/economics#auctions-and-bidding">Papers
|
||
we love: Auctions and Bidding</a> - A collection of papers on bidding
|
||
and auctions.</p></li>
|
||
<li><p><a href="https://en.wikipedia.org/wiki/Vickrey_auction">Vickrey
|
||
auction</a> - Hinted by an <a
|
||
href="https://news.ycombinator.com/item?id=19145391">HN comment</a>, in
|
||
which yes, “‘Asking people what they’d pay for and how much rarely
|
||
works.’ (…) [but] using a Vickrey auction, similar to Google’s ad
|
||
auction mechanism, can elicit a person’s maximum
|
||
willingness-to-pay.”</p></li>
|
||
<li><p><a
|
||
href="https://www.nfx.com/post/19-marketplace-tactics-for-overcoming-the-chicken-or-egg-problem">19
|
||
Tactics to Solve the Chicken-or-Egg Problem and Grow Your
|
||
Marketplace</a> - “Which comes first, the supply or the demand? Chicken
|
||
or egg?”</p></li>
|
||
<li><p>How to Kickstart and Scale a Marketplace Business: <a
|
||
href="https://www.lennysnewsletter.com/p/how-to-kickstart-and-scale-a-marketplace">Constrain
|
||
the marketplace</a>; Decide which side of the marketplace to concentrate
|
||
on; Drive initial supply; Drive initial demand. A 4-parts series with
|
||
dozen of interviews of people with direct experience building and
|
||
scaling marketplaces.</p></li>
|
||
<li><p><a
|
||
href="https://abovethecrowd.com/2013/04/18/a-rake-too-far-optimal-platformpricing-strategy/">A
|
||
Rake Too Far: Optimal Platform Pricing Strategy</a> - A bit of
|
||
vocabulary: “In a casino, the term <em>rake</em> refers to the
|
||
commission that the house earns for operating a poker game. (…) While
|
||
casinos use the term <em>rake</em>, a plethora of interesting word
|
||
choices exist which all describe the same thing – keeping a little bit
|
||
of the revenue for the company that is running the service.”</p></li>
|
||
</ul>
|
||
<h3 id="cloud-resources">Cloud Resources</h3>
|
||
<p>This sub-section focus on bid/ask mechanism matching resource
|
||
producer with consumers. Most of the time these are one-sided markets
|
||
with the big platform trying to amortized under-utilized inventory.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://papers.agoric.com/assets/pdf/papers/incentive-engineering-for-computational-resource-management.pdf">Incentive
|
||
Engineering for Computational Resource Management</a> - Paper exploring
|
||
the “mechanisms for the allocation of processor time and storage that
|
||
are compatible both with programming practice and with market
|
||
mechanisms.”</p></li>
|
||
<li><p><a
|
||
href="http://www.sigmetrics.org/mama/2013/abstracts2013/UrgaonkarEtAl.pdf">Pricing
|
||
of Service in Clouds: Optimal Response and Strategic Interactions</a> -
|
||
“How should the consumer modulate its demand to optimize its profits?
|
||
(…) How should the provider and consumer negotiate the specific pricing
|
||
structure they will employ?” Covers non-linear models, tiered pricing,
|
||
elastic demand, consumer et provider strategies.</p></li>
|
||
<li><p><a
|
||
href="https://henryhxu.github.io/share/hxu-tcc2013.pdf">Dynamic Cloud
|
||
Pricing for Revenue Maximization</a> - “Amazon’s spot price is unlikely
|
||
to be set according to market supply and demand. Rather, price
|
||
oscillates within a very narrow band most of the time, which is more
|
||
likely to be an artifact of some pricing algorithm with predetermined
|
||
reserve price.”</p></li>
|
||
<li><p><a href="https://mc4f.ee/Papers/PDF/EconPublicCloud.pdf">Usage
|
||
Patterns and the Economics of the Public Cloud</a> - “We examine the
|
||
economics of demand and supply in cloud computing. (…) These results
|
||
explain why fixed prices currently prevail despite the seeming need for
|
||
time-varying dynamics. Examining the actual CPU utilization provides a
|
||
lens into the future. (…) demand fluctuations would be on par with the
|
||
three classic industries where dynamic pricing is important (hotels,
|
||
electricity, airlines) and dynamic prices would be essential for
|
||
efficiency.”</p></li>
|
||
<li><p><a href="https://arxiv.org/pdf/1507.02545.pdf">Maximizing Profit
|
||
of Cloud Brokers under Quantized Billing Cycles: a Dynamic Pricing
|
||
Strategy based on Ski-Rental Problem</a> - “The key idea of our
|
||
algorithms is to use pricing signal to regulate user demand. One may
|
||
argue that such an algorithm gives poor service to the user as it pushes
|
||
tasks out of the queue in order to maximize cloud broker’s
|
||
profit.”</p></li>
|
||
<li><p><a
|
||
href="https://web.archive.org/web/20150708151037/http://www.temple.edu/cis/icdcs2013/data/5000a410.pdf">Present
|
||
or Future: Optimal Pricing for Spot Instances</a> - “Pricing policy of
|
||
spot resources should be carefully designed and the impact on both
|
||
present and future should be considered.”</p></li>
|
||
<li><p>“You always pay the spot market price, not your bid.” (<a
|
||
href="https://news.ycombinator.com/item?id=20347716">source</a>) -
|
||
Simple explanation of the bidding mechanism.</p></li>
|
||
<li><p><a
|
||
href="https://dants.github.io/papers/Spotprice11CloudCom.pdf">Deconstructing
|
||
Amazon EC2 Spot Instance Pricing</a> - “Cloud providers possessing large
|
||
quantities of spare capacity must either incentivize clients to purchase
|
||
it or suffer losses. Amazon is the first cloud provider to address this
|
||
challenge, by allowing clients to bid on spare capacity and by granting
|
||
resources to bidders while their bids exceed a periodically changing
|
||
spot price.”</p></li>
|
||
<li><p><a href="https://news.ycombinator.com/item?id=9564287">GCP
|
||
Preemptible VMs vs AWS Spot Instances</a> - “Google’s prices are fixed,
|
||
whereas AWS uses a market model”.</p></li>
|
||
<li><p>“Look at the 3-month spot price history to estimate cost and to
|
||
discover combinations of availability zone and instance type with extra
|
||
capacity.” (<a
|
||
href="https://news.ycombinator.com/item?id=16071684">source</a>) - Users
|
||
are seeking more transparency on the spot market.</p></li>
|
||
<li><p><a
|
||
href="http://highscalability.com/blog/2017/12/4/the-eternal-cost-savings-of-netflixs-internal-spot-market.html">The
|
||
Eternal Cost Savings Of Netflix’s Internal Spot Market</a> - When you’re
|
||
big enough that <a
|
||
href="https://medium.com/netflix-techblog/creating-your-own-ec2-spot-market-6dd001875f5">creating
|
||
an internal secondary market</a> for instances makes economic
|
||
sense.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/AutoSpotting/AutoSpotting">AutoSpotting</a> -
|
||
Tool that easily and reliably converts (all) your existing AutoScaling
|
||
groups to cheaper spot instances.</p></li>
|
||
</ul>
|
||
<h3 id="online-ads">Online Ads</h3>
|
||
<p>Targeted online advertisements marketplaces have a lot in common with
|
||
traditional cloud marketplace. Some good inspiration there, from
|
||
concepts to tech.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://github.com/PragmaticLab/RTB_Budget_Pacing_Summarized">RTB
|
||
Budget Pacing Summarized</a> - A collection of budget pacing resources
|
||
for targeted online advertisements.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/eloraiby/fs-pacer/blob/master/fs-pacer.md">Samsung’s
|
||
online ads platform/exchange war story</a> - How to scale to 5M bid
|
||
request/s, 2ms Max Response Time.</p></li>
|
||
<li><p><a href="https://github.com/RTB4FREE"><code>RTB4Free</code></a> -
|
||
Open Source Bidder and Demand Side Platform (DSP).</p></li>
|
||
</ul>
|
||
<h2 id="accounting">Accounting</h2>
|
||
<ul>
|
||
<li>“The Accounting department is usually backwards facing. The Finance
|
||
department is usually forwards facing.” (<a
|
||
href="https://news.ycombinator.com/item?id=25366184">source</a>)</li>
|
||
</ul>
|
||
<h3 id="double-entry-model">Double-Entry Model</h3>
|
||
<p>The core concept of accounting is double-entry. It is the most
|
||
critical part to grasp in order to properly design any robust system
|
||
that tracks money.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://docs.google.com/document/d/1HDLRa6vKpclO1JtxbGB5NeAYWf8cf1UMGy22o8OZZq4">Accounting
|
||
for Developers 101</a> - A general introduction to history and
|
||
vocabulary of accounting.</p></li>
|
||
<li><p><a
|
||
href="https://martin.kleppmann.com/2011/03/07/accounting-for-computer-scientists.html">Accounting
|
||
for Computer Scientists</a> - Describes how to view accounting in the
|
||
form of graphs in which money flows, then how these movements are
|
||
materialized in the financial statements of a small company.</p></li>
|
||
<li><p><a
|
||
href="https://beancount.github.io/docs/the_double_entry_counting_method.html">The
|
||
Double-Entry Counting Method</a> - Same premise as above, but way more
|
||
detailed and complete, as it adds reporting and implementation
|
||
details.</p></li>
|
||
<li><p><a
|
||
href="https://www.odoo.com/documentation/functional/accounting.html">Accounting
|
||
Memento For Entrepreneurs (US GAAP)</a> - An interactive form to play
|
||
with accounting concepts.</p></li>
|
||
</ul>
|
||
<h3 id="bookkeeping">Bookkeeping</h3>
|
||
<p>Everything you need to know about the daily practice of keeping your
|
||
accounting data clean and tidy.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://www.dwmbeancounter.com/BCTutorials/BCIntro/index.html">So,
|
||
you want to learn Bookkeeping!</a> - Focus on the daily operations of
|
||
recording and maintaining the transactions of a business.</p></li>
|
||
<li><p><a
|
||
href="https://bam.kalzumeus.com/archive/a-game-that-intentionally-frustrates-the-player/">Reconciliation:
|
||
A game designed to frustrate the player</a> - “Reconciliation is a
|
||
business process which arises almost entirely because of a lack of
|
||
structured data in the pipelines that convey money between businesses”.
|
||
There are some hack to streamline the process, like adding an arbitrary
|
||
discount to produce unique trailing decimals, or setup a couple of
|
||
virtual bank accounts as proxy.</p></li>
|
||
<li><p><a href="https://plaintextaccounting.org/#software">Plain text
|
||
accounting tools</a> - Extensive list of open-source personal finance
|
||
projects that might be great to look into for inspiration on
|
||
double-entry accounting and bookkeeping.</p></li>
|
||
<li><p>And a list of graphical accounting tools: <a
|
||
href="https://gnucash.org">GNUCash</a> (GTK+), <a
|
||
href="https://grisbi.org">Grisbi</a> (C), <a
|
||
href="https://firefly-iii.org">Firefly III</a> (PHP).</p></li>
|
||
<li><p><a
|
||
href="https://www.gnucash.org/docs/v2.4/C/gnucash-guide/">GnuCash
|
||
Tutorial and Concepts Guide</a> - A complete tutorial on personal
|
||
finance tracking with GnuCash.</p></li>
|
||
<li><p><a href="https://github.com/frappe/books">Frappe Books</a> - Free
|
||
Desktop book-keeping software for small-businesses and
|
||
freelancers.</p></li>
|
||
<li><p><a href="https://github.com/brandon-rhodes/luca">Luca</a> - YAML
|
||
accounting and JSON tax forms.</p></li>
|
||
<li><p><a href="https://github.com/decimals/sequence">Sequence</a> - API
|
||
that store, validate and reports asset movements. Also known as a
|
||
Ledger. Sequence is immutable, scalable, and easy to use.</p></li>
|
||
<li><p><a href="https://github.com/darcys22/godbledger">Go DB Ledger</a>
|
||
- An open source accounting system that aims to make the recording of
|
||
double entry bookkeeping transactions programmable.</p></li>
|
||
<li><p><a href="https://github.com/numary/ledger">Ledger</a> - A
|
||
scriptable financial ledger, designed to make it easy to model complex
|
||
financial transactions.</p></li>
|
||
<li><p><a href="https://github.com/akaunting/akaunting">Akaunting</a> -
|
||
Open source software designed for small businesses and
|
||
freelancers.</p></li>
|
||
</ul>
|
||
<h3 id="software-design-and-implementation">Software design and
|
||
implementation</h3>
|
||
<p>Now that you’re somewhat familiar with the concepts and practice of
|
||
accounting, here are some resources to help you implement that knowledge
|
||
into software systems.</p>
|
||
<ul>
|
||
<li><p><a href="https://blog.plover.com/prog/Moonpig.html">Moonpig: a
|
||
billing system that doesn’t suck</a> - Design decisions behind a billing
|
||
and accounting system. Key takeaway: some companies still pays by
|
||
checks; do not use floats; complex customer workflows; date and time
|
||
issues; mutable data.</p></li>
|
||
<li><p><a
|
||
href="https://developer.squareup.com/blog/books-an-immutable-double-entry-accounting-database-service/">Books,
|
||
an immutable double-entry accounting database service</a> - Explain the
|
||
basic data model of a double-entry accounting system relying on Google
|
||
Spanner for internal use at Square.</p></li>
|
||
<li><p><a href="https://github.com/coilhq/tigerbeetle">TigerBeetle</a> -
|
||
A distributed financial accounting database to ensure that the money
|
||
either moves, or doesn’t move, that it doesn’t get lost somewhere in
|
||
between. It has been <a
|
||
href="https://jepsen.io/analyses/tigerbeetle-0.16.11">tested on
|
||
Jepsen</a>, which tested its strong serializability.</p></li>
|
||
<li><p><a href="https://django-hordak.readthedocs.io">Django Hordak</a>
|
||
- Core functionality of a double entry accounting system for
|
||
Django.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/django-oscar/django-oscar-accounts">Managed
|
||
accounts for Django</a> - A ‘managed account’ is an allocation of money
|
||
that can be debited and credited.</p></li>
|
||
<li><p><a href="https://sci-hub.st/10.1111/acfi.12556">Triple‐entry
|
||
accounting with blockchain: How far have we come?</a> - “Triple‐entry
|
||
accounting is a new and a more efficient way to address fundamental
|
||
trust and transparency issues that plague current accounting systems.
|
||
Triple‐entry accounting with blockchain, when properly implemented, can
|
||
fundamentally improve accounting.”</p></li>
|
||
</ul>
|
||
<h3 id="currencies">Currencies</h3>
|
||
<p>Global companies needs to know how to juggle between local
|
||
currencies.</p>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.mathstat.dal.ca/~selinger/accounting/tutorial.html">Tutorial
|
||
on multiple currency accounting</a> - An excellent resource for
|
||
implementing multi-currency accounting systems.</li>
|
||
</ul>
|
||
<h2 id="finance">Finance</h2>
|
||
<p>Once you’ve got your accounts in order, you can start extracting
|
||
insights and metrics from your financial data.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://www.amazon.com/dp/0273744704?&linkCode=ll1&tag=kevideld-20&linkId=f491ee18c48fdaf3226904a39612cc22&language=en_US&ref_=as_li_ss_tl">Accounts
|
||
Demystified: The Astonishingly Simple Guide To Accounting</a> - Helps
|
||
you learn how to analyse and monitor your company’s financial
|
||
performance.</p></li>
|
||
<li><p><a href="https://commoncog.com/blog/cash-flow-games/">The Games
|
||
People Play With Cash Flow</a> - “Malone created a new accounting
|
||
metric, something he called ‘earnings before interest, depreciation, and
|
||
taxes’, or EBITDA.” This is how a cable company CEO made sense of cash
|
||
flow, like real-estate business did. The article starts with this
|
||
example and describes other cash flow games for SaaS models.</p></li>
|
||
<li><p><a
|
||
href="https://www.amazon.com/dp/1422119157?&linkCode=ll1&tag=kevideld-20&linkId=8d87e9235a1a05c4e0bec4b25230f28d&language=en_US&ref_=as_li_ss_tl">Financial
|
||
Intelligence for Entrepreneurs: What You Really Need to Know About the
|
||
Numbers</a> - Allows you to fully understand how to use financial data
|
||
to make better decisions for your business.</p></li>
|
||
<li><p><a
|
||
href="https://www.finops.org/introduction/what-is-finops/">What is
|
||
FinOps</a> - A framework for tech finance and business leadership teams
|
||
to share the same language and processes of cloud operations and
|
||
management.</p></li>
|
||
<li><p><a
|
||
href="https://www.amazon.com/dp/9814287113?&linkCode=ll1&tag=kevideld-20&linkId=3d8973d09f9143db8db8639615d12413&language=en_US&ref_=as_li_ss_tl">Algebraic
|
||
Models for Accounting Systems</a> - Advanced abstract algebra applied to
|
||
the analysis of accounting systems.</p></li>
|
||
</ul>
|
||
<h2 id="contracts">Contracts</h2>
|
||
<p>All the invoicing terms & conditions are materialzed by the
|
||
contract signed between the end-user and the service provider. That’s
|
||
the source from where we derives all the rules of the billing cycle.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://threadreaderapp.com/thread/1389946268764475394.html">Is
|
||
this what Enterprise mean?</a> - When contracts, invoicing and payments
|
||
are not working together, you end up alienating your big enterprise
|
||
customers. See the associated HN comments <a
|
||
href="https://news.ycombinator.com/item?id=27053246">on bulk license
|
||
purchase</a>.</p></li>
|
||
<li><p><a
|
||
href="https://www.stigg.io/blog-posts/entitlements-untangled-the-modern-way-to-software-monetization">Entitlements
|
||
untangled: The modern way to software monetization</a> - “The concept of
|
||
Entitlements encapsulates the feature access settings under various
|
||
product variants (aka Pricing Plans or Packages), bridging the gap
|
||
between how a product is sold and how it behaves for a variant. In
|
||
essence, entitlements are a set of permissions defining what a customer
|
||
(paying or non-paying) can do with your software application.”</p></li>
|
||
<li><p><a
|
||
href="https://66degrees.com/comparing-cuds-suds-and-commits-in-google-cloud/">CUDs
|
||
vs. Commit Contracts vs. SUDs in Google Cloud</a> - Explains the
|
||
differences between various types of discounts and usage commitments in
|
||
GCP.</p></li>
|
||
<li><p><a
|
||
href="https://sci-hub.st/https://www.pnas.org/doi/pdf/10.1073/pnas.1510501113">Quantity
|
||
discounts on a virtual good: The results of a massive pricing
|
||
experiment</a> - “Implementing price reductions ranging from 9–70% for
|
||
large purchases, we found remarkably little impact on revenue, either
|
||
positively or negatively.” If discounts are a placebo and are still
|
||
widely used in the industry, maybe they are a marketing hack to lure big
|
||
customers?</p></li>
|
||
<li><p>“It used to be I could just give a lump sum and let Google Ads
|
||
play until there is no more budget. Not anymore.” - (<a
|
||
href="https://news.ycombinator.com/item?id=36325785">source</a>) -
|
||
Google Ads used to implement a concept of capped actuals. A kind of
|
||
monthly budget with rollover, which is an optimal billing scheme to
|
||
limit surprises for customers. It always looked to me as a way to sell
|
||
quotas.</p></li>
|
||
</ul>
|
||
<h2 id="coupons-and-vouchers">Coupons and Vouchers</h2>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://www.backblaze.com/blog/raising-prices-is-hard/">Raising
|
||
Prices is Hard</a> - Backblaze post-mortem on raising prices on their
|
||
main offer. They wanted to create an extension program based on credit
|
||
system. This became a full-time job for a handful of their most senior
|
||
engineers, and resulted in a six month project.</p></li>
|
||
<li><p><a
|
||
href="https://blog.digitalocean.com/details-on-expiring-digitalocean-credits/">Details
|
||
on Expiring DigitalOcean Credits</a> - The reason you have to add an
|
||
time limit on credits: unused ones accounts as liabilities on our
|
||
balance sheet.</p></li>
|
||
<li><p><a href="https://fant.io/p/hacking-voi/">Hacking Scooters: How I
|
||
Created $100k Worth Of Free Rides</a> - A cautionary tale on how promo
|
||
codes can be exploited to get unlimited free rides.</p></li>
|
||
<li><p><a
|
||
href="https://web.archive.org/web/20230404113232/https://www.reuters.com/article/us-pinduoduo-china/chinas-pinduoduo-reports-theft-of-online-discount-vouchers-to-police-idUSKCN1PE05J">China’s
|
||
Pinduoduo reports theft of online discount vouchers to police</a> - The
|
||
next level of fraud: “an online collective exploited a loophole on its
|
||
platform to ‘steal’ tens of millions of yuan worth of discount
|
||
vouchers”.</p></li>
|
||
<li><p><a
|
||
href="https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016L1065">Council
|
||
Directive 2016/1065 as regards the treatment of vouchers</a> - European
|
||
directive on the application of VAT when vouchers are involved.</p></li>
|
||
<li><p><a
|
||
href="https://justinjackson.ca/the-coupon-code-is-a-slap-in-the-face">The
|
||
coupon code is a slap in the face</a> - Point the negative consequences
|
||
of users encountering a blank coupon field without having a coupon. See
|
||
the update at the end of the article with research backing up this
|
||
anecdote.</p></li>
|
||
</ul>
|
||
<h2 id="taxes">Taxes</h2>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://web.archive.org/web/20240227073911/https://www.mass.gov/lists/2017-tax-software-developers-guides">2017
|
||
Tax Software Developer’s Guides</a> - A list of test cases for
|
||
developers to test their tax code against.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/kdeldycke/vat-rates">{Digital,Cloud,Electronic,Online}
|
||
Services VAT Rate Database</a> - Centralize applicable VAT rates on
|
||
foreign online services, for each country of residence (including
|
||
territorial exceptions).</p></li>
|
||
<li><p><a
|
||
href="https://www.avalara.com/vatlive/en/global-vat-gst-on-e-services.html">Global
|
||
VAT & GST on digital services</a> - List of countries requiring
|
||
application of taxes on foreign provided online services.</p></li>
|
||
<li><p>“British supermarkets (…) charge you a fee for their backend card
|
||
processing, but they subtract that fee from your checkout price.” (<a
|
||
href="https://news.ycombinator.com/item?id=22047028">source</a>) - Which
|
||
allows them to <a
|
||
href="https://www.gov.uk/guidance/vat-guide-notice-700#section4">claim
|
||
the VAT on processing fees as input tax</a>.</p></li>
|
||
<li><p><a
|
||
href="https://www.streamlinedsalestax.org/about-us/about-sstgb">Streamlined
|
||
Sales Tax Governing Board</a> - A multi-states US initiative to automate
|
||
and standadize sales tax accounting and collection.</p></li>
|
||
</ul>
|
||
<h3 id="european-vat">European VAT</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://medium.com/slight-pause/how-to-setup-saas-subscriptions-correctly-to-charge-vat-in-europe-d75d857b5d01">How
|
||
to correctly setup SaaS subscriptions to charge VAT in Europe</a> - “If
|
||
you think you can just setup a simple Stripe integration and move on,
|
||
like us, you’d be sadly mistaken.”</li>
|
||
</ul>
|
||
<!--lint disable double-link-->
|
||
<ul>
|
||
<li><a
|
||
href="https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=OJ:L:2006:347:FULL">Council
|
||
Directive 2006/112/EC</a> - European Union reference on the common
|
||
system of VAT.</li>
|
||
</ul>
|
||
<!--lint enable double-link-->
|
||
<ul>
|
||
<li><a href="https://news.ycombinator.com/item?id=8767388">What does the
|
||
“Reverse Charge” refer to?</a> - Answer: a provision in which a business
|
||
transfer the responsibility of VAT handling to the customer.</li>
|
||
</ul>
|
||
<h2 id="invoice">Invoice</h2>
|
||
<p>The invoice materialize a consumed service or purchased product,
|
||
waiting to be settled by a payment transaction.</p>
|
||
<ul>
|
||
<li><a href="https://news.ycombinator.com/item?id=17517479">On GCP
|
||
invoiced billing</a> - <a
|
||
href="https://cloud.google.com/billing/docs/how-to/invoiced-billing">Invoiced
|
||
billing</a> is a B2B-friendly payment happening after the service is
|
||
consumed and an invoice issued. It seems to be a pain to setup on GCP
|
||
but I suspect is a consequence of trying to reduce (costly) fraud.</li>
|
||
</ul>
|
||
<h3 id="structure">Structure</h3>
|
||
<!--lint disable double-link-->
|
||
<ul>
|
||
<li><a
|
||
href="https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=OJ:L:2006:347:FULL#d1e6510-1-1">Content
|
||
of EU invoices</a> - The information required on a EU invoice is
|
||
detailed by Article 226, Section 4 (Content of invoices) of Council
|
||
Directive 2006/112/EC on the common system of VAT.</li>
|
||
</ul>
|
||
<!--lint enable double-link-->
|
||
<h3 id="integrity">Integrity</h3>
|
||
<p>Once issued, an invoice must be immutable.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://medium.com/google-developers/digital-signatures-how-sleek-leverages-cloud-hsm-to-guarantee-the-integrity-of-legal-documents-a7bd3b82faf6">Digital
|
||
signatures: how Sleek leverages Cloud HSM to guarantee the integrity of
|
||
legal documents</a> - Here is a great way to rely on GCP’s HSM to
|
||
digitally sign documents and provide an immutable audit-trail. Might be
|
||
applied to invoices as well as contract agreements.</p></li>
|
||
<li><p><a href="https://opentimestamps.org">OpenTimestamps</a> - Go
|
||
beyond the solution above, and timestamp immutable document directly on
|
||
Bitcoin’s blockchain.</p></li>
|
||
<li><p><a href="https://en.wikipedia.org/wiki/Credit_note">Credit
|
||
note</a> - Because an invoice is immutable, the only way to fully or
|
||
partially cancel it is to produce a credit note.</p></li>
|
||
</ul>
|
||
<h3 id="generators">Generators</h3>
|
||
<ul>
|
||
<li><p><a href="https://github.com/hql287/Manta">Manta</a> - Flexible
|
||
invoicing desktop app with beautiful & customizable
|
||
templates.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/InvoicePlane/InvoicePlane">InvoicePlane</a> - A
|
||
self-hosted open-source application for managing your invoices, clients
|
||
and payments.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/by-cx/InvoiceGenerator">InvoiceGenerator</a> -
|
||
Library to generate a simple invoices.</p></li>
|
||
<li><p><a href="https://github.com/code-mancers/invoicing">Ruby
|
||
Invoicing Framework</a> - For generating and displaying invoices (ideal
|
||
for commercial Rails apps). It allows for flexible business logic;
|
||
provides tools for tax handling, commission calculation etc.</p></li>
|
||
<li><p><a href="https://github.com/sajjon/klirr">klirr</a> -
|
||
Zero-maintenance and smart FOSS CLI tool for generating beautiful
|
||
invoices for services and expenses.</p></li>
|
||
</ul>
|
||
<h3 id="extractors">Extractors</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/naiveHobo/InvoiceNet">InvoiceNet</a> -
|
||
Deep neural network to extract intelligent information from invoice
|
||
documents.</li>
|
||
</ul>
|
||
<h3 id="electronic-invoices">Electronic invoices</h3>
|
||
<ul>
|
||
<li><p><a href="https://github.com/akretion/factur-x">Factur-X</a> -
|
||
Python library to support the e-invoicing standard for France and
|
||
Germany.</p></li>
|
||
<li><p><a
|
||
href="https://en.wikipedia.org/wiki/Universal_Business_Language">Universal
|
||
Business Language</a> - Most invoicing software can read and write UBL
|
||
documents (XML) for data transfer.</p></li>
|
||
<li><p><a
|
||
href="https://ec.europa.eu/digital-building-blocks/sites/display/DIGITAL/eInvoicing+HUB">EU
|
||
eInvoicing</a> - European standard on electronic invoice.</p></li>
|
||
<li><p><a href="https://gobl.org">GOBL</a> - JSON Schema, Open Source Go
|
||
library, global tax database, with conversion tools, all in
|
||
one.</p></li>
|
||
</ul>
|
||
<h2 id="payments">Payments</h2>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://web.archive.org/web/20230204235716/http://aynuriev.com/best-payment-gateway-startups/">The
|
||
Best Payment Gateway for Startups</a> - A benchmark of top payment
|
||
providers, their pricing and models.</p></li>
|
||
<li><p><a
|
||
href="https://medium.com/airbnb-engineering/avoiding-double-payments-in-a-distributed-payments-system-2981f6b070bb">Avoiding
|
||
Double Payments in a Distributed Payments System</a> - RDBMS were build
|
||
for banks around transactions to solve that specific issue. Then NoSQL
|
||
came forcing us to carefully implement systems to avoid double
|
||
spending.</p></li>
|
||
<li><p><a
|
||
href="https://monzo.com/blog/2019/06/20/why-bank-transfers-failed-on-30th-may-2019/">Monzo’s
|
||
bank transfers post-mortem</a> - Or why you should be prepared for and
|
||
work around gateway provider’s outages.</p></li>
|
||
<li><p><a
|
||
href="https://www.moderntreasury.com/journal/how-to-build-an-insurance-company">How
|
||
to Build an Insurance Company</a> - The importance of payment ops
|
||
architecture.</p></li>
|
||
<li><p><a
|
||
href="https://single-market-economy.ec.europa.eu/smes/sme-strategy/late-payment-directive_en">EU’s
|
||
Late Payment Directive</a> - European rules on applicable fees for late
|
||
payments.</p></li>
|
||
<li><p><a href="https://news.ycombinator.com/item?id=20043944">High
|
||
failure rate of Point Of Sale devices in the upper Midwest</a> - The
|
||
root cause? People wearing a lot of wool in low humidity air, generating
|
||
a lot of static.</p></li>
|
||
<li><p>How ACH works: A developer perspective, <a
|
||
href="https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-1-339d3e7bea1">part
|
||
1</a>, <a
|
||
href="https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-2-7a890638c4dd">part
|
||
2</a>, <a
|
||
href="https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-3-cd98728cf31f">part
|
||
3</a>, <a
|
||
href="https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-4-718a48cb8d2c">part
|
||
4</a>, <a
|
||
href="https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-5-1d998bbcd82c">part
|
||
5</a>.</p></li>
|
||
<li><p><a
|
||
href="https://blogs.dropbox.com/tech/2017/09/handling-system-failures-during-payment-communication/">Handling
|
||
system failures during payment communication</a> - Dropbox’s experience
|
||
trying to account for an unreliable payment provider.</p></li>
|
||
<li><p><a href="https://wpchrg.wordpress.com">Why was I charged?</a> -
|
||
Under a constant stream of user complaints about payments, WordPress
|
||
created a dedicated subdomains to help customers understand unexpected
|
||
transactions. The trick was to add this URL directly in the bank
|
||
statement.</p></li>
|
||
<li><p><a href="https://github.com/juspay/hyperswitch">Hyperswitch</a> -
|
||
Open-source backend for payment processing.</p></li>
|
||
<li><p><a href="https://github.com/moov-io">moov</a> - Open-source
|
||
infrastructure for financial technology.</p></li>
|
||
<li><p><a href="https://github.com/finos">Fintech Open Source
|
||
Foundation</a> - Another set of open-source projects for financial
|
||
projects.</p></li>
|
||
</ul>
|
||
<h3 id="receipt">Receipt</h3>
|
||
<p>A receipt materialize the payment transaction.</p>
|
||
<ul>
|
||
<li><p><a href="https://susielu.com/data-viz/reviziting-the-receipt">The
|
||
humble receipt gets a brilliant redesign</a> - When a Netflix data
|
||
engineer revisit receipts.</p></li>
|
||
<li><p><a
|
||
href="https://www.vox.com/the-goods/2018/10/10/17956950/why-are-cvs-pharmacy-receipts-so-long">The
|
||
long, long history of long, long CVS receipts</a> - “CVS is a drugstore
|
||
much like other drugstores, with one important difference: The receipts
|
||
are very long.”</p></li>
|
||
</ul>
|
||
<h3 id="credit-cards">Credit Cards</h3>
|
||
<p>The most popular payment device.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://www.cbc.ca/news/business/banking-information-shared-with-third-parties-1.5102931">‘Is
|
||
that even legal?’: Companies may be sharing new credit or debit card
|
||
information without you knowing</a> - Some credit and debit card
|
||
companies have “updating service” that allows new account numbers and
|
||
expiry dates to be shared with merchants. Visa’s implementation is
|
||
called <a href="https://developer.visa.com/capabilities/vau">VAU</a> and
|
||
Mastercard’s is <a
|
||
href="https://developer.mastercard.com/product/automatic-billing-updater-abu/">ABU</a>.</p></li>
|
||
<li><p><a
|
||
href="https://stripe.com/guides/strong-customer-authentication">Strong
|
||
Customer Authentication</a> - <a
|
||
href="https://en.wikipedia.org/wiki/Payment_Services_Directive">Payment
|
||
Services Directive</a> 2, explained.</p></li>
|
||
<li><p><a
|
||
href="https://en.wikipedia.org/wiki/Address_Verification_System">Address
|
||
Verification System</a> - A system checking the matching of customer’s
|
||
billing addresses with the one associated with the credit card.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/pjfoley/pci-blackbox">pci-blackbox</a> -
|
||
PCI-DSS compliant card system built on PostgreSQL and PL/pgSQL.</p></li>
|
||
</ul>
|
||
<h3 id="bank-accounts">Bank Accounts</h3>
|
||
<p>The old-fashioned way of payment: by the way of banks.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://blog.yossarian.net/2019/12/25/A-shallow-dive-into-the-American-banking-system">A
|
||
(shallow) dive into the American banking system</a> - Collection of
|
||
miscellaneous notes primarily focused on the common cases of routable
|
||
accounts, i.e. checking and savings.</p></li>
|
||
<li><p><a href="https://openiban.com">Open IBAN</a> - Free and public
|
||
IBAN validation and calculation webservice.</p></li>
|
||
<li><p><a href="https://bank.codes/swift-code/">Swift Codes</a> - Swift
|
||
/ BIC codes for personal use only.</p></li>
|
||
<li><p><a href="https://github.com/PeterNotenboom/SwiftCodes">Swift
|
||
Codes Repository</a> - A repository that seems to scrape the website
|
||
above.</p></li>
|
||
<li><p><a href="https://en.wikipedia.org/wiki/EPC_QR_code">EPC QR
|
||
code</a> - EU standard for QR codes used to transfer money between bank
|
||
accounts via SEPA.</p></li>
|
||
</ul>
|
||
<h3 id="online-payments">Online Payments</h3>
|
||
<p>The usual money transfer services.</p>
|
||
<ul>
|
||
<li><p><a href="https://blog.setu.co/articles/upi-101-the-basics">UPI
|
||
101: The Basics</a> - “In this article, we will learn about India’s
|
||
Unified Payments Interface. A four-year-old payment scheme that has been
|
||
accounting for 40-45% of digital payments across India.”</p></li>
|
||
<li><p><a
|
||
href="https://kaimi.io/en/2022/07/20-years-of-payment-processing-problems-en/">20
|
||
years of payment processing problems</a> - A huge collection of
|
||
everything that went wrong, and still is, with payment APIs from the
|
||
past 2 decades. Any issue exposed in this article that gets unaddressed
|
||
will end up as stolen money.</p></li>
|
||
<li><p><a
|
||
href="https://www.wired.co.uk/article/stripe-payments-apple-amazon-facebook">The
|
||
untold story of Stripe</a> - In which we learn that “once turnover hit a
|
||
certain level, Paypal automatically put the business on a 21 to 60 day
|
||
rolling reserve, meaning that up to 30 per cent of a company’s revenue
|
||
could be locked up for up to two months.”</p></li>
|
||
<li><p><a
|
||
href="https://developers.google.com/standard-payments/reference/idempotency">Idempotency
|
||
in the context of payments</a> - “Idempotency prevents race conditions.
|
||
Idempotency dictates that multiple identical requests from the same
|
||
client do not result in a different final state.”</p></li>
|
||
<li><p><a
|
||
href="https://dropbox.tech/machine-learning/optimizing-payments-with-machine-learning">Optimizing
|
||
payments with machine learning</a> - Describes a classic payment
|
||
workflow, then how machine learning can replace hard-coded business
|
||
rules and fine-tune the payment failures/retries loop to increase the
|
||
success rates of charges.</p></li>
|
||
</ul>
|
||
<h2 id="fraud">Fraud</h2>
|
||
<p>There’s monetary incentives to exploit your business. Be prepared to
|
||
fight hordes of fraudsters and shady users.</p>
|
||
<ul>
|
||
<li><a href="https://arxiv.org/pdf/1411.6721v1.pdf">Detecting fraudulent
|
||
activity in a cloud using privacy-friendly data aggregates</a> -
|
||
Discusses a method to detect fraudulent activity (launching DDoS
|
||
attacks, Bitcoin mining, …) by using non-intrusive, privacy-friendly
|
||
data: billing data.</li>
|
||
</ul>
|
||
<!--lint disable double-link-->
|
||
<ul>
|
||
<li><a href="https://github.com/kdeldycke/awesome-iam#fraud">Awesome
|
||
List of IAM: Fraud links</a> - Section dedicated to fraud management
|
||
related to user accounts, from our sister repository.</li>
|
||
</ul>
|
||
<!--lint enable double-link-->
|
||
<ul>
|
||
<li><p><a href="https://youtu.be/yJKWpTBVTiI?t=60">Driving Global Fraud
|
||
Losses Down While Empowering Business Growth</a> - In this talk by Uber
|
||
Eats, we learn from the biggest payment processor that “growing
|
||
businesses with declining loss rates is extremely rare in the industry”.
|
||
Also, fraud can takes several forms: chargebacks on non-perishable
|
||
goods, promo abuse, refunds…</p></li>
|
||
<li><p><a
|
||
href="https://www.bitsaboutmoney.com/archive/kyc-and-aml-beyond-the-acronyms/">KYC
|
||
and AML: beyond the acronyms</a> - KYC is nuanced and fuzzy, because it
|
||
is a stochastic process to reduce risk.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/benedekrozemberczki/awesome-fraud-detection-papers">Awesome
|
||
Fraud Detection Research Papers</a> - Papers sourced from several
|
||
conferences on all sort of fraud: credit card, payment transactions,
|
||
loans, customs inspections, money laundering networks, and
|
||
more.</p></li>
|
||
</ul>
|
||
<h3 id="cards">Cards</h3>
|
||
<p>The majority of fraud is exploiting the most common popular payment
|
||
device: credit cards.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://fraud-detection-handbook.github.io/fraud-detection-handbook/">Reproducible
|
||
Machine Learning for Credit Card Fraud detection</a> - A practical
|
||
handbook on how to identify patterns in transactions.</p></li>
|
||
<li><p><a
|
||
href="https://www.freecodecamp.org/news/stopping-credit-card-fraud-and-saving-our-nonprofit/">How
|
||
I Stopped a Credit Card Thief From Ripping Off 3,537 People – and Saved
|
||
Our Nonprofit in the Process</a> - Describe a fraud technique known as
|
||
“card testing”, in which massive batch of stolen cards are checked for
|
||
their validity against your API.</p></li>
|
||
<li><p><a
|
||
href="https://www.candyjapan.com/behind-the-scenes/how-i-got-credit-card-fraud-somewhat-under-control">How
|
||
Candy Japan got credit card fraud somewhat under control</a> -
|
||
Suggestions involved either <a
|
||
href="https://www.candyjapan.com/behind-the-scenes/fraudulent-transaction-warning-signs">warning
|
||
signals</a> for trying to guess which orders might be fraud, or
|
||
countermeasures to try to make things harder for the
|
||
fraudsters.</p></li>
|
||
<li><p><a
|
||
href="https://web.archive.org/web/20220327085654/https://blog.sift.com/2013/five-ecommerce-fraud-facts/">Five
|
||
Fun Fraud Facts</a> - Another tiny collection of features we can feed to
|
||
a ML system to detect fraud. Comments on HN also unearthed <a
|
||
href="https://news.ycombinator.com/item?id=6376350">more qualifying
|
||
signals</a> and <a
|
||
href="https://news.ycombinator.com/item?id=6376221">derived geodata on
|
||
the transaction</a>.</p></li>
|
||
<li><p><a
|
||
href="https://medium.com/@curiousily/credit-card-fraud-detection-using-autoencoders-in-keras-tensorflow-for-hackers-part-vii-20e0c85301bd">Credit
|
||
Card Fraud Detection using Autoencoders in Keras</a> - Tutorial on how
|
||
to rely on anomaly detection to implement suspicious card
|
||
transactions.</p></li>
|
||
<li><p><a
|
||
href="https://threadreaderapp.com/thread/1315452323330621440.html">Training
|
||
an ML model to score chargebacks</a> - An example of a platform’s
|
||
network effect, which allows to predict the likelihood of winning a
|
||
dispute.</p></li>
|
||
<li><p><a
|
||
href="https://kromtech.com/blog/security-center/digital-laundry">How
|
||
credit card thieves use free-to-play apps to launder gains</a> - To
|
||
prevent abuses, service provider must strengthen both credit card
|
||
verification and the account creation process.</p></li>
|
||
</ul>
|
||
<h3 id="trust-score">Trust Score</h3>
|
||
<p>Synthetic score based on a collection of signals are often the best
|
||
proxy of user’s trustworthiness. Customer support most of the time rely
|
||
on them to take action when these actions are not triggered
|
||
automatically.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://cloudplatform.googleblog.com/2018/07/improving-our-account-management-policies-to-better-support-customers.html">GCP
|
||
improved account management policies to better support customers</a> -
|
||
Or why relying too much on fraud automation might lead to disgruntled
|
||
users.</p></li>
|
||
<li><p><a
|
||
href="https://blog.digitalocean.com/an-update-on-last-weeks-customer-shutdown-incident/">Digital
|
||
Ocean’s Update on Customer Shutdown Incident</a> - Aggressively shutting
|
||
down user servers is good from a business point of view to prevent
|
||
fraudster abusing free resources, until it’s not.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/mourarthur/awesome-credit-modeling#readme">Awesome
|
||
Credit Modeling</a> - How to use statistical methods to classify
|
||
applicants into categories to reduce risks. Lots of inspiration and
|
||
research papers there to improve general scoring.</p></li>
|
||
</ul>
|
||
<h3 id="statistics">Statistics</h3>
|
||
<p>Best tools to automate fraud detection.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://en.wikipedia.org/wiki/Benford's_law">Benford’s law</a>
|
||
- Digit distribution can be a signal of accounting fraud.</p></li>
|
||
<li><p><a href="https://arxiv.org/pdf/1410.6059.pdf">Integer percentages
|
||
as electoral falsification fingerprints</a> - In the same spirit as
|
||
above, this paper show that frequency of reported round numbers in
|
||
election is a signal of man-made anomalies. Might be applicable in some
|
||
fraud-fighting area.</p></li>
|
||
<li><p><a href="https://en.wikipedia.org/wiki/Huber_loss">Huber loss</a>
|
||
- “A loss function used in robust regression, that is less sensitive to
|
||
outliers in data than the squared error loss.”</p></li>
|
||
<li><p><a
|
||
href="https://blog.ytotech.com/2015/11/01/findpeaks-in-python/">Peak
|
||
Detection in the Python World</a> - Simple way to detect
|
||
outliers.</p></li>
|
||
<li><p><a href="https://news.ycombinator.com/item?id=39021273">Method to
|
||
check if you swapped 2 digits</a> - Standard manual accounting trick
|
||
employed when isolating an error in a double ledger.</p></li>
|
||
</ul>
|
||
<h3 id="billing">Billing</h3>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://www.zdnet.com/article/more-than-600-million-users-installed-android-fleeceware-apps-from-the-play-store/">More
|
||
than 600 million users installed Android ‘fleeceware’ apps from the Play
|
||
Store</a> - A new kind of fraud, in which apps silently keep charging
|
||
users after the end of the trial period.</p></li>
|
||
<li><p><a href="https://www.knowbe4.com/ceo-fraud">CEO Fraud</a> - A
|
||
billing team responsible for collecting payment is prey to this kind of
|
||
fraud, in which the CEO is impersonated to commend exceptional payment
|
||
transactions.</p></li>
|
||
<li><p><a
|
||
href="https://web.stanford.edu/class/cs349d/docs/theimer.pdf">The
|
||
Challenges of Operating a Computing Cloud and Charging for its Use</a> -
|
||
Skip the first 90% of this presentation by an AWS VP (which is about
|
||
general system reliability). The last four slides are a good summary of
|
||
what billing cloud services entails, especially the use of soft quotas
|
||
to limit fraud.</p></li>
|
||
<li><p><a href="http://www.s3.eurecom.fr/docs/eurosp17_sahin.pdf">Fraud
|
||
in Telephony Networks</a> - Most of telephony frauds gravitates around
|
||
billing and the metering of micro-transactions. This paper feature a
|
||
taxonomy (on page 6) differentiating the root causes, vulnerabilities,
|
||
exploitation techniques, and the way fraudsters can benefits from
|
||
them.</p></li>
|
||
</ul>
|
||
<h2 id="uxui">UX/UI</h2>
|
||
<p>Users gets easily angry when it comes to money. UX and UI might helps
|
||
a lot to reduce frustration.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://developer.apple.com/design/human-interface-guidelines/in-app-purchase#Autorenewable-subscriptions">Apple
|
||
In-app purchase Human Interface Guidelines</a> - Guide and
|
||
recommendation on how to make <a
|
||
href="https://developer.apple.com/app-store/subscriptions/">auto-renewable
|
||
subscriptions</a> user-friendly.</p></li>
|
||
<li><p><a
|
||
href="https://capitalandgrowth.org/questions/2055/which-has-a-higher-conversion-rate-a-single-long-e.html">Which
|
||
has a higher conversion rate: A single long ecommerce checkout form or a
|
||
multi-step one?</a> - Focus first on other things in the cart, like
|
||
easing anxiety and second-guessing by adding reassurance (trust marks,
|
||
testimonials) near the credit card and completion steps, as well as some
|
||
guarantee language that you may have used earlier in the product
|
||
exploration process.</p></li>
|
||
<li><p><a href="https://useautumn.com/blog/backendless">We tried to make
|
||
billing backendless</a> - Failed attempt to move the billing experience
|
||
by from backend to frontend because of security.</p></li>
|
||
</ul>
|
||
<h2 id="business-intelligence">Business Intelligence</h2>
|
||
<p>As stakeholder of the billing pipeline, you sat on all the critical
|
||
data to measure and report on the health of the business.</p>
|
||
<h3 id="metrics">Metrics</h3>
|
||
<p>Definition and collection of Key Performance Indicators (KPIs) worth
|
||
monitoring.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://www.stephnass.com/blog/startup-financial-model">Startup
|
||
financial models - 12 templates compared for SaaS</a> - A great source
|
||
of inspiration to get better visibility in your operations.</p></li>
|
||
<li><p><a href="https://a16z.com/2015/08/21/16-metrics/">16 Startup
|
||
Metrics</a> - The 2 critical metrics being Customer Acquisition Cost
|
||
(CAC) and Customer Lifetime Value (CLV).</p></li>
|
||
<li><p><a href="https://jlongster.com/thinking-growth-profit">Thinking
|
||
about growth and profit</a> - Discuss the relationship between
|
||
investments, profit and growth, and how it influence decisions on
|
||
pricing, free trials and plan structure.</p></li>
|
||
<li><p><a
|
||
href="https://tribecap.co/a-quantitative-approach-to-product-market-fit/">A
|
||
Quantitative Approach to Product Market Fit</a> - Metrics produced above
|
||
have a greater reach, as they’re used as important signals to validate
|
||
product-market fit.</p></li>
|
||
<li><p><a href="http://growth.tlb.org">Startup growth calculator</a> -
|
||
Simple yet effective interactive profitability calculator for
|
||
startups.</p></li>
|
||
<li><p><a
|
||
href="http://minesafetydisclosures.com/blog/2019/7/23/part-ll-an-overview-of-visa">An
|
||
Overview of Visa</a> - Great breakdown of Visa business models and
|
||
metrics.</p></li>
|
||
<li><p><a
|
||
href="https://web.archive.org/web/20230205234207/https://baremetrics.com/blog/saas-financial-model">The
|
||
SaaS Financial Model You’ll Actually Use</a> - A complete tour of the
|
||
financials of a startup, which gives you extra-context on how the
|
||
metrics you produce fit into the larger picture.</p></li>
|
||
</ul>
|
||
<h3 id="customer-lifetime-value">Customer Lifetime Value</h3>
|
||
<p>How much net value do you produce per customer? The Customer Lifetime
|
||
Value (CLV, or LTV for Life-Time Value) quantify that. Understanding and
|
||
acting on it is the most important part of your business’s sales
|
||
efforts.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://medium.com/swlh/youre-all-calculating-churn-rates-wrong-cbab072cd992">You’re
|
||
all calculating churn rates wrong</a> - “On the surface, churn rate may
|
||
seem like a natural proxy for changes in customer lifetimes. Let’s dig
|
||
into why that is not true.” Churn rate is not a meaningful metric to
|
||
compute CLV: during the customer lifetime, the churn probability is not
|
||
constant. Most of the time because of your free trial and vouchers. This
|
||
article illustrate the influence of the distribution used to model the
|
||
probability of a customer quitting.</p></li>
|
||
<li><p><a
|
||
href="https://faculty.wharton.upenn.edu/wp-content/uploads/2012/04/Fader_hardie_jim_07.pdf">How
|
||
to project customer retention</a> - A seminal paper, with a stronger
|
||
approach compared to the one above: <a
|
||
href="https://news.ycombinator.com/item?id=24833319">the exponential
|
||
distributions is replaced by a geometric model</a>, which is better
|
||
suited to discrete time intervals like monthly contracts, the former
|
||
being more appropriate to continuous time process.</p></li>
|
||
<li><p><a
|
||
href="https://two-wrongs.com/survival-analysis-for-customer-retention.html">Survival
|
||
Analysis For Customer Retention</a> - Illustrates how retention can be
|
||
better modelled using a survival function like <a
|
||
href="https://two-wrongs.com/bootstrapping-kaplan-meier-confidence-intervals.html">Kaplan–Meier
|
||
survival curves</a>.</p></li>
|
||
<li><p><a
|
||
href="https://en.wikipedia.org/wiki/RFM_%28customer_value%29">RFM
|
||
(customer value)</a> - A refined model of CLV, used to segment users
|
||
based on Recency, Frequency and Monetary value.</p></li>
|
||
<li><p><a
|
||
href="https://towardsdatascience.com/customer-churn-prediction-with-text-and-interpretability-bd3d57af34b1/">Churn
|
||
Prediction</a> - “How to use Python in a simplistic way to fuel your
|
||
company’s growth by applying the predictive approach to all your
|
||
actions.” Relies on XGBoost binary classification.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/pymc-labs/pymc-marketing">PyMC-Marketing</a> -
|
||
A full-featured Python package to analyze your users based on their
|
||
“alive” and “dead” states.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/chrisclark/retentionizer"><code>retentionizer</code></a>
|
||
- Python package to show the projected retention rates for each cohort
|
||
and calculate the LTV of a given customer in that cohort.</p></li>
|
||
</ul>
|
||
<h3 id="data-engineering">Data Engineering</h3>
|
||
<p>To industrialize data production and consumption, your need data
|
||
engineers to clean up, persist and consolidate data. Only after you get
|
||
these data foundations you might think of onboarding data
|
||
scientists.</p>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://web.archive.org/web/20171009002725/https://blog.insightdatascience.com/how-emerging-ai-roles-fit-in-the-data-landscape-d4cd922c389b?gi=ebcf517502c7">AI
|
||
vs Data Science vs Data Engineering</a> - “Data Engineers build data
|
||
pipelines and infrastructure to ensure a constant availability of
|
||
transformed data. Data Scientists analyze and build models from these
|
||
data to develop new product features or drive the bottom line of the
|
||
business.” As for AI professionals, their focus is on cognitive
|
||
automation.</p></li>
|
||
<li><p><a
|
||
href="https://www.martingoodson.com/ten-ways-your-data-project-is-going-to-fail/">Ten
|
||
Ways Your Data Project is Going to Fail</a> - You don’t need data
|
||
scientists. “For ETL, hire data engineers. For reporting, hire BI
|
||
analysts. The end.”</p></li>
|
||
<li><p><a
|
||
href="http://blog.richardweiss.org/2017/07/25/data-science-in-organizations.html">Cargo
|
||
cult data science</a> - “Data science is best viewed as a form of
|
||
company culture, rather than a set of technologies. However, many firms
|
||
will try to create that company culture by acquiring data-science
|
||
technology, rather than working on their culture.”</p></li>
|
||
<li><p><a
|
||
href="https://web.archive.org/web/20250524184249/https://stackoverflow.com/questions/3730019/why-not-use-double-or-float-to-represent-currency/3730040#answer-3730040">Why
|
||
not use Double or Float to represent currency?</a> - Because of
|
||
precision: floats and doubles cannot accurately represent the base 10
|
||
multiples that we use for money.</p></li>
|
||
<li><p><a
|
||
href="https://husobee.github.io/money/float/2016/09/23/never-use-floats-for-currency.html">Never
|
||
Use Floats for Money</a> - “This is precisely the problem we have when
|
||
trying to represent 10^-1, or 0.1 in binary. There is not an exact
|
||
binary representation of 0.1 or 0.01.”</p></li>
|
||
<li><p><a href="https://ankush.dev/p/neumann_architecture">The Soul of
|
||
an Old Machine: Revisiting the Timeless von Neumann Architecture</a> -
|
||
Floats were suspicious even before the first general-purpose computer
|
||
(EDVAC) was built: “Von Neumann wasn’t entirely sold on why we might
|
||
need floating-point numbers. He was quite vocal in his critique of
|
||
floating-point numbers.” The author of this article complement this
|
||
critique by illustrating the issue of precision and rounding.</p></li>
|
||
<li><p><a
|
||
href="https://eusprig.org/research-info/horror-stories/">European
|
||
Spreadsheet Risks Interest Group - Horror Stories</a> - A collection of
|
||
cases in which uncontrolled and untested spreadsheet models led to lost
|
||
revenue, mispricing, poor decision making, fraud and systemic financial
|
||
failure.</p></li>
|
||
</ul>
|
||
<h3 id="tools">Tools</h3>
|
||
<p>Software to build visualizations, dashboards, SQL queries and drill
|
||
down into data.</p>
|
||
<ul>
|
||
<li><p><a href="https://pbpython.com">Practical Business Python</a> - A
|
||
blog collecting and spreading ideas on how to use Python more
|
||
effectively in the business setting.</p></li>
|
||
<li><p><a
|
||
href="https://github.com/getredash/redash"><code>redash</code></a> -
|
||
Connect and query your data sources, build dashboards to visualize data
|
||
and share them with your company.</p></li>
|
||
<li><p><a href="https://github.com/metabase/metabase">Metabase</a> -
|
||
Metabase is an open source solution to explore and visualize data and
|
||
supports lots of databases.</p></li>
|
||
<li><p><a href="https://github.com/apache/incubator-superset">Apache
|
||
Superset</a> - Enterprise-ready business intelligence web
|
||
application.</p></li>
|
||
<li><p><a href="https://github.com/meltano/meltano">Meltano</a> - Open
|
||
source convention-over-configuration product for the whole data
|
||
lifecycle, all the way from loading data to analyzing it.</p></li>
|
||
</ul>
|
||
<h2 id="competitive-analysis">Competitive Analysis</h2>
|
||
<p>A bunch of resources to keep track of the current status and progress
|
||
of all companies operating in the domain.</p>
|
||
<ul>
|
||
<li><p><a href="https://news.ycombinator.com/item?id=34773821">Patents
|
||
on billing systems of the dot-com era</a> - All of them have been
|
||
abandoned and constitute prior art. This means there is nothing to
|
||
prevent anybody to implement or commercialize these concepts.</p></li>
|
||
<li><p>“You need a slightly more sophisticated developer team to cobble
|
||
together a billing platform” (<a
|
||
href="https://www.techemails.com/i/124009734/google-pms-on-stripe">source</a>)
|
||
- Google’s Product Director take on building billing systems: you need a
|
||
certain kind of engineers to tackle that domain. It is not for
|
||
everyone.</p></li>
|
||
</ul>
|
||
<h3 id="cloud-providers">Cloud providers</h3>
|
||
<ul>
|
||
<li><p><a
|
||
href="https://aws.amazon.com/about-aws/whats-new/aws-cost-management/">AWS
|
||
Cost Management announcements</a> - The source of all new features added
|
||
to the billing perimeter.</p></li>
|
||
<li><p><a
|
||
href="https://web.archive.org/web/20240602133657/https://www.prosperops.com/wp-content/uploads/2022/01/ris_and_savings_plans.png">AWS
|
||
reserved instances vs saving plan</a> - A feature matrix of the
|
||
different scheme and their average dicounts.</p></li>
|
||
<li><p><a href="https://cloud.google.com/billing/docs/release-notes">GCP
|
||
billing release notes</a> - Latest changes of GCP billing
|
||
features.</p></li>
|
||
<li><p><a
|
||
href="https://www.gcpweekly.com/gcp-resources/tag/billing/">GCP billing
|
||
news</a> - From the unofficial Google Cloud Platform
|
||
newsletter.</p></li>
|
||
<li><p><a
|
||
href="https://cloud.google.com/blog/products/compute/more-choice-less-complexity-new-compute-engine-pricing-options-on-tap">More
|
||
choice, less complexity: New Compute Engine pricing options on tap</a> -
|
||
A wrap-up of recent GCP pricing features.</p></li>
|
||
<li><p><a href="https://en.wikipedia.org/wiki/Orbitera">Orbitera</a> -
|
||
GCP’s billing subsidiary.</p></li>
|
||
<li><p><a
|
||
href="http://docs.digitalocean.com/release-notes/billing/">DigitalOcean
|
||
Billing changelog</a> - All the latest billing updates on DO.</p></li>
|
||
</ul>
|
||
<h2 id="history">History</h2>
|
||
<ul>
|
||
<li><p>“Larry Page went to U of M and used the Michigan Terminal System.
|
||
(…) when Google was working on App Engine, Page took inspiration from
|
||
MTS and would exhort engineers to follow its example. (…) when I look at
|
||
my AWS and GCP bills now, it feels very familiar!” (<a
|
||
href="https://news.ycombinator.com/item?id=35123587">source</a>) - The
|
||
direct filiation between old-school university mainframes and current
|
||
cloud services.</p></li>
|
||
<li><p><a
|
||
href="https://commoncog.com/product-development-iterated-taste/">Product
|
||
Development as Iterated Taste</a> - AWS sacrificed the simplicity of
|
||
subscription pricing for S3 and went instead with a safe cost-following
|
||
strategy because they had no clue how the users will use their
|
||
service.</p></li>
|
||
<li><p><a href="https://en.wikipedia.org/wiki/%C2%A3sd#Computing">£sd
|
||
computing</a> - The IBM 1401 mainframe (1959) optionally supported
|
||
pounds/shillings/pence (£sd) currency arithmetics in hardware.</p></li>
|
||
<li><p><a
|
||
href="http://bitsavers.trailing-edge.com/communications/westernElectric/books/Engineering_and_Operations_in_the_Bell_System_2ed_1984.pdf">Engineering
|
||
and Operations in the Bell System</a> - Starting at page #445, the “10.5
|
||
Billing Equipment and Systems” section describe the history and
|
||
technical evolutions of Bell’s phone calls metering and
|
||
pricing.</p></li>
|
||
<li><p><a
|
||
href="https://www.bostonglobe.com/ideas/2014/06/07/the-vanished-grandeur-accounting/3zcbRBoPDNIryWyNYNMvbO/story.html">The
|
||
vanished grandeur of accounting</a> - Accounting paintings were a
|
||
significant genre in Dutch art.</p></li>
|
||
<li><p><a
|
||
href="https://archive.org/details/graphicmethodsfo00brinrich/page/336/mode/2up?view=theater&ui=embed&wrapper=false">Graphic
|
||
methods for presenting facts</a> - A way to optimize pricing using a
|
||
physical model made in plaster of Paris, from 1914.</p></li>
|
||
</ul>
|
||
<h2 id="humour">Humour</h2>
|
||
<p>Billing is not funny.</p>
|
||
<ul>
|
||
<li><a href="https://detax.framer.website">Detax</a> - A site mockup of
|
||
an tax avoidance product for small businesses.</li>
|
||
</ul>
|
||
<h2 id="contributing">Contributing</h2>
|
||
<p>Your contributions are always welcome! Please take a look at the <a
|
||
href=".github/contributing.md">contribution guidelines</a> first.</p>
|
||
<h2 id="footnotes">Footnotes</h2>
|
||
<p>The <a
|
||
href="https://github.com/kdeldycke/awesome-billing/blob/main/assets/awesome-billing-header.jpg">header
|
||
image</a> is based on a modified <a
|
||
href="https://unsplash.com/photos/u2zSzMTwIjQ">photo</a> by <a
|
||
href="https://unsplash.com/@redaquamedia">Denny Müller</a>.</p>
|
||
<!--lint disable no-undefined-references-->
|
||
<p><a name="intro-quote-def">[1]</a>: <a
|
||
href="https://www.amazon.com/dp/0062316095?_encoding=UTF8&psc=1&linkCode=ll1&tag=kevideld-20&linkId=71ccb002da0dbe49c502954960175b66&language=en_US&ref_=as_li_ss_tl"><em>Sapiens:
|
||
A Brief History of Humankind</em></a> (Harper, 2015). <a
|
||
href="#intro-quote-ref">[↑]</a></p>
|
||
<p><a href="https://github.com/kdeldycke/awesome-billing">billing.md
|
||
Github</a></p>
|