I am currently trying to analyze some data, and would rather have some statistical analyzes rather than trying to eye-ball patterns and differences. However, I am new to statistics and SPSS and therefore am unsure on which test should be used.
Basically, I have the averages of a trade area for 30 variables. These are already averaged out so basically I have the variable names in one column, followed by the variable averages of all trade area in 2001, then the averages in 2011 and 2016.
With this data I want to see how the trade areas have change -- in have they changed significantly or not over time. Which test would be best suited through SPSS?
Cheers
I'm not an expert in spss, but the problem requires looking at which areas are of significance. For this, statistically one needs to look at using the ANOVA or Analysis of Variance.
You may find this link useful.
I assume from your description that your data looks like this:
trade_area | 2001 | 2011 | 2016
-------------------------------
area1. | 30 | 40 | 45
area2. | 22 | 16 | 36
area3. | 44 | 45 | 36
...
If you can't aggregate all the trade areas (i.e. treat them all as a single entity), then you can, at most, say something like: in area 1, the values for 2016 and 2011 are more than the values in 2001, because 40 > 30 and 45 > 30. The reason why you can't say anymore than that is because it's hard to justify a trend with only 3 data points.
Otherwise, if you have reason to treat all the areas as one entity (maybe an aggregate area), you can conduct a two-sided t-test with the inputs: 2011 vs. 2001 and 2016 vs. 2001, and maybe 2016 vs. 2011 if you like. This will allow you to say something like: the average of all trade area values in 2011 is significantly (or not) different to the average of all trade area values in 2001.
Related
So I would greatly appreciate your help I'm having quite a struggle. What I need currently is listed below. To begin I have a data set with many individuals and information. There are a few columns that I'm interested in.
Table 1:
So each Individual is either labeled as Free, Arc 1, Arc 2 or Arc 3. Each individual also has a number of people associated with it and lastly a cost.
Individual | # of people | Cost | Type | Compliant with Costs?
A |3 |45 |Free |Yes/No?
B |2 |57 |Arc 2 |
Table 2:
I then have a table below that is broken out. Free can have 1 2 or 3 individuals and cost can be between 20 - 30 dollars for 1 30-40 for 2 and 40-50 for 3.
|Free |Arc 1 |Arc2 | Arc 3
# of people | Cost | Cost | Cost | Cost
1 |20-30 |30-40 | 60-70| 90-100
2 |30-40 |40-50 | 70-80| 100-110
3 |40-50 |60-70 | 80-90| 110-120
So i want to take the Individual column noted above and say if Individual A1 is in Free and has 3 individuals is their cost between 40-50 dollars, if so yes, if not no.
I know this will use some if formulas probably many, I tried Index(match()) and such too but couldn't figure it out if you could help that would be greatly appreciated.
Below is an example of a sample Excel file, it looks easy with just two individuals but there are hundreds so I'm hoping there is an easy formula. Again any help is greatly appreciated.
Excel Screenshot Link (Same as example above)
If you change your reference table as follows, you can use a sumifs easily to pull the min and the max and see if your cost is in between
# Type Min Max
1 Free 20 30
1 Arc 1 60 70
2 Free 30 40
I agree that the best way would be to restructure your reference table, but if you'd like to know how to get your answer as is, you can use a combination of =INDEX(MATCH(),MATCH()),=LEFT() and =MID() to get your answer, as in the following example:
The formula in E2 is:
=IF(AND(C2>= (LEFT(INDEX($I$1:$M$5,MATCH(B2,$I$1:$I$5,0),MATCH(D2,$I$1:$M$1,0)),FIND("-",INDEX($I$1:$M$5,MATCH(B2,$I$1:$I$5,0),MATCH(D2,$I$1:$M$1,0)))-1)*1), C2<=MID(INDEX($I$1:$M$5,MATCH(B2,$I$1:$I$5,0),MATCH(D2,$I$1:$M$1,0)),FIND("-",INDEX($I$1:$M$5,MATCH(B2,$I$1:$I$5,0),MATCH(D2,$I$1:$M$1,0)))+1,256)*1),"Yes","No")
I'm currently working on a capacity plan and forecasting for future growth. As we get larger and acquire more customers, we'll eventually stall out and our numbers will start to slow. I'd like to figure a way to add random numbers into my forecast, that'll show a "decrease"
Example:
2008: 20
2009: 32
2010: 45
2011: 49
2012: 52
2013: 60
2014: 72
2015: 88
2016: 102
2017: 113
2018: 142
2019: 130
2020: 127
etc, etc - hope this all makes sense.
Statistical software like R would me much more suited for this. Ideally, as a business, you will continue acquiring more customers at a steady rate, but the relative percentages of customer acquisitions will level off.
I will explain the Excel I made for you. For the years 2008-2017, we have data which you gave me. I use that data to calculate the 2-year moving average and 2-year moving standard deviation over and over again. These values are not all that useful, except for in the calculation of the random numbers we are looking for.
In 2018, we generate random numbers on a Gaussian distribution using the past-2-year moving average and past-2-year standard deviation. This generates completely random numbers, and generally come out to be somewhat interesting. These numbers are recalculated every time you edit a formula, which is neat (double click any cell, press enter, watch the numbers move). I also included a graph of the expected growth over time. It is a fun tool to play with, if I do say so myself. I included a screenshot here:
For those of you who like statistics, the function I used was =NORMINV(RAND(),mean,stddev). This creates a Gaussian distribution around some mean value and stddev. It is quite interesting, and has the nice effect of "leveling off" most of the time in calculations, which is perfect for this application.
The only problem is, I have no idea how to get this small file to you. Someone please comment back to let me know how so I can help this poor soul out.
I am fairly new to DAX / PowerPivot but have built a nifty Sales Dashboard which is working well. Once combined with the PowerUpdate utility and Office365 PowerBI we will have a awesome solution. I'm excited!
One final thing that I am struggling to get my head around, is how we handle changing targets/budgets when a Sales Rep is promoted, as we assign budget by Job Level.
Let's say we have Sales Rep A - Junior Sales Rep with a target/budget of 30K per Quarter and they they get promoted in Q2 to Mid-Level with a target/budget of 45K per Quarter.
In my current dashboard, as soon as the Job Title is changed, this changes historical budget to the new target which warps any historic performance.
We have too many Sales Reps to create a quarterly budget table rows entry for each Sales Rep and each Quarter which seems to be how all the examples out there handle it - i.e:
Sales Rep A | 2015 | Q1 | 30000
Sales Rep A | 2015 | Q2 | 45000
Sales Rep A | 2015 | Q3 | 45000
My initial thoughts were to add a new user to the User Table with the same name and a "Budget Valid To" date and calculating target based off those dates.
Sales Rep A | Junior Sales Rep | 30000 | 01/01/2015
Sales Rep A | Mid - Sales Rep | 45000 | 01/04/2015
I just can't get my head around how I would handle this in a DAX calculation and I can't help thinking that there must be a more elegant way of handling this anyway! I'm so close to delivering this it tingles.
Let me know if you need an example or more detail.
Cheers,
Ben
Not sure the granularity of your data (daily | weekly | monthly). But one idea that could work well is to divide the target by the granularity so you're effectively pro rating the target. Then you can use basic SUM functions at each quarter boundary to show accurate targets since the sum of the 'daily' targets would equal your hard coded targets. You'd need to be careful if your periods vary in number of days... dividing into months would make it uniform; but mid month promotions would still be hard. HTH.
I have to implement a set of formulas in Excel whose requirements seem to defy any logical or succinct way to do them with just formulas.
Short Description:
determine (and display) a timeline of a product's "effective" internal cost each day based on 1) the price paid for the product as a series of bulk purchases, and 2) the company's per-day consumption of the product using the price paid for each purchase, until the purchased amount is consumed and then moving on to the next purchase.
Simplified Details:
We have a sheet "PurchSums" with the product's bulk purchase history: (this is actually a pivot table)
| A | B | C | D |
1: Product Name Purch Date Rate Amount
...
23: Prod-Q 12/18/2012 $3.15 123.7
24: 1/24/2013 $3.05 748.2
25: 2/27/2013 $2.86 650.0
... ...
So initially, the internal price should be $3.15/pound until the first 123.7 pounds are used us, then it should switch to $3.05 and so on.
We have a sheet "Volumes" with consumption by day: (product consumption starts on March 1st)
| A | B | C | D |
1: Product Name 3/1/2013 3/2/2013 3/3/2013 ...
...
12: Prod-Q 87.2 77.1 101.5 ...
... ...
And I need to fill in formulas for the daily price sheet "Prices", which has the product's effective internal price for each day (filled-in by hand now):
| A | B | C | D |
1: Product Name 3/1/2013 3/2/2013 3/3/2013 ...
...
32: Prod-Q 3.15 3.15 3.05 ...
... ...
Note here that the price for "Prod-Q" changed to 3.05 on March 3rd. This is because its cumulative consumption reached 265.8 pounds (87.2 + 77.1 + 101.5) which exceeded the 12/18 purchase of 123.7 pounds and so switched from its price of 3.15 to the price of the next purchase from 1/24.
More Details:
The first sheet "PurchSums" is actually a pivot table, if that helps. Unfortunately, I don't think that it does, nor that GETPIVOTDATA(..) is going to be useful here (but I would be happy to be wrong). The information in it comes from another sheet "Purchases" which is just a list of all of the purchases:
| A | B | C | D |
1: Product Name Purch Date Rate Amount
...
11: Prod-Q 12/18/2012 $3.15 123.7
...
34: Prod-Q 1/24/2013 $3.05 748.2
...
67: Prod-Q 2/27/2013 $2.86 650.0
...
Additional:
First, I would like to do this as much as possible with Formulas in the existing cells/sheets. Plus I would like to minimize the number of additional sheets that have to be added to support this, as the workbook is already pretty substantial.
Secondly, yes I know that I could do this with VBA functions, and I will do that if there's no better way, but I would like to avoid that if possible because in my experience, populating the formulas of large sheets with massive VBA function calls can lead to some significant performance issues.
I would be grateful for any ideas on how to effectively approach this.
So what you are describing is a FIFO inventory accounting system. First In First Out. You might want to read up on it here:
http://en.wikipedia.org/wiki/FIFO_and_LIFO_accounting
and here:
http://accountingexplained.com/financial/inventories/fifo-method
Basically under FIFO you are making the assumption(whether right or wrong) that the first items that you are adding to your inventory are the first ones you are going to use up in your production. As opposed to LIFO which makes the assumption that the last items that you add to your inventory are the first ones that you are going to use up. That would only require a small change in my solution but let's focus on FIFO since that is your question.
So for every day that you operate you need to figure out how much of your inventory you used up and how much you paid for that inventory. So if you bought 20 items at 50 dollars and then another 20 items at 100 dollars the next day - and on the third day you used up 30 of the items in production, you used up (20 * $50 ) plus ( 10 * $100 ) = $2000 worth of inventory. 2000 / 30 = your effective cost of the product for the day(66.6666667). This effective cost is purely informational for the day - you probably wouldn't want to use it for any accounting - although you could with some rounding corrections - it would just be an indirect way to go about it.
So my solution uses a really ugly table. Basically for every day that you operate you need to figure out how much of your inventory you are using up and how much you paid for that inventory - and then divide it by the total amount used up in the day. Something like this should work for you:
=(IF(AND($E8>G$4,$E8>G$5),G$3,0)+IF(AND($E8>G$4,$E8<G$5),($E8-G$4),0))-SUM(G$7:G7)
=(IF(AND($E9>G$4,$E9>G$5),G$3,0)+IF(AND($E9>G$4,$E9<G$5),($E9-G$4),0))-SUM(G$7:G8)
=G8*$C8
=SUM(G13:G15)/G3
These formulas are all auto-fillable. And you could add on to this table as much space as you need(and probably improve it quite a bit). A small program in almost any language could accomplish this much easier and more intuitively than excel - but this works fine.
In practice, oftentimes nobody really knows which pieces of inventory are being used up and thus how much you paid for them. But the system persists nonetheless - usually the reason many accounting practices are done are the same as why the ancient peoples of the earth sacrificed animals - because that's how it's always been done - tradition and folklore. And for the most part it serves them quite well - routine sources of protein are healthy. I could think of some better ways to do it but - alas. Good Luck.
Assuming you know how to:
display product names on every row from the pivot table
extract lower- and upper-bound interval points from the Amount values from the pivot table
sum Volumes from all previous days from the correct row for each product
cover edge cases like volumes outside defined amount intervals
use Office 2007+ tables
use named ranges
...
For the first day, you want the maximum price = the first row for a given product name:
=INDEX(PurchSums[Rate], MATCH(this_row_product_name, PurchSums[Product Name], 0))
For every other day, you want to sum Volumes from all previous days and extract the rate from matching interval of Amounts for a given product name:
=SUMIFS(PurchSums[Rate],
PurchSums[Product Name], this_row_product_name,
PurchSums[Amount above], TEXT(sum_of_previous_volumes_for_product, "<=General"),
PurchSums[Amount up to], TEXT(sum_of_previous_volumes_for_product, ">General"))
Note that sum_of_previous_volumes_for_product > PurchSums[Amount above] and all the other conditions should be met in 1 row only, so we sum exactly 1 row.
Example:
For cell E16 the named ranges would be replaced / point to:
this_row_product_name = Prices[[#This Row],[Product Name]] = Prices[#Product Name] = $B16
sum_of_previous_volumes_for_product = =SUM(OFFSET(Volumes[[#Headers],[2013-03-01]:[2013-03-02]], MATCH(this_row_product_name, Volumes[Product Name], 0), 0)) = SUM($C12:D12)
So basically you want to summarize your "PurchSums" sheet and "Volumes" ones into one that combines the date fields??
If this is the case....
In your summary sheet make a row filled with the dates
Make a column for Purchase amount
Make a column for Volume amount
Under the Purchase amount use a match / index formula like this:
=index({Select the column C from "PurchSums"},match( {Select date from third sheet},{Select date column from "PurchSums"},0))
Similarly do the same thing for the Volume column.
Hope this gets you on your way if I am not far off on what you are trying to accomplish.
Forgive me if this is not the "the best" place to ask excel questions. I looked at the data analysis page and it looks like there aren't any real questions about excel in there.
I'm trying graph the sales of various products over a period of time. I'm pulling it from the database in the format
Sales Person | End of Month | Sales | Product Type
John Doe 1/31/2010 1,000 Widget A
John Doe 1/31/2010 2,000 Widget B
John Doe 1/31/2010 3,000 Widget C
John Doe 2/28/2010 5,000 Widget A
John Doe 2/28/2010 2,000 Widget B
John Doe 2/28/2010 3,000 Widget C
I then get a summary like:
Year | Month | Product | Total Sales
2010 Jan Widget A 1,000
Widget B 2,000
Widget C 3,000
Feb Widget A 5,000
Widget B 2,000
Widget C 3,000
The problem is that I'm wanting to graph The widgets as separate lines so that I can track sales against each other. Over time.
However, excel treats it all as one "total" and then shows 3 points on the graph for each month rather than showing 3 separate lines.
No matter how I manipulate it, I can't get it to make 3 separate lines.
The example above should show how it works with two products. I show how widget A and B are two points on the same line rather than belonging to two separate lines.
I have had success in the past for a different project when I hand entered information into a spreadsheet with the format of:
End of Month | Product A Sales | Product B Sales | Product C Sales
However, my current data is not in this format and it doesn't seem I can take the same approach...
Any help is welcome.
That is an excellent example for a pivot chart. Choose Insert->Pivot Table->Pivot Chart (Excel 2007). Afterwards select your original table. Then use "End of Month" for the rows, "Product Type" for the columns, and "Sum of Sales" for data. Excel will then automatically create one line per widget type (if line is not selected as default graph type you may have to change the chart type).
Based on your description, I think what you need might be a chart like this, the X-axis would be months while within each month, there would be several bars representing data of different widgets. Here I made an example based on your data.
As for data format, you should do some preprocessing to arrange your data into several (three in this case) subsets, each subset contains monthly sale data for a widget. It could look like the format below.
Jan Feb
WidgetA 1000 5000
WidgetB 2000 2000
WidgetC 3000 3000
As you could see, this is not an original Excel chart, I actually made this chart with the Funfun Excel add-in. This add-in allows you to use JavaScript directly in Excel so you could use powerful libraries like Chart.js or D3.js to make charts. Here in this example, I used Chart.js to create this chart.
Funfun also has an online editor which allows you to test your JavaScript code. For this example, you could check the details of the code on the link below.
https://www.funfun.io/1/edit/5a25653acf76561801b732b4
If you are satisfied with the result, you could easily load the result into your Excel using the URL above. Here are some screenshots of what it looks like.
Disclosure: I'm a developer of Funfun.
You can reorder the columns in the Pivot Table:
| Product | Month-Year | Total Sales
Widget A Jan 2010 1,000
Feb 2010 5,000
Widget B Jan 2010 2,000
Feb 2010 2,000
Widget C Jan 2010 3,000
Feb 2010 3,000
That would make it easier to create three series, one for each widget. Make the chart an X-Y chart and the series will line up.