You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.qmd
+34-64Lines changed: 34 additions & 64 deletions
Original file line number
Diff line number
Diff line change
@@ -21,47 +21,33 @@ library(tidyverse)
21
21
22
22
## A Business Intelligence Toolkit for Financial Planning & Analysis (FP&A)
23
23
24
-
`fpaR` is a collection of business intelligence tools designed to
25
-
simplify common **financial planning and analysis (FP&A)** tasks such as
26
-
time intelligence calculations, customer, vendor or product
27
-
segmentation, and factor/variance analysis
24
+
`fpaR` is a collection of business intelligence tools designed to simplify common **financial planning and analysis (FP&A)** tasks such as
25
+
time intelligence calculations, customer, vendor or product segmentation, and factor/variance analysis
28
26
29
-
The package is inspired by best practices from a collection of blogs,
30
-
books, industry research, and hands-on work experience, consolidating
31
-
frequently performed business analyses into a fast, efficient, and
32
-
reusable framework
27
+
The package is inspired by best practices from a collection of blogs, books, industry research, and hands-on work experience, consolidating frequently performed business analyses into a fast, efficient, and reusable framework
33
28
34
-
In particular, the time intelligence functions are heavily inspired by
35
-
[PowerBI DAX](https://www.sqlbi.com/) functions
29
+
In particular, the time intelligence functions are heavily inspired by [PowerBI DAX](https://www.sqlbi.com/) functions
36
30
37
31
Under the hood, these functions are built upon the great foundations of:
38
32
39
33
-[dbplyr](https://dbplyr.tidyverse.org/)\
40
34
-[duckdb](https://github.com/duckdb/duckdb-r)
41
35
-[lubridate](https://lubridate.tidyverse.org/)
42
36
43
-
`fpaR` is designed to seamlessly work with either tibbles or modern
44
-
databases (DuckDB, Snowflake, SQLite, etc) with a unified syntax
37
+
`fpaR` is designed to work with either tibbles or modern databases (DuckDB, Snowflake, SQLite, etc) with a unified syntax
45
38
46
-
Even if you are working with tibbles, most functions are optimized to
47
-
leverage [DuckDB](https://github.com/duckdb/duckdb-r) for superior speed
48
-
and performance.[^1]
39
+
Even if you are working with tibbles, most functions are optimized to leverage [DuckDB](https://github.com/duckdb/duckdb-r) for increased speed
40
+
and performance[^1]
49
41
50
-
[^1]: I plan to use [duckplyr](https://duckplyr.tidyverse.org/index.html)
51
-
once it expands support for lubricate functions
42
+
[^1]: I plan to use [duckplyr](https://duckplyr.tidyverse.org/index.html) once it expands support for lubricate functions
52
43
53
-
By default most `fpaR` function returns a lazy DBI object which you can
54
-
return as a tibble with `dplyr::collect()`
44
+
By default most `fpaR` function returns a lazy DBI object which you can return as a tibble with `dplyr::collect()`
55
45
56
46
## Key features & benefits
57
47
58
-
-**Unified syntax** regardless if your data is in a tibble or a
59
-
database
60
-
-**Scale** your data with
61
-
[duckdb](https://github.com/duckdb/duckdb-r) to optimize your
62
-
calculations
63
-
-**Instant clarity** as every function summarizes its transformation
64
-
actions so that you can understand and validate the results
48
+
-**Unified syntax** regardless if your data is in a tibble or a database
49
+
-**Scale** your data with [duckdb](https://github.com/duckdb/duckdb-r) to optimize your calculations
50
+
-**Instant clarity** as every function summarizes its transformation actions so that you can understand and validate the results
65
51
66
52
## Installation
67
53
@@ -80,45 +66,29 @@ pak::pak("usrbinr/fpaR")
80
66
81
67
## What is in fpaR?
82
68
69
+
> We recommend using the [Contoso](https://usrbinr.github.io/contoso/) package for any practice analysis. The contoso datasets are fictional business transaction of Contoso toy company which are helpful for business intelligence related analysis
70
+
83
71
There are 3 main categories of functions:
84
72
85
-
- Time intelligence
86
-
-Segmentation strategies
73
+
- Time intelligence realted functions (@tbl-ti-fn)
74
+
-Categorization strategies (@tbl-abc-fn)
87
75
- Factor analysis (work in progress)
88
76
89
77
90
-
### Datasets
91
-
92
-
> We recommend using the
93
-
[Contoso](https://usrbinr.github.io/contoso/) package for any practice
94
-
analysis. The contoso datasets are fictional business transaction of
95
-
Contoso toy company which are helpful for business intelligence
96
-
related analysis
97
-
98
-
99
-
100
78
### Time intelligence
101
79
102
-
`fpaR` provides readily available functions for most time intelligence
103
-
analysis such as **Year-over-Year**(`yoy()`), **Month-to-Date**(`mtd()`), and
104
-
**Current Year-to-Date over Previous Year-to-Date** (`ytdopy()`) analysis
80
+
`fpaR` provides readily available functions for most time intelligence analysis such as **Year-over-Year**(`yoy()`), **Month-to-Date**(`mtd()`), and **Current Year-to-Date over Previous Year-to-Date** (`ytdopy()`) analysis
105
81
106
-
These functions are designed to quickly answer most common time
107
-
intelligence related analysis in a consistent, fast and transparent way
82
+
These functions are designed to quickly answer most common time intelligence related analysis in a consistent, fast and transparent way
108
83
109
84
**Key benefits:**
110
85
111
-
-**Auto-fill missing dates**: Ensures no missing periods in your
112
-
datasets so that right period comparisons are performed
86
+
-**Auto-fill missing dates**: Ensures no missing periods in your datasets so that right period comparisons are performed
113
87
114
-
-**Flexible calendar options**: Handle comparisons based on a
115
-
**standard** or **5-5-4** fiscal calendar to accommodate different
116
-
reporting frameworks
88
+
-**Flexible calendar options**: Handle comparisons based on a**standard** or **5-5-4** fiscal calendar to accommodate different reporting frameworks
89
+
90
+
-**Full transparency**: Comparing periods with imbalaced dates? the time intelligence functions will alert you to the type and number of period imbalances to ensure you are aware of misleading likewise comparisons and prints out detials of each function's actions and methods to avoid confusion
117
91
118
-
-**Period imbalance indicator**: When comparing periods with dates
119
-
imbalance, the time intelligence functions will alert you to the
120
-
type and number of period imbalances to ensure you are aware of
121
-
misleading likewise comparisons
122
92
123
93
Below is the full list of time intelligence functions:
124
94
@@ -127,7 +97,7 @@ Below is the full list of time intelligence functions:
ABC classification is an business analysis technique that categorizes items (like products, customers, or suppliers) based on their relative contribution of a value. It facilities the Pareto Principle (the 80/20 rule), suggesting that a small percentage of items contribute to the largest percentage of the total value
162
+
ABC classification is an business analysis technique that categorizes items (like products, customers, or suppliers) based on their relative contribution of a value. It expands upon the the Pareto Principle (the 80/20 rule), allowing the user to determine which percentage of items or group members contribute to the largest percentage of the total value
192
163
193
-
The analysis will assign a letter category to each break point so that you can further focus your analysis
164
+
You assign the break points for the categorization and the function will label each category with a letter value
194
165
195
166
#### Cohort
196
167
197
-
Cohort analysis is a type of behavioral analytics that takes data from a given group of users (a cohort) and tracks their activity over time. A cohort is typically defined by a shared starting characteristic, most commonly the time period in which the entities first interacted with the product or service
168
+
Cohort analysis is a type of behavioral analytics that takes data from a given group of users (called a cohort) and tracks their activity over time. A cohort is typically defined by a shared starting characteristic, most commonly the time period in which the entities first interacted with the product or service
198
169
199
-
This allows you to understand retention, turnover and other attributes more clearly
170
+
This allows you to understand retention, turnover and other cohort attributes more clearly
200
171
201
172
```{r}
202
173
#| echo: false
203
174
#| warning: false
204
175
#| message: false
205
176
#| error: false
206
-
#| label: abc-fn
177
+
#| label: tbl-abc-fn
207
178
208
179
tibble::tribble(
209
180
~"Function", ~"Description", ~"Categorizes", ~"Time-Based", ~"Tracks Over Time",
@@ -229,17 +200,16 @@ tibble::tribble(
229
200
### **Factor / Variation Analysis**
230
201
231
202
Breaks down revenue or cost changes into **price, volume, and mix
0 commit comments